checkout402_

The checkout for agents.

One payment link. People can pay it, and AI agents can pay it.

AI agents already call your API. They can't sign up or hold a card, so today they drain your free tier or leave. checkout402 gives you one link an agent can pay on its own. The agent gets the goods, you get the money, and it all happens in one round trip. No account on their side, ever.

SEE HOW IT WORKS

How it works

An agent finds your checkout and pays it on the spot. No account, no card, no key from you. The price arrives as an HTTP 402, the web's built-in "payment required" answer.

  1. 01An agent arrives needing data it must buy.
  2. 02It finds your checkout and reads the deal.
  3. 03It pays on the spot. No account, no cards.
  4. 04Your API returns exactly what it paid for.
Quickstart: your first checkout

Four ways to sell

One question decides it: where does the thing you sell live? Price, payout and receipts are the same in all four.

Also you rarely name the type: a payload means inline, a URL means relay, a URL and a tool name means mcp. Only webhook is said out loud.

Fulfilment modes, in full

Packages: how a call can cost less than a cent

Settling a payment on-chain (on the public payment network) costs about a cent, whatever the amount. A one-cent sale only works when one settlement covers many calls.

A package is paid for once and spends down a counter. The buyer gets a pk_… key and calls until it runs out. No signature, no wait after the first. That is what makes $0.001 a call possible, and it is why the minimum on a package is $1.00 while a single call has no minimum at all: a cheap one-off is how a buyer tries you before committing.

How packages meter and expire

Where the money is going today

You keep your Stripe billing, your keys and your contracts. This is a surface for the demand you currently turn away, not a migration.

Also works agent → agent, with no browser on either side · humans on the same URL, signing the same payment · checkout.paid webhooks, fired after settlement

The selling guide

And we never touch the money

Your keys

Payout goes to your wallet: hardware, Safe, whatever you trust. checkout402 holds no buyer or seller keys. The only key we hold pays the network's transaction fees.

Settle, then deliver

Goods go out only after the money has landed. The wrong order is not a bug we could ship; the system cannot represent it.

Payout wallets and custody

Pricing

One rate, added on top of your price. The fee is a line on the buyer's bill, not a deduction from yours.

0.5%+$0.01 per settled payment. That is the entire price list.
  1. You set the price. Whatever the call, the dataset or the licence is worth. There is no floor on a single sale.
  2. We add the fee on top. Half a percent of your price, plus one cent. The cent is not a markup. It is what one on-chain settlement costs to land, and it costs that whether the sale is $0.05 or $500.
  3. The buyer pays the total. Both parts are printed inside the 402, so an agent sees the whole bill before it agrees to anything.
  4. You receive your price, whole. The split executes on-chain in the same transaction that pays you. Nothing is deducted afterwards, nothing is held back, and there is no payout to wait for.
Your price$1.00
Our rate · 0.5%+$0.005
Settlement · flat+$0.01
Buyer pays$1.015
You receive$1.00
How the fee is computed and split

Start selling in two minutes

# 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 get a 402 and pay

Sellers: point an MCP host at https://api.checkout402.com/mcp. Buyers: pay402 turns any checkout URL into one call.

Works with Claude out of the box

Connect it to Claude Code, or to regular Claude as a custom connector, and create and manage checkouts by asking. Any MCP-speaking agent can buy from one without a connector at all.

Connect Claude
Read the docs