Escrito por Pablo Gómez
Founder & CEO da Metlabs · Revisado em 11 de outubro de 2026
O ERC-3009 define funções-chave para movimentar tokens com uma assinatura. transferWithAuthorization executa uma transferência assinada off-chain, enquanto receiveWithAuthorization exige que quem envia a transação seja o destinatário, o que mitiga o front-running do relayer. cancelAuthorization permite anular uma autorização não utilizada. Usa nonces aleatórios de 32 bytes, não sequenciais, o que permite pagamentos em paralelo e fora de ordem, diferentemente do nonce sequencial do ERC-2612. Uma janela temporal com validAfter e validBefore delimita quando ela é válida, e a assinatura EIP-712 com o domain separator do token evita repetições entre contratos e redes.
Habilita pagamentos gasless e meta-transações: o usuário assina, um terceiro executa e assume o gas, o que é fundamental para o onboarding de usuários que ainda não têm o ativo nativo da rede para pagar taxas. Também suporta pagamentos programados, transferências pré-assinadas e arquiteturas de relayer. Em comparação com o ERC-2612, que assina uma aprovação e depois exige um transferFrom, o ERC-3009 assina diretamente a transferência e emprega nonces aleatórios, uma diferença relevante de design.
O padrão, intitulado Transfer With Authorization, figura no nível da EIP como Draft, apesar de sua adoção consolidada em produção. Seu caso de referência mais conhecido é o USDC, da Circle, que implementa transferWithAuthorization e receiveWithAuthorization. Outras stablecoins, como o USDP da Paxos, também o implementam. Ele é usado por infraestruturas de pagamento e relayers para movimentar stablecoins sem que o usuário precise ter o ativo nativo da rede para cobrir o gas. A verificação de assinatura para wallets contratuais se apoia no ERC-1271, e é uma peça de pagamento natural para agentes e contas modulares.
Também conhecido como
- ERC3009
- Transfer With Authorization





