EIP-3009
An Ethereum token standard, implemented by USDC, whose transferWithAuthorization function moves tokens on the strength of a signed message from the holder, with a validity window and a single-use nonce.
EIP-3009 lets a token holder authorize a transfer by signing a typed message instead of sending a transaction. The signed fields are from, to, value, validAfter, validBefore and a 32-byte nonce, hashed with EIP-712. Anyone holding the signature can submit transferWithAuthorization, and the submitter pays the gas.
Each nonce can be used once per payer: the token records it as used on settlement, so the same authorization cannot move funds twice. That is the on-chain half of replay protection. It does not stop an off-chain service from honoring the same signature several times before it is settled, which is why x402 servers need their own reservation of each payment.
The signature covers who pays, who receives, how much and when, but not what is being bought. Binding a payment to a specific resource is left to the server. See payment binding.
Related Terms
EIP-712
Ethereum standard for structured data hashing and signing enabling human-readable transaction signatures with domain separation.
Nonce
A random number used once in cryptographic operations, critical for ECDSA signature security and preventing replay attacks.
Replay Attack
An attack where a valid transaction or message is maliciously resubmitted to execute the same action multiple times.
x402
An open payment protocol that uses the HTTP 402 Payment Required status code so clients, including AI agents, can pay for web resources with signed stablecoin authorizations.
Need expert guidance on EIP-3009?
Our team at Zealynx has deep expertise in blockchain security and DeFi protocols. Whether you need an audit or consultation, we're here to help.
Get a Quote