x402 lets any HTTP API charge per request without issuing API keys or storing credit cards. Buyers (humans or AI agents) keep funds in their own wallet and dynamically discover compatible endpoints, call them as usual, and automatically pay a microtransaction in USDC or other tokens to settle.
90 second demo: https://www.youtube.com/watch?v=PV-L2AfLhJg
Problem: Every time we want to use a new API we have to: find the service online create a developer account, copy a secret key into env vars, pre-fund or hand over a credit card
This flow blocks agents even more. They can’t solve CAPTCHAs or enter credit cards. It also hurts sellers: fraud, chargebacks, onboarding friction, and marketing to humans are huge pain points.
Why buyers care Zero setup – Hit a new endpoint immediately. Runtime discovery – Because every x402 service exists in a common registry, an agent can search, compare, and invoke in one loop. Self-assembling agents become practical. Easily create proxy servers – Want an endpoint that isn’t supported? You can use our proxy server template to spin up an x402-compatible instance yourself using traditional API keys, and monetize it for others wanting access.
Why sellers care Reach incremental demand – Long-tail bots, side projects, one-off scripts, all of which too small for an account/signup flow, can now pay you. Micropayments without fraud – All payments settle onchain, nothing for stolen credit cards or chargebacks to reverse. Embedded distribution – instead of marketing to humans, create a compelling service meeting demand for agents and watch the requests roll in.
How we got here Last year we launched AgentKit (wallets for AI agents). Tens of thousands of agents now hold onchain balances, but they can’t pay for most web services. We revived the long-unused HTTP 402 (“Payment Required”) status code and wrote a spec to make it real. Marc Andresseen calls the lack of native value transfer “the original sin of the internet,” and we see x402 as the absolution of this sin.
How it works: x402 specifies a standard response body to accompany a 402 status code. This response body contains machine understandable instructions for how to pay. Payments are signature based an included as an `X-PAYMENT` header in a subsequent request to the same API endpoint. The accepting server can verify and settle payment themselves, or delegate the onchain settlement to what we call a facilitator. This means you don't have to touch crypto as a developer, you can just integrate a middleware and start receiving stablecoin payments in as little as 1 line of code. Because x402 natively traverses your existing client / server requests, it can be implemented in any language, and doesn't require webhooks, or any other complex integration. Its literally this simple: `paymentMiddleware("0xYourAddress", {"/your-endpoint": "$0.01"})`
Ask HN API providers – does the one-line integration fit your stack? What’s missing? Agent / infra builders – if a service isn’t available is the proxy server template sufficient? File issues, PRs welcome Everyone – poke holes in the trust and fee model; we’d love to iterate with your feedback
Curious to learn more? Check out our documentation and repo for more information, and please don’t hesitate to reach out to get onboard.
https://github.com/coinbase/x402 https://x402.org https://x402.gitbook.io/x402/getting-started/quickstart-for-...
danxkim•3h ago