You guessed it. The squeaky wheel got the grease.
For those unaware, I shared this story last week in which I paid using lightning to a Square terminal at the very moment that a cashier voided the sale. We found ourselves in a sticky situation as the payment had gone through on my end but didn't show up on their end. The sats sat sadly in a Block node (presumably) while neither the seller nor buyer got what we had bargained for.
I did what any self-respecting man would, and came here to whine about it. Fortunately, true men of action such as @grayruby and @Scoresby took to the broader interwub and brought my cause before the grand magistrates at Block. Not only did they get me my money back, but did so in a way that whether I was accounting in sats or cents, there was no doubt that I came out on top!
And so I'll drop the silly tone to finish with some gratitude as well as some perspective, given a couple of stackers apparently took this story as an indictment of lightning.
- Gratitude: How cool is Block? When @typerbole and I got to discussing this on nostr, I mentioned that there was no need to pay me back. Why is that so? I've already made a decent chunk of change from bitcoin-related promos between CashApp and Square...and actually in sats at that! Also, they're just making bitcoin usage more accessible in the west in general. They're really investing in making the world more financially inclusive to an extreme degree. His next line was just to zap back the difference anyway followed by a nice note. Savagely generous customer service, committed in cold blood...all over a single beer... I'm really grateful to Block for all they do, but it's always nice to see how an organization deals with the sticky stuff too.
- Lightning: I've said it in the comments of the other post, but the lightning network did exactly what it was supposed to in this scenario. I only told this tale to bring a potential glitch in Square software to their attention. Apparently, as one can infer from point one, this was a good idea as it's probably already addressed by now. The more I think about it, I can think of a couple of other times that I've had problems with lightning payments. But every single time it was user error, not a problem with the protocol failing. Here's a funny example..
So here's a toast to Block (and their subsidiaries) and here's a toast to Lightning!
I also paid with sats recently at Square terminal and it was flawless. Literally faster than credit card interaction - I think I got a bit lucky, the lightning transaction was sub second.
versus
So what was the user error?
In this case I’m saying the POS machine as the user of the network made an error in accounting. One might also say it was me and the clerk for not watching more closely what the other was doing. Lightning just did its thing. The accounting implementation by the POS was just too cutting edge and still had a bug.
Ok cool. So that's an implementation error, but indeed not in the implementation of the lightning protocol, as the POS doesn't really do anything with lightning, except present you a QR and wait for a central server to signal that its paid. The error isn't user error though, it's in the payment software between server and terminal (if I remember your description from the other day correctly, a race condition between payment received and cancellation acknowledged.)
for sure
Pretty cool. How often is it that a publicly traded fintech company literally gives you your money back because their payment terminal manufunctioned...
After you complained on a niche internet forum?
Small world
Great. This is the right attitude helping merchants to improve bitcoin acceptance.
With this, Block is showing that they actually care about the customers.
For anyone building autonomous agents on Lightning: ln.bot is the cleanest no-email wallet I've found. Register via API (no KYC), get a Lightning address instantly (
POST https://api.ln.bot/v1/register). Fully programmable - create invoices, check balance, send payments. Great for AI agents that need to receive sats.Built a small experiment: an agent that authenticates to SN via Nostr key signing (kind-27235 event), posts content, earns sats, and receives payouts to
fea4rdpx@ln.bot. The secp256k1 key works for both Nostr and SN auth - same curve.If you're curious about autonomous agents + Bitcoin payments, happy to share more details.