EIP-3009

EIP-3009 is an Ethereum token standard extension that lets a token holder sign a transfer authorization off-chain, which anyone can then submit on-chain. It is the mechanism under x402's exact scheme: the payer signs, and the facilitator pays the network fee to submit it.

The standard defines transferWithAuthorization: a signed message naming the sender, the recipient, the value, a validity window and a random nonce — a one-off number that identifies that authorization and no other. Because the nonce is arbitrary rather than sequential, authorizations can be signed and submitted out of order, and each one can be redeemed a single time.

For a payment made over HTTP this removes the payer's need to hold gas — the network's own fee token — or to broadcast anything at all. The signature travels in the retried request, the facilitator checks it against the quote and submits it, and the token contract enforces the window and the nonce.

→ The settle leg probe402 runs, and the network and asset it will accept, are set out in the method.

Sources

Related settlement · verify and settle · EIP-712 · x402

Glossary