x402 left Coinbase and got a standards body
August 25, 2026
The x402 Foundation is live under the Linux Foundation, and Coinbase finished handing the protocol over on July 14, 2026. The spec and the repo left. The public facilitator Cloudflare's Agents docs still paste did not.
Wire the three headers. Point production at a facilitator that actually settles mainnet. If the payer is a Cloudflare agent, debit a capped Virtual Wallet once it funds, not the Account Wallet.
The model was Coinbase owns 402#

The naive model is fair. Coinbase wrote the thing. Lincoln Murr, Head of AI Product there, said so in the Linux Foundation's own press. x402 was started at Coinbase because agents had no native way to pay for a call.
Cloudflare's September 2025 post treated the foundation as a partnership with Coinbase. A lot of 2026 recaps still lead with the exchange's name.
RFC 9110 still says the 402 status code is reserved for future use. If you filed this under Coinbase Developer Platform, you were reading the room that existed for a year.
The x402 FAQ even has to answer the question. Is x402 a CDP product. No. Apache-2.0, and you do not need a Coinbase SKU to speak it. The stamp on the box is the part that moved.
July 14 is when it actually left#

April 2 was the intent, announced at MCP Dev Summit in New York. Coinbase, Cloudflare, and Stripe had been the early governing cluster. July 14 is the date that actually matters.
San Francisco, completed contribution, fully active under formal open governance. Forty organizations joined between those two press hits.
The premier list is the signal. Adyen, AWS, American Express, Circle, Cloudflare, Coinbase, Fiserv, Google, Mastercard, Monad Foundation, MoonPay, Ripple, Shopify, Solana Foundation, Stellar, Stripe, Visa. Card networks sat down next to the company that wrote the first draft. August 24 is when a news queue noticed, not when the protocol moved.
The repo moved with it. x402-foundation/x402 is the spec home, Apache-2.0, 6,541 stars, pushed the day this was written. coinbase/x402 now says the issues and PRs transferred, and that their copy is a development fork. If your bookmark still says coinbase, you are reading the old office.
A 402 is three headers#

This is the part most member-list posts skip. x402 V2 does not invent a new status code. It fills the reserved 402 with three headers, documented as Base64 JSON.
PAYMENT-REQUIREDrides the 402 from the server. Price, scheme, network, destination.PAYMENT-SIGNATURErides the retry from the client. A signed payload, same request, new proof.PAYMENT-RESPONSErides the 200, or another 402 if settlement failed.
No account form. No API key in a dashboard. The client asks, gets priced, signs, asks again. Cloudflare's five-step writeup is the same flow with fewer adjectives.
You'll hit this the first time a tool call comes back 402 and the agent has to decide whether to pay. That retry is a payment retry. It is not the MCP session retry from the stateless transport. Different suitcase. Different header. Mixing them is how you store a cart in a signature.
A bare 402 with no PAYMENT-REQUIRED is not a price. Issue 3249 reports live storefronts that return HTTP 402 with no payment headers. An x402 client cannot settle those. Do not retry them with a wallet until the merchant actually advertises a requirement.
The facilitator still looks like Coinbase#

Here is the leftover. The spec can leave a company. The sample code can keep mailing the old PO box.
Cloudflare's x402 page is blunt. https://x402.org/facilitator is the public facilitator operated by Coinbase, and it is used in all of their examples. paidTool samples set that URL. The Hono middleware sample sets that URL. Copy the snippet, and you are still talking to Coinbase's test desk.
The spec docs are blunter about what that desk will not do. The public x402.org facilitator is for development and testnet. Do not assume it is the default path for production mainnet routes. The FAQ names the failure. Switch off that URL, or Base mainnet, chain 8453, comes back as a route-configuration error after you only changed the network field.
Ship mainnet against x402.org/facilitator and the 402 will look like a protocol bug. It is a copied hostname.
Anyone can run a facilitator to verify and settle a signed payload. The spec says that desk does not hold funds. The three paths are the public testnet URL, a production provider that actually supports your chain, or settle from the resource server. Pick the second or the third before you take money.
This is the decision the title was hiding. The standards body is real. The leftover pipe is also real. Wire the headers to the body. Point settlement at something that is allowed to touch mainnet.
Cloudflare already ships the client#

You do not need to write a protocol stack this week. Cloudflare already wired the 402 retry into the Agents SDK, and into two coding tools that will happily spend if a key is in the environment.
paidToolis a drop-in fortoolthat prices a call. The sample charges a cent to square a number.withX402Clientwraps an MCP client so it can pay.onPaymentRequiredis the human gate. Passnulland it pays alone.- The OpenCode plugin is an
x402-fetchtool the agent calls when webfetch comes back 402. - The Claude Code path is a PostToolUse hook on WebFetch that retries with
@x402/fetch.
Both coding-tool samples want X402_PRIVATE_KEY in the environment. That is a funded key sitting next to the agent. Fine on base-sepolia with faucet USDC. On a laptop that can reach mainnet, it is the same class of mistake as pasting a Stripe secret into a prompt.
The packages to know are x402-hono on the Worker, @x402/fetch on the client, @x402/evm for the scheme, and agents/x402 if you already live in the Agents SDK. You'll ship a paid hook by lunch. The hole is which facilitator that hook calls, and which key signs it.
Wire the spec, cap the wallet#
This week is logistics. Point the client at V2 headers. Point the server at a facilitator that lists your network. Keep the private key off the Account Wallet you actually care about.
On Cloudflare, the debit side is already written. Virtual Wallets are the API-key subaccount, still a handle as of mid-August, with an allowance, an allow list, and a max transaction size once they fund. x402 is the rail. The envelope is a product choice, not a header.
If a 402 comes back with garbage in PAYMENT-SIGNATURE, issue 2397 is why it may still look unpaid. The server often answers 402 for a malformed header, same as a missing one. Read the error field before you sign again.
The protocol left Coinbase. The examples did not. Copy the headers from the spec, then pick a facilitator that lists your CAIP-2 network instead of pasting x402.org/facilitator into production.
x402 handoff questions
Is x402 still a Coinbase product?
No. Coinbase created it and remains a premier member. The Linux Foundation announced the operational x402 Foundation on July 14, 2026, with a completed contribution. The spec repo is x402-foundation/x402. coinbase/x402 is labeled a development fork. You do not need a Coinbase product to speak the headers.
asked on docs.x402.org ↗Can the public x402.org facilitator settle Base mainnet?
No. Spec docs call that URL a testnet development path. It does not support Base mainnet, chain 8453. Cloudflare examples still paste it anyway. For production, pick a production facilitator, run your own, or settle from the resource server.
asked on docs.x402.org ↗Why did a 402 come back after PAYMENT-SIGNATURE was sent?
A malformed signature is still often answered with 402, the same status as a missing payment. Issue 2397 asks for 400 on undecodable headers so clients can tell garbage from unpaid. Check the error field before you retry the same payload.
asked on github.com ↗Does every 402 mean the client can pay?
No. Issue 3249 reports live storefronts that return HTTP 402 with no payment headers or body metadata. A standards-compliant client cannot settle those. Treat a bare 402 as a merchant bug, not a balance problem.
asked on github.com ↗