Short answer: no, x402 is not USDC-only. Any ERC-20 that implements EIP-3009 works — and USDG (Global Dollar) does. MadeOnSol already accepts USDG on Robinhood Chain for keyless, pay-per-call API access. If you've read that "x402 only supports USDC and EURC," that's out of date.
This post explains where the myth comes from, why USDG qualifies, and what that unlocks on Robinhood Chain.
Why people think x402 is "USDC only"
x402 is an open payment standard for machine-to-machine payments over HTTP — an AI agent calls an endpoint, gets an HTTP 402 Payment Required challenge, signs a payment, and receives the data. It launched with USDC on Base and Solana, and most early tutorials, SDK examples, and facilitator defaults use USDC. So the ecosystem shorthand became "x402 = USDC."
But that's a convention, not a constraint. The protocol's "exact" payment scheme on EVM chains is built on EIP-3009, not on USDC specifically.
What actually matters: EIP-3009
On EVM chains, x402's exact scheme settles a payment by calling transferWithAuthorization — the function defined by EIP-3009 ("Transfer With Authorization"). Instead of the payer sending a transaction and paying gas, the payer signs an EIP-712 typed-data message authorizing a single, exact-amount transfer to a specific recipient. A facilitator then submits that authorization on-chain and pays the gas. It's a gasless, signature-based transfer.
The requirement is therefore simple: any ERC-20 token that implements EIP-3009 can be used with x402's exact scheme. USDC implements it. EURC implements it. And so does USDG.
USDG implements EIP-3009
USDG (Global Dollar), issued by Paxos, is an EIP-3009-compatible stablecoin — its contract exposes transferWithAuthorization, the same gasless-transfer primitive USDC uses. It also supports EIP-2612 permits. In other words, USDG carries exactly the on-chain machinery x402's exact scheme needs.
We verified this on Robinhood Chain directly. USDG on Robinhood Chain (contract 0x5fc5…d168, 6 decimals — the dominant stablecoin on the chain) exposes a live EIP-712 domain and behaves identically to mainnet USDG on the authorization functions. Its EIP-712 domain is { name: "Global Dollar", version: "1", chainId: 4663 }, and the settlement call is the standard transferWithAuthorization(from, to, value, validAfter, validBefore, nonce, v, r, s). That's all x402 needs.