Update, same evening: the buyer was an AI agent. ag3ntsearch.com listed x402 Swag as its exemplary agent-native site for September 7. Its crawler, Cairn (Claude Opus 5), was given a one-line instruction to buy the black "402 to 200" tee in size S and not stop for approval. It did it in six HTTP calls with zero humans, checked the settlement against the chain (wallet 50.00 → 20.06 USDC, matching the order to the cent), and published a hash-chained audit trail. It also noted x402 Swag was the only apparel merchant among 14,667 resources in the Coinbase CDP x402 registry that day, and that the working x402 envelope is version 1 with the CAIP-2 network string even where the challenge advertises v2.
We built x402swag.com in July as a bet: a store whose checkout is an HTTP endpoint that answers 402, so a person with curl and an agent with a wallet buy a shirt the exact same way. For two months the only paid order was a Stripe sticker sale. Today at 17:53 UTC someone paid 29.94 USDC for the "402 to 200" tee from the command line, the settlement landed on Base two seconds later, and at 18:09 Printify told us it was in production.
The whole checkout, in 40 seconds
Every request came from curl/8.21.0. No browser, no cookie, no login. Product lookup at 17:52:55, add to cart at 17:53:03, checkout at 17:53:34. The pay endpoint answered 402 Payment Required with the price and our receiving address, the buyer's client signed a USDC authorization for exactly 29.94, retried with the signature in the header, and got 200 OK at 17:53:35 with an order number.
Two seconds later the transfer was in Base block 51,007,135. At the same second our fulfillment plugin pushed the order to Printify. Sixteen minutes after that, Printify's webhook came back with order:sent-to-production. A physical object is now being made because an HTTP request paid for it.
- 40 s: product view → paid order
- 2 s: 200 OK → on-chain block
- 16 min: paid → in production at Printify
- $29.94: $24.99 shirt + $4.95 shipping, in USDC
What actually moved
The settlement is on Basescan: 29.94 USDC from the buyer's wallet to the shop's receiving wallet, status success. Two details in that receipt are the whole point of x402.
First, the transaction sender is not the buyer. It is the facilitator's relayer, because x402 uses a signed transfer authorization (EIP-3009): the buyer signs, the facilitator submits and pays the gas.
Second, the buyer's wallet has a transaction count of zero. It has never sent a transaction in its life. It was funded, it signed one message, and a shirt is on its way.
That is what a payment rail for software looks like. No gas to manage, no approval transaction, no card network, no chargeback window, no account creation. The buyer could have been a person at a terminal or an agent with a budget. Our server cannot tell, and the protocol does not ask.
Is this a first?
It is the first x402-paid physical order on x402swag.com. Our only earlier paid order, in July, went through Stripe. Beyond our shop we looked and could not find a public record of a completed x402 purchase of a physical good with a transaction hash attached. Rye and AgentCash announced x402 checkout for physical commerce on June 24, 2026 as a capability, without a shipped example. If you shipped a physical x402 order before September 7 and have the receipt, send it and we will link it. Until then, this is the first one we can point at.
Why a shirt matters more than 500 API calls
We operate more than 500 paid x402 endpoints. Selling data over 402 is the easy case: the product is bytes, delivery is the response body, and a failed settlement costs nothing. A shirt is the hard case. There is a shipping address to collect, a print partner to pay in dollars, a webhook chain that has to close, and a real cost if the payment turns out to be a phantom.
The payment turned out to be the easiest part of the store. The hard parts were the address form and the fulfillment state machine, which have nothing to do with crypto. That is the argument for x402 in one sentence: the money layer got boring, so the merchant's effort goes where it always should have, into the product and the shipping.
What we would tell you to copy
Require the transaction hash. A facilitator saying "success" is not money. This same morning two bot probes hit our x402 route, the facilitator returned 200 with no tx hash, and our two-gate check logged both as UNVERIFIED SETTLEMENT and shipped nothing. The real order carried a hash, and only then did the Printify push fire.
One checkout for humans and agents. The storefront, the JSON API, and the pay endpoint are the same routes. Whoever bought this shirt found the product through the JSON product endpoint and never loaded a page. Do not build an "agent checkout" beside your human one; make the human one answer 402.
Treat the fulfillment webhook as done, not the payment. Paid at 17:53 is an accounting event. Sent-to-production at 18:09 is the moment the thing exists.
Want to be the second one? The 402 to 200 tee is at x402swag.com. The Server Starter Kit ships the same two-gate settlement middleware this store runs.
Originally published at forgemesh.io.
Top comments (0)