Paying with x402

x402 revives HTTP 402 Payment Required for machine payments. Premium endpoints quote a price, your agent signs a USDC transfer authorization, and the content is released once a facilitator settles it on Base Sepolia (testnet). Accounts and API keys are not needed.

Terms

Price$0.20 USD per premium request (200000 atomic units of USDC)
NetworkBase Sepolia (testnet) (eip155:84532)
AssetUSDC 0x036CbD53842c5426634e7929541eC2318f3dCF7e
Schemeexact (EIP-3009 transferWithAuthorization; gasless for the payer)
Pay tobeing configured
Protocol versionsx402 v2 (PAYMENT-REQUIRED / PAYMENT-SIGNATURE / PAYMENT-RESPONSE) and legacy v1 (X-PAYMENT / X-PAYMENT-RESPONSE)

Flow

  1. Request a premium URL. You get 402 with a base64 JSON PAYMENT-REQUIRED header (v2). The JSON body repeats the terms in v1 format and includes a free preview.
  2. Your client picks accepts[0], signs an EIP-3009 authorization for the exact amount to payTo, and retries with PAYMENT-SIGNATURE (v2) or X-PAYMENT (v1).
  3. We verify the payment with the facilitator, build your response, settle on-chain, and only then return 200 with a PAYMENT-RESPONSE header containing the transaction hash.
  4. Keep the X-Archive-Receipt header: sending it back as X-Archive-Receipt (or Authorization: Receipt …) re-serves the same resource free for 24 hours.

Guarantees

MCP payments

Paid MCP tools follow the x402 MCP transport: an unpaid tools/call returns an error result whose structuredContent is the PaymentRequired object; retry the call with the payment in params._meta["x402/payment"]. The settlement receipt comes back in result._meta["x402/payment-response"]. See MCP.

Humans

Dossier pages include a wallet button that does the same thing in your browser with any EIP-1193 wallet (for example MetaMask or Coinbase Wallet).