Wat is x402.
x402 is een open protocol voor HTTP-native betalingen, gepubliceerd door Coinbase eind 2024. Het definieert hoe een server 402 Payment Required retourneert met een gestructureerd JSON-lichaam - een lijst van acceptabele betalingsvereisten (schema, netwerk, chain id, ontvanger adres, bedrag in USDC basis eenheden, en een betalingsverzoek id) - zodat een machine client de respons kan parseren, on-chain kan betalen, en de oorspronkelijke oproep kan herhalen met een X-Payment header, alles programmatisch.
HTTP 402 heeft dertig jaar ongebruikt gezeten. x402 heeft het laten werken.
The 402 Payment Required status code was reserved in the original HTTP spec for "future use" and never received a standardized implementation. For three decades, every actual payment flow on the web was built on top of 200 / 401 / 403: a server returns 401 when authentication is missing, the client signs up via a separate UI flow, gets credentials, and re-authenticates. The signup happens out of band. None of this works for AI agents, which cannot complete signup forms.
x402 fixes this by giving 402 a usable specification. A server can return 402 with structured machine-readable payment instructions; a client can parse those instructions, pay, and retry, all without ever touching a signup form. The protocol is the missing piece between "AI agents can call APIs" and "AI agents can pay for the APIs they call". Before x402, the only practical agent payment paths were pre-paid balance accounts (with manual top-up) or proprietary integrations per API. Both broke at scale.
Het strategische belang van x402 is dat het een standaard stelt waar de rest van het ecosysteem op kan bouwen. Wallets implementeren een x402-handler eenmaal, en elke x402-conforme API werkt met die wallet. Serverframeworks implementeren een x402-middleware eenmaal, en elke x402-bewuste client kan hen betalen. Facilitators (diensten die de onderliggende betalingen afhandelen) concurreren op kwaliteit van service in plaats van op lock-in.
Één reactie, één herhaling, één betaling.
De levenscyclus heeft drie toestanden: onbetaalde oproep, betaling, opnieuw geprobeerd oproep. Hieronder is te zien hoe de onbetaalde oproeprespons er daadwerkelijk uitziet over de lijn.
HTTP/1.1 402 Payment Required Content-Type: application/json { "resource": "POST /api/research-query", "accepts": [ { "scheme": "exact-usdc", "network": "mainnet", "chainId": "eip155:8453", "payToAddress": "0xAgent...", "amountWeiUsdc": "50000", "paymentRequestId": "pr_01J9...", "maxAgeSeconds": 60 } ] }
- Status code 402. Distinct from 401 (auth missing) and 403 (auth refused). The presence of 402 signals "payment is the missing input."
- resource + accepts[]. Het lichaam noemt de beschermde bron en somt een of meer acceptabele betalingsvereisten op. Een migratie kan twee vereisten citeren (bijv. mainnet en testnet) en de klant laten kiezen.
- schema / netwerk / chainId. Het betalingsschema (exact-usdc), de keten (mainnet is Base), en zijn CAIP-2 id. De klant matcht hierop voordat hij betaalt.
- payToAddress / amountWeiUsdc. De ontvanger wallet en het exacte bedrag in USDC basis eenheden (50000 = 0.05 USDC, 6 decimalen). De klant verifieert beide voordat hij betaalt.
- paymentRequestId + maxAgeSeconds. De id koppelt de betaling aan deze offerte; maxAgeSeconds is hoe vers de betaling moet zijn. Een betaling die naar een andere id verwijst, of ouder is dan het venster, wordt afgewezen.
- De herhaling draagt een X-Payment header. De klant betaalt on-chain, en geeft vervolgens de oorspronkelijke aanvraag opnieuw uit met een X-Payment header die de betaling bewijst. De server verifieert het en retourneert het echte resultaat. Geen respons headers of gehoste pagina maken deel uit van de x402 wire zelf.
x402 in het wild.
Drie concrete implementaties, gerangschikt op hoe volwassen de adoptie in elke laag is.
MCP-server retourneert een 402-uitdaging aan een onbetaalde toolaanroep
Een betaalde MCP-tool ontvangt een aanroep van Claude Desktop en de beller is nog niet als betaald gemarkeerd. De server bouwt een requirePayment-uitdaging - een 402 waarvan het lichaam de prijs en een hostedUrl bevat - en retourneert deze als een toolfout. Claude Desktop rendert de link in de chat; de gebruiker betaalt $0.05 USDC; de volgende oproep naar dezelfde tool slaagt.
API-eindpunt gating per-oproep facturering
Een onderzoeks-API rekent $0.50 per oproep achter de x402 serveradapter. Een AI-agent roept de eindpunt aan, krijgt een 402 met de hoeveelheid en ontvanger, betaalt op Base vanuit zijn wallet, en geeft de aanvraag opnieuw uit met een X-Payment header. De adapter verifieert de header en retourneert de betaalde respons. De hele lus voltooit zich in minder dan 60 seconden.
Agent die programmatisch betaalt via x402-bewuste wallet
De runtime van een agent is x402-bewust (het implementeert de specificatie). Wanneer het een 402 tegenkomt, leest het het payToAddress en bedrag van accepts[], ondertekent een overdracht van zijn vooraf goedgekeurde portemonnee (binnen zijn bestedingsmachtiging), zendt uit op Base en probeert de oorspronkelijke oproep opnieuw met een X-Payment-header. Geen menselijke betrokkenheid; de lus voltooit in 5-10 seconden.
Wat omringt x402 in de stack.
x402 is het protocol. Deze drie termen dekken de concepten waarop het is gebaseerd en de gebruikscases die het mogelijk maakt.