Payments
x402 — Pay-per-request for agents
Resurrecting HTTP 402 for the agent economy.
HTTP 402 has been reserved for 'future use' since 1999. The x402 standard finally claims it: when an agent hits a paid endpoint, you return 402 with a Payment-Required header describing the price, asset, and recipient. The agent settles payment (USDC on Base, Stripe, or Lightning via L402) and retries.
Why now
- Agents make billions of small requests — subscriptions don't fit.
- Stablecoin rails settle in seconds for fractions of a cent.
- It works without accounts, API keys, or OAuth flows.
The challenge header
HTTP/1.1 402 Payment Required
Payment-Required: eyJ4NDAyVmVyc2lvbiI6Mi... (base64 JSON)
{
"x402Version": 2,
"accepts": [{
"scheme": "exact",
"network": "base",
"asset": "USDC",
"amount": "0.01",
"payTo": "0xYourWallet",
"facilitator": "coinbase"
}],
"resource": "/api/premium"
}Discovery: /.well-known/x402.json
Publish a static manifest so agents can find your paid endpoints before hitting them. This also makes you discoverable in the Bazaar registry.
x402 is still early — but shipping it now puts you in a tiny club of agent-payable services.