Skip to content

x402

Last updated View as MarkdownAgent setup

x402 ↗︎ is a payment standard built around HTTP 402 (Payment Required). Services return a 402 response with payment instructions, and clients pay programmatically without accounts, sessions, or API keys.

How it works

  1. A client requests a resource — GET /resource.
  2. The server returns 402 Payment Required with a PAYMENT-REQUIRED header containing Base64-encoded payment details: the price, accepted token, network, and merchant address.
  3. The client constructs a signed payment payload and retries the request with a PAYMENT-SIGNATURE header.
  4. The server verifies the payment payload — directly or by calling a facilitator — and settles the transaction on-chain.
  5. The server returns the resource with a PAYMENT-RESPONSE header containing settlement confirmation.

Key components

Client

The client is any entity that requests a paid resource: a human-operated app, an AI agent, or a programmatic service. Clients need only a crypto wallet — no accounts, credentials, or session tokens to manage.

Server

The server defines payment requirements in the 402 response, verifies incoming payment payloads, settles the transaction, and serves the resource. The x402 SDKs and a facilitator handle most of this automatically.

The facilitator

The facilitator is an optional but recommended third-party service that abstracts blockchain interaction. Rather than connecting to a node directly, the server delegates two operations:

  • POST /verify — Confirms the client's payment payload is valid before the server fulfills the request.
  • POST /settle — Submits the verified payment transaction to the blockchain.

The facilitator does not hold funds. It verifies and broadcasts the client's pre-signed transaction on behalf of the server. https://x402.org/facilitator is the public facilitator operated by Coinbase and is used in all Cloudflare examples. Multiple facilitators ↗︎ are available across different networks.

Payment schemes and networks

x402 uses payment schemes to define how a payment is constructed and settled on a given network.

Scheme Networks Description
exact ↗︎ EVM, Solana, Aptos, Stellar, Hedera, Sui Transfers a fixed token amount — typically ERC-20 ↗︎ USDC on EVM — to the merchant address.
upto ↗︎ EVM Authorizes a maximum amount; the actual charge is determined at settlement time based on resource consumption.

Supported networks include Base, Ethereum, Polygon, Optimism, Arbitrum, Avalanche, Solana, Aptos, Stellar, and Sui. Use base-sepolia for testing with free test USDC from the Circle Faucet ↗︎.

Charge for resources

HTTP content

Gate APIs, web pages, and files with a Worker proxy

Pay for resources

SDKs

Package Install Use
x402-hono npm install x402-hono Hono middleware for Worker servers
@x402/fetch npm install @x402/fetch Fetch wrapper with automatic payment handling
@x402/evm npm install @x402/evm EVM payment scheme support
agents/x402 Included in agents MCP client with x402 payment support

Was this helpful?