exact over EIP-3009: GET
Compliant · GET /api/x402/eip3009-exact-get · Schemes (exact / upto / batch)
A fully compliant exact endpoint that advertises the EIP-3009 asset transfer method: the payer signs the token's own TransferWithAuthorization and no Permit2 approval exists anywhere in the flow.
Explanation
The compliant baseline for the transfer method most real x402 clients actually implement. The payer signs the token's own EIP-712 TransferWithAuthorization — domain { name, version } exactly as advertised in the challenge's extra — and the facilitator submits it with transferWithAuthorization. There is no Permit2 contract, no allowance, and no approval transaction anywhere in the flow, which is precisely why clients prefer it: a first-time payer needs one signature and zero prior on-chain state. Whether it is available is a property of the ASSET, not the chain — an ERC-20 has to implement ERC-3009 for any of this to exist — so on a chain whose asset does not, this endpoint returns a structured 400 naming that chain's real capability, the on-chain evidence behind the verdict, and the chains that do settle EIP-3009. Nothing is broken here; if you get the refusal, change chains.
What to watch
extra.assetTransferMethod is eip3009. On a chain whose asset has no ERC-3009 the endpoint returns a structured 400 naming the chains that do settle it.
Facilitator
Settled against the live Radius testnet facilitator (https://facilitator.testnet.radiustech.xyz). A valid payment runs a real /verify and /settle on-chain.
Metadata
- Status: Compliant
- Method: GET
- Price: 0.0001 (100 atomic)
- Responsible party: No fix needed