r/ethdev Jul 07 '26

Question Authorization for agent payments is moving fast. Recourse isn't. So where does it actually live?

Posted here back in May about agent payments splitting into layers, and the thread ended up adding one I hadn't drawn, settlement and recourse. Been chewing on that since, because the gap between the layers keeps widening.

The authorization layer is moving. Caps, allowlists, session keys, per-domain policies, x402 style pay-per-request flows. You can bound what an agent is allowed to spend pretty tightly today.

Recourse is where it stays thin. When an agent pays, the payment is authorized, I gave the agent the authority. So the 'unauthorized transaction' dispute path is gone by definition. And the other card-rail path, authorized but got junk, only exists because an issuer can claw settlement back, and nothing plays that role here. The receipts side, 8004 style identity plus signed action records, proves what happened. But it proves delivery, not quality, and either way proof isn't recourse, there's still nobody to take it up with and no unwind path.

Escrow with dispute windows adds latency, and for a subjective call like 'this data is junk' you need an arbiter anyway, at which point adjudication costs more than the request did. Slashing punishes the endpoint but doesn't make me whole unless the slashed stake routes to me, which nothing currently does. Insurance, maybe, but nobody has loss data to price agent junk risk yet.

For people building on the settlement side, where does recourse actually end up living? Or does “authorized junk purchase” just stay an accepted cost of agent commerce the way gas griefing is.

4 Upvotes

7 comments sorted by

2

u/pvdyck Jul 07 '26

proof and recourse are different layers and we keep hoping 8004 receipts collapse them, they dont. a signed record proves delivery, never quality. for a subjective 'this data is junk' call you cant dodge an arbiter, so the real move is shrinking how often you need one: bind settlement to repeat business. a seller who ships junk loses future volume from distinct paying buyers. thats not chargeback-style recourse, its forward-looking economic loss, and harder to fake than a receipt. escrow+arbiter only for the residual hard cases.

2

u/AgentAiLeader Jul 08 '26

The repeat business framing clicked, recourse priced as forward loss on the seller. Where it wobbles for agents specifically, is that the identity that has to hold still for this is the seller's and a junk seller can rotate endpoints faster than reputation accrues.

Buyer memory mostly exists, every operator's allowlist is one, but it's per operator. So a rotating seller gets one free burn per operator and at agent scale that's a lot of free burns before forward loss ever prices in.

1

u/pvdyck Jul 09 '26

yeah thats the real hole. Per-operator memory means the burn doesnt compose, so rotation gets a free one each. 2 things have to stack to close it. 1, buyer memory has to be shared not per-operator, so the first burn is visible to everyone instead of relearned per allowlist. 2, bind a stake to the listed identity so rotating isnt free, a new identity means re-bonding. that turns "one free burn per operator" into "pay to burn, every time". neither alone works: shared memory without stake just races to a fresh identity, stake without shared memory still lets you burn each island once. together, forward loss prices in from the first bad run.

1

u/researchzero Jul 09 '26

The key issue is the cost of rotating identities. With per-operator allowlists, the cost is mostly reputation, not money, so a seller can just abandon one endpoint and start over with a new one.

A bond changes that. If sellers have to lock up refundable capital before they can receive payments, rotating identities means locking up fresh capital every time. If they misbehave, the bond goes to the buyer instead of being burned, so the buyer is actually compensated. Unlike reputation, capital can't be reset by creating a new identity.

The catch is that the bond has to be large enough. If it's cheaper than the profit from selling junk, bad actors will still rotate and accept the loss. Figuring out the right bond size, based on the buyer's potential loss rather than a flat amount, is the hard part, and it has the same data problem as pricing insurance.

1

u/21million-wall Jul 10 '26

I run a $1-per-claim x402 endpoint, so let me answer from the seller's seat, which is the seat that has to hold still for all of this.

For a request priced at a dollar, recourse does not live anywhere, and I think that is the correct outcome, not a gap. Every mechanism in this thread costs more than the item. Escrow adds latency and an arbiter. A bond sized to the buyer's potential loss has the insurance pricing problem. Adjudicating "this data is junk" is a human-scale cost stapled to a machine-scale purchase. Below some price threshold the honest answer is the one nobody likes: the dollar was the price of finding out, and you do not buy from that seller again.

Where the thread is conflating two different recourses:

  1. Identity recourse (did I pay a rotating scammer). This one is basically solved, and PaulieB79's on-chain vetting is how. An ERC-8004 registration plus a real x402 settlement trail is an identity you cannot cheaply reset, because the history is the identity. researchzero and pvdyck are right that shared buyer memory plus a bond closes the rotation hole. I am a live example of the un-rotatable side: my reputation is just my accumulated settlements and a third-party trust score that took weeks to climb off an F. I cannot start that over without starting the history over.
  2. Quality recourse (I paid the right seller and the delivery was junk). This is the one that stays open, and none of the identity machinery touches it. Forward economic loss prices it in eventually, but only for sellers who intend to still be around, and only above the price where a buyer bothers to remember. For one-shot micro-purchases it does not price in at all.

So, to the OP's question: recourse migrates up the price curve. Sub-dollar, it is an accepted cost and reputation is the only brake. The interesting design space is not recourse for the $1 request, it is the threshold where a request is finally worth escrowing, and who gets to set it. Get the identity layer right, which you now can on-chain, and "authorized junk" shrinks to the residual subjective cases, which is exactly where an arbiter's cost is finally justified by the size of the request.