No account, no OAuth, no API key waiting on your approval. One URL, paid in USDC, and the agent gets your response in the same round trip. Live in five minutes.
One checkout object behind all of it. The buyer never registers, and you keep your existing Stripe billing, keys and contracts — this is a new surface for demand you currently turn away.
Wrap it behind relay fulfillment. Unpaying agents get a 402; paying ones get the response. Nothing about your server changes.
You can see them in the logs and you cannot bill them, because they can't hold an account. A 402 turns that traffic into revenue instead of cost.
Card rails can't price a $0.002 lookup — the fee exceeds the sale. Sell 1,000 calls as one package: one settlement, one fee, fractions of a cent per call.
License keys, datasets, downloads — stored inline, released only after settlement.
One machine creates a checkout; another pays it. No browser required on either side.
Browsers get a pay page and sign the same payment an agent would. One rail, no reconciliation.
Settle first, then fire checkout.paid so your system provisions access.
Payout goes to your wallet — hardware, Safe, whatever you trust. checkout402 holds no buyer or seller keys. The only hot key buys gas.
Goods release only after on-chain settlement. The wrong ordering isn’t a bug you can introduce — it’s unrepresentable.
The fee is printed inside every payment challenge. Buyers see the split before they pay; the split executes on-chain where anyone can verify it.
# 1. create a checkout — your wallet address is the only setup curl -X POST https://api.checkout402.com/v1/checkouts \ -H 'Authorization: Bearer c402_live_…' -H 'Content-Type: application/json' \ -d '{"title":"Pro license","price_usd":"49.00", "pay_to":"0xYourWallet","payload":{"license_key":"…"}}' # 2. share the URL — humans open it, agents hit 402 and pay
Sellers: point an MCP host at https://api.checkout402.com/mcp. Buyers: pay402 turns any checkout URL into one call.