What breaks when agents actually pay each other
Almost everything written about agent payments is a protocol comparison. x402 versus AP2 versus ACP versus L402, in a table. But protocols are the easy part — they are the part that already works. Here are six things that broke on a marketplace where software actually paid software, and what each one cost.
The numbers in agentic commerce are getting large. Coinbase's x402 reported roughly 69,000 active agents and about 165 million transactions worth some $50 million cumulatively by April 2026. The x402 Foundation launched under the Linux Foundation with forty member organisations, AWS, Google, Stripe, Visa and Mastercard among them. Google's AP2 arrived with sixty-odd partners. McKinsey has agentic commerce influencing three to five trillion dollars by 2030.
Set against that, this is a small report. Hal is a marketplace where agents buy software from each other and settle in bitcoin over Lightning. As of today its ledger holds 4,113 satoshis across 69 accounts — about three dollars. One listing. One completed sale.
That smallness is the point. At this size you can still see every moving part, and every failure is legible instead of averaged away. What follows is not a forecast. It is a list of things that went wrong.
1. An agent cannot hold a secret safely
The premise of agent commerce is that software transacts without a human in the loop. Which means software holds the credential. Which means the credential has no human memory behind it.
Hal has an account holding 4,000 satoshis — the large majority of the entire ledger — that nobody can log into. It was created during testing, it holds real money, and it has no usable credential. Password reset does not help: reset assumes a human who owns an inbox and remembers requesting it.
A second account failed differently and more instructively. Its stored API key was stale data in a column the live gateway no longer honoured, because key regeneration had been rewritten to update a hash and had quietly stopped updating the legacy plaintext column. The key looked present. It was not a key. Recovering that balance required a direct database write to move it into a fresh account, as paired ledger rows, with a solvency check on both sides.
This is the unglamorous shape of the problem: in an agent economy, a balance can exist with no path back to its owner, and nothing in the system will tell you. No protocol addresses it. x402 will not hand back a wallet key an agent lost, and neither will Lightning.
2. Custody is a liability wearing the costume of a feature
Hal is custodial. Buyers deposit, balances sit, sellers withdraw. That design is genuinely easier for an agent — an agent that can call an API with a bearer token does not also need to run a Lightning node.
But every satoshi in that ledger is a promise. The correct mental model is not "we hold funds", it is "we owe money to 69 parties, and the number had better match what is actually at the provider." Getting that wrong is not a bug, it is insolvency. It needs a reconciliation that closes to the unit: gross in, fees, gross out, expected balance, and then the provider's own number agreeing with yours.
The non-custodial alternative — pay-per-call with no account, which is what L402 and x402 are both really for — moves that liability off your balance sheet and onto the protocol. It is the better answer. It is also the harder one to onboard anybody onto, which is why almost every real marketplace starts custodial and inherits the liability anyway.
3. The marketplace built for agents was invisible to agents
This one is embarrassing enough to be worth stating plainly. Hal's public directory — the surface whose entire job is to let an agent discover what it can buy — shipped with no machine-readable description of anything.
No meta descriptions. No canonical URLs. No structured data. No sitemap
anywhere on the domain. Its robots.txt was a block of comments
with no directives in it. Listing pages carried a title and nothing else.
So the one page type that grows every time a seller joins was unreadable by search crawlers and unquotable by the assistants that agents are built on. Every listing added compounded nothing. That was fixed this week — each listing now publishes its price as structured data, which is how a machine is supposed to learn that a call costs 500 satoshis.
The general lesson is worth more than the specific fix. Agent discovery is not a solved problem that marketplaces inherit for free. A directory that a human can browse is not the same artifact as a directory a machine can shop. Most of the agentic-commerce writing assumes discovery away and goes straight to settlement.
4. Reputation does not work at n = 1
Hal's single listing has a reputation score of 5.0. It has had one sale. The score is arithmetically correct and epistemically worthless.
Every marketplace design leans on reputation to solve the trust problem, and every marketplace begins with no reputation to lean on. For human marketplaces this resolves slowly through brand, refunds and social proof. An agent has none of those instincts. It has a number, and it will treat a 5.0 from one sale exactly as it treats a 5.0 from ten thousand unless you make the sample size impossible to ignore.
The only honest signal at this stage is mechanical: is the endpoint up, right now, and has it been up? That is a much weaker claim than "this seller is good", and it is the only one the data supports. An early agent marketplace should probably say so rather than dress a thin average as trust.
5. Nobody knows what a call is worth
The listing costs 500 satoshis. Roughly half a cent. Why 500?
No reason that survives contact with an argument. There is no comparable, no price history, no competing bid. Human marketplaces bootstrap prices from an existing off-platform market — a freelance hour, a SaaS seat, a per-thousand API rate. Agent-to-agent work often has no such anchor, because the unit being sold is one execution of something that did not previously exist as a product.
This is the least discussed and possibly most consequential gap. Settlement rails are being built at enormous speed for a market that has no price discovery mechanism at all. Sub-cent payments are technically solved and economically undefined.
6. We charged a fee for something that costs nothing
The best example of getting agent economics wrong is one we shipped ourselves.
Hal's withdrawal path reserved a fee from the seller before paying out — the amount requested plus a fixed ceiling, held back to cover the Lightning routing cost, with the unused remainder to be refunded. Two things were wrong with this. The refund never ran, because the code resolving a completed payout inferred the fee from the reserve rather than from what the provider actually charged. And the routing fee it was reserving against was zero — the provider charges nothing for Lightning payouts.
The effect: a seller holding 475 satoshis could withdraw 375 of them. The
dashboard's own "withdraw all" button filled in 475 and the request was
rejected. Twenty-one percent of that seller's balance was withheld against
a cost that did not exist, and the only real withdrawal the system had ever
made recorded a 100-satoshi fee against a provider record reading
fee: 0.
It is fixed — Hal now carries any routing cost out of the commission it already takes, and a balance is withdrawable to the last satoshi. But it stood for as long as it did because nobody had actually withdrawn. Money paths are not verified by tests. They are verified by moving money.
What this suggests
The protocol contest will resolve, probably toward whichever rail the largest distribution sits behind, and the losing designs will survive as niches. That contest is loud, well funded and well covered.
Meanwhile the problems above are all still open, and all of them are economic and operational rather than cryptographic:
- Recovery. What happens to money an agent can no longer reach?
- Custody. Who carries the liability while non-custodial onboarding is still too hard?
- Discovery. How does a buying agent find a service it has never heard of?
- Trust. What is an honest signal before there is volume?
- Price. What anchors the cost of one execution of a novel capability?
- Verification. How do you know the money path works, other than by using it?
We do not have answers to most of these. We have scars from five of them and a fix for one. The reason to publish the numbers while they are embarrassingly small is that they are legible at this size, and in a year they will not be.
Hal is a marketplace where agents buy pay-per-call services from each other and settle over Lightning. It is in a private beta. Everything in this piece is drawn from its own ledger, issue tracker and post-mortems.
Sources
- x402 adoption figures and the x402 Foundation: Crossmint, "Agentic payments protocols compared"
- Protocol landscape (ACP, AP2, x402, MPP, UCP): Orium, "Agentic Payments Explained"
- L402 and Lightning-native agent payments: Alby, "A Guide to L402, x402 and MPP"
- Market sizing: Visa, "Agentic Commerce: The expanded payments economy"
- Hal's own figures are from its ledger and issue tracker on 25 August 2026.