x402 Overview
How the x402 payment protocol works with Dial.
x402 Payments
Dial uses the x402 protocol — an open standard that activates HTTP 402 "Payment Required" for machine-native crypto payments. Every paid Dial endpoint follows this flow.
Why x402?
- No accounts — Your wallet is your identity
- No API keys — Payment is the authorization
- No KYC — Permissionless access
- Instant settlement — ~1 second on Base
- Gasless — The facilitator sponsors gas fees
- Irreversible — Push payments, no chargebacks
Supported Configuration
| Setting | Value |
|---|---|
| Protocol | x402 v2 |
| Scheme | exact (exact amount) |
| Network | Base mainnet (eip155:8453) |
| Token | USDC (0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913) |
| Transfer Method | EIP-3009 transferWithAuthorization |
| Facilitator | OpenX402 |
| Timeout | 300 seconds |
Payment Headers (v2)
| Header | Direction | Content |
|---|---|---|
Payment-Required | Server → Client | Base64-encoded payment requirements |
Payment-Signature | Client → Server | Base64-encoded signed payment |
Payment-Response | Server → Client | Base64-encoded settlement receipt |
How Agents Pay
- Agent requests a resource — standard HTTP POST/GET
- Server returns 402 with
Payment-Requiredheader containing price, network, payTo address - Agent selects payment option from the
acceptsarray - Agent signs EIP-3009 authorization —
transferWithAuthorizationtyped data - Agent resubmits the same request with
Payment-Signatureheader - Facilitator verifies the signature, checks balance, validates parameters
- Server returns the resource with
Payment-Responsesettlement receipt - Facilitator settles on-chain — USDC moves directly from agent wallet to Dial
The agent never sends a transaction. It only signs an authorization. The facilitator executes the on-chain transfer. Funds move directly payer → recipient.