O que é account abstraction? ERC-4337 explicado
Escrito por Alchemy
Account abstraction permite que um contrato inteligente atue como sua conta, em vez de uma única chave privada. A conta pode definir suas próprias regras para assinar, pagar gas e executar chamadas. O ERC-4337 é o padrão que a entrega no Ethereum e em outras redes EVM sem alterar o protocolo.
Hoje, a maioria dos usuários do Ethereum tem uma conta de propriedade externa (EOA). Uma EOA é controlada por uma única chave privada, assina com um único esquema e precisa de ETH antes de poder fazer qualquer coisa. Se você perde a chave, perde a conta. A account abstraction elimina esses limites. Dois padrões a entregam: o ERC-4337, para smart accounts em seus próprios endereços, e o EIP-7702, para atualizar uma EOA existente no próprio lugar. Os dois funcionam em conjunto.
O que é account abstraction?
Account abstraction significa que as regras de uma conta ficam no código, não no protocolo. Uma EOA padrão segue regras fixas: uma assinatura ECDSA, um nonce e gas pago em ETH pelo remetente. Com account abstraction, uma smart account (a especificação do ERC-4337 a chama de smart contract account) define sua própria lógica de validação.
A especificação do ERC-4337 descreve a ideia como um modelo "que permite que cada conta forneça sua própria lógica de validação, executada como código de contrato inteligente, enquanto o protocolo impõe apenas restrições mínimas".
Essa única mudança abre recursos que as EOAs não conseguem oferecer:
- Gas patrocinado, em que um app paga a taxa para que um novo usuário não precise de ETH.
- Gas pago em tokens, em que o usuário paga com um ERC-20 como o USDC.
- Batching, em que várias chamadas são executadas juntas como uma única ação atômica.
- Session keys, em que um app ou agente recebe uma permissão restrita que expira.
- Passkeys e outros assinantes, para que o usuário não precise de uma seed phrase.
- Recuperação personalizada, em que as próprias regras da conta definem como recuperar o acesso.
O que é o ERC-4337?
O ERC-4337 é o padrão do Ethereum para account abstraction que não exige mudança na camada de consenso. Vitalik Buterin e coautores o propuseram em 2021, e o contrato EntryPoint entrou em operação na mainnet do Ethereum em 1º de março de 2023.
As propostas anteriores alteravam o protocolo central do Ethereum. O ERC-4337 evita isso. Ele adiciona uma pseudo-transação chamada UserOperation, um mempool separado para essas operações e um contrato singleton chamado EntryPoint. Como tudo fica acima da camada de consenso, funciona em qualquer rede EVM em que o EntryPoint esteja implantado.
Um dos objetivos da especificação é permitir que os usuários dispensem as EOAs por completo. Uma smart account pode assinar com uma passkey ou qualquer outro esquema, e apenas o bundler precisa de uma EOA para enviar a transação.
Como o ERC-4337 funciona?
Uma transação ERC-4337 passa por cinco etapas:
- O usuário assina uma UserOperation. A smart account decide o que conta como uma assinatura válida.
- O app a envia a um bundler com
eth_sendUserOperation. - O bundler a simula, a agrupa com outras UserOperations e envia uma transação que chama
handleOpsno EntryPoint. - O EntryPoint chama
validateUserOpna smart account. Se houver um paymaster, também chamavalidatePaymasterUserOp. Ele verifica se alguém pode cobrir o gas. - O EntryPoint chama a smart account para executar a ação solicitada e, em seguida, reembolsa o bundler.

O que é uma UserOperation?
Uma UserOperation é o objeto de pseudo-transação que descreve o que o usuário quer fazer. Ela carrega o remetente (a smart account), um nonce, os dados da chamada, limites de gas e campos de taxa, uma assinatura e campos opcionais do paymaster. Ao contrário de uma transação normal, o próprio código da conta verifica a assinatura. Ela pode conter várias instruções. Leia nosso guia de UserOperations para ver a lista completa de campos.
O que faz um bundler?
Um bundler é um serviço offchain que monitora o mempool de UserOperations, simula cada operação e agrupa as válidas em uma única transação onchain. Ele paga o gas adiantado e o EntryPoint o reembolsa. Os bundlers são os únicos atores no ERC-4337 que precisam manter uma EOA. Veja o que é um bundler para entender como funcionam e competem.
O que faz o contrato EntryPoint?
O EntryPoint é um contrato inteligente singleton em que todas as contas e bundlers confiam. Ele executa cada UserOperation em duas fases. Na fase de verificação, confere a assinatura e confirma que há fundos. Na fase de execução, executa a chamada e reembolsa o bundler. Um único contrato compartilhado e auditado mantém as regras iguais para todos.
O que faz um paymaster?
Um paymaster é um contrato opcional que paga o gas de uma UserOperation. Ele permite que um app patrocine taxas ou que o usuário pague com um token ERC-20 em vez de ETH. O EntryPoint pede ao paymaster que aprove a operação antes de executá-la. Leia o que é um paymaster para conhecer os tipos e as compensações de segurança.
O que faz um aggregator?
Um aggregator é um contrato opcional que verifica uma assinatura combinada para muitas UserOperations de uma só vez. Como o pacote carrega uma assinatura em vez de várias, ele economiza calldata, o que ajuda mais nos rollups. Os aggregators são uma otimização. A maioria das contas não precisa de um.
Qual versão do EntryPoint você deve usar?
O EntryPoint tem várias versões lançadas. Cada uma é um contrato separado, em seu próprio endereço, e uma smart account é construída para uma versão.
- v0.6:
0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789 - v0.7:
0x0000000071727De22E5E9d8BAf0edAc6f37da032 - v0.8:
0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108, que adiciona suporte nativo ao EIP-7702
As notas de versão da eth-infinitism também listam a v0.9, que adiciona paymasterSignature para que os paymasters possam assinar em paralelo. Nossa API de Bundler hospedada oferece suporte às versões v0.6, v0.7 e v0.8. Chame eth_supportedEntryPoints em uma rede para ver a lista exata. Construa novas contas na v0.7 ou v0.8, porque o FAQ do Bundler diz que o suporte à v0.6 está planejado para ser descontinuado.
O que é o EIP-7702?
O EIP-7702 é uma mudança de protocolo que permite que uma EOA defina código em si mesma. Ele entrou em operação na mainnet do Ethereum com o upgrade Pectra, em 7 de maio de 2025.
Ele adiciona um novo tipo de transação, 0x04, que carrega uma lista de autorizações assinadas. Cada autorização grava um indicador de delegação, 0xef0100 seguido de um endereço de contrato, no código da conta. Depois disso, as chamadas à EOA executam o código nesse endereço.
A delegação é persistente. Ela permanece até que a conta assine uma nova autorização, e delegar ao endereço zero a remove. A EOA mantém seu endereço, seu saldo e sua chave. Delegue apenas a código de contrato auditado, porque esse código é executado com o saldo e o armazenamento da própria conta. Para um aprofundamento, leia nossa visão geral do EIP-7702.
Qual é a diferença entre ERC-4337 e EIP-7702?
O ERC-4337 executa smart accounts em seus próprios endereços, com um mempool, bundlers e paymasters. O EIP-7702 atualiza um endereço existente no próprio lugar. Eles não são rivais. O EIP-7702 muda o que uma conta pode ser, e o ERC-4337 fornece a infraestrutura para enviar e patrocinar suas operações.
Os dois padrões se conectam diretamente. A especificação do ERC-4337 oferece suporte a autorizações do EIP-7702. Uma UserOperation pode incluir um campo eip7702Auth, e o bundler adiciona essa autorização ao authorizationList da transação que envia. O EntryPoint v0.8 também inclui a delegação no hash da UserOperation. Assim, uma EOA delegada pode usar bundlers e paymasters como qualquer outra smart account.
Escolha o EIP-7702 quando seus usuários já tiverem endereços de EOA, saldos e histórico que você quer manter. Escolha uma smart account ERC-4337 independente quando a conta não deve depender de uma única chave ECDSA, como uma conta somente com passkey, ou quando a rede não tiver habilitado o EIP-7702.
O que são smart accounts modulares?
Uma smart account modular divide os recursos em módulos, em vez de um único contrato fixo. Um módulo de validação decide quem pode assinar, por exemplo uma passkey ou uma session key. Um módulo de execução adiciona novas ações. Os hooks adicionam verificações, como limites de gasto. Você adiciona ou remove módulos sem alterar o endereço da conta.
Dois padrões ERC definem como os módulos se encaixam: o ERC-6900, "Modular Smart Contract Accounts", e o ERC-7579, "Minimal Modular Smart Accounts". Ambos se baseiam no ERC-4337. Nossa Modular Account v2 segue o ERC-6900.
O que você pode construir com account abstraction?
A account abstraction elimina as etapas que tornam os apps onchain difíceis para novos usuários.
- Onboarding sem gas. Um novo usuário começa sem ETH, e seu app patrocina as primeiras transações.
- Gas em stablecoin. Os usuários pagam as taxas com o token que já possuem.
- Fluxos de um clique. Uma aprovação e uma troca são executadas como um único lote atômico, então uma falha reverte ambas.
- Jogos e agentes. Uma session key permite que um jogo ou um agente de IA atue dentro dos limites que você definir, sem acesso à conta inteira.
- Contas com passkey. Os usuários entram com a passkey do dispositivo e nunca lidam com uma seed phrase.
- Recuperação. A conta pode adicionar guardiões ou outras regras para recuperar o acesso.
Como a Alchemy oferece suporte a account abstraction?
Operamos a infraestrutura tanto do ERC-4337 quanto do EIP-7702, para que você publique um único fluxo para novas smart accounts e EOAs existentes.
Bundler
Nosso Bundler é uma API de Bundler ERC-4337 hospedada, construída sobre o Rundler, nosso bundler open source em Rust. Ele oferece suporte ao EntryPoint v0.6, v0.7 e v0.8. Consulte o suporte de recursos por rede para as redes de que você precisa.
Gas Manager
O Gas Manager permite que seu app pague o gas dos usuários sob regras que você define em uma política. Recomendamos o Gas Sponsorship por meio de Bundler Sponsored Operations, em que você passa um ID de política em um cabeçalho e não adiciona campos de paymaster. Use o Onchain Paymaster quando precisar de pagamentos de gas em ERC-20 ou de um paymaster no fluxo. Veja o FAQ do Gas Manager para planos e limites.
Modular Account v2
A Modular Account v2 é a smart account que recomendamos. Ela segue o ERC-6900, foi auditada pela ChainLight e pela Quantstamp e oferece suporte a session keys, passkeys, listas de permissão, limites de gasto e expirações por meio de módulos.
Wallet APIs
As Wallet APIs são a camada de transações que fica por cima. Elas enviam chamadas de uma smart account com patrocínio, batching, novas tentativas e session keys. Você traz seu próprio assinante, como Privy, Turnkey ou qualquer assinante compatível com viem.
Suporte ao EIP-7702
As Wallet APIs também oferecem suporte ao EIP-7702. Novas contas EIP-7702 delegam à Modular Account v2 por padrão, então uma EOA obtém o mesmo batching, patrocínio e session keys sem um novo endereço.
Pronto para construir? Comece com a documentação das Wallet APIs, patrocine sua primeira transação com o Gas Manager e envie UserOperations pelo nosso Bundler.
Como propostas anteriores levaram ao ERC-4337?
Os desenvolvedores tentaram construir account abstraction muito antes do ERC-4337.
- O EIP-2938, de 2020, propôs account abstraction na camada de consenso. Desde então, foi retirado.
- O EIP-3074, também de 2020, adicionou os opcodes
AUTHeAUTHCALLpara que uma EOA pudesse delegar o controle a um contrato. O EIP-7702 o substituiu. - O ERC-4337, de 2021, seguiu um caminho diferente. Manteve todas as mudanças acima da camada de consenso, então pôde ser lançado sem um hard fork.
Depois, o EIP-7702 levou código à própria EOA, e a especificação do ERC-4337 agora oferece suporte a ele. Veja EIP-3074 vs EIP-7702 vs ERC-4337 para uma comparação lado a lado.
Como começar com account abstraction?
- Escolha o tipo de conta. Use uma smart account ERC-4337, como a Modular Account v2, para novos usuários, ou a delegação EIP-7702 para EOAs existentes.
- Escolha um assinante. Passkeys, um assinante embarcado ou uma EOA existente funcionam.
- Envie sua primeira UserOperation por um bundler e anexe uma política de patrocínio se quiser que os usuários não paguem gas.
- Confirme que as redes de destino oferecem o que você precisa na tabela de suporte de recursos.
A documentação das Wallet APIs percorre cada etapa com código. Se você estiver escrevendo sua própria smart account, implemente validateUserOp para a versão do EntryPoint que você usar como alvo.
Perguntas frequentes
O que é account abstraction?
Account abstraction permite que um contrato inteligente atue como sua conta, em vez de uma única chave privada. O código da conta decide quem pode assinar, quem paga o gas e o que ela pode executar. Isso torna possíveis gas patrocinado, batching, passkeys e session keys. No Ethereum, o ERC-4337 a entrega sem mudanças no protocolo, e o EIP-7702 a leva às EOAs existentes.
O que é o ERC-4337?
O ERC-4337 é o padrão do Ethereum para account abstraction que não exige mudança na camada de consenso. Os usuários assinam UserOperations e as enviam a um mempool separado. Os bundlers as empacotam em uma única transação para o contrato EntryPoint, que valida e executa cada uma. Os paymasters podem pagar o gas em nome do usuário.
O ERC-4337 precisa de um hard fork?
Não. O ERC-4337 funciona como contratos inteligentes e uma rede offchain de bundlers sobre a rede existente, então funciona no Ethereum e em qualquer rede EVM em que o EntryPoint esteja implantado. O EIP-7702 é diferente. É uma mudança de protocolo que entrou em operação com o upgrade Pectra, em 7 de maio de 2025.
Qual é a diferença entre ERC-4337 e EIP-7702?
O ERC-4337 executa smart accounts em seus próprios endereços por meio de UserOperations e bundlers. O EIP-7702 permite que uma EOA existente delegue a código de contrato no próprio lugar, então o endereço continua o mesmo. Eles são complementares, e a especificação do ERC-4337 aceita autorizações do EIP-7702 dentro de UserOperations.
O EIP-7702 substitui o ERC-4337?
Não. O EIP-7702 atualiza uma EOA, mas não fornece mempool, bundlers nem paymasters. Esses itens ainda vêm do ERC-4337 ou de um relayer. Uma EOA delegada pode enviar UserOperations por um bundler e usar um paymaster, e é assim que os dois padrões se combinam na prática.
O que é uma UserOperation?
Uma UserOperation é a pseudo-transação que o ERC-4337 usa no lugar de uma transação normal. Ela contém o remetente, o nonce, os dados da chamada, os campos de gas, a assinatura e dados opcionais do paymaster. Um bundler coleta UserOperations de um mempool separado e as envia onchain ao contrato EntryPoint.
Preciso de um bundler e de um paymaster?
Você precisa de um bundler para enviar UserOperations, porque só um bundler pode enviá-las onchain. O paymaster é opcional. Use um quando quiser patrocinar o gas ou deixar os usuários pagarem com um token ERC-20. Sem ele, a smart account paga o gas com seu próprio depósito no EntryPoint.
Qual versão do EntryPoint devo usar?
Construa novas contas no EntryPoint v0.7 ou v0.8. A v0.8 adiciona suporte nativo ao EIP-7702. Nossa API de Bundler hospedada oferece suporte às versões v0.6, v0.7 e v0.8, e o FAQ do Bundler diz que a v0.6 está planejada para ser descontinuada. Chame eth_supportedEntryPoints na sua rede para confirmar a lista.
A Alchemy oferece suporte ao ERC-4337 e ao EIP-7702?
Sim. Operamos uma API de Bundler ERC-4337 hospedada, construída sobre nosso Rundler open source, o Gas Manager para patrocínio de gas e as Wallet APIs com a Modular Account v2 como smart account padrão. As Wallet APIs também oferecem suporte ao EIP-7702, então uma EOA pode delegar ao código da Modular Account v2.
Qual é a adoção de account abstraction?
A adoção muda rapidamente, então um número fixo logo fica desatualizado. Consulte uma fonte ao vivo. O BundleBear é um painel público que acompanha a atividade de smart accounts em várias redes, incluindo UserOperations do ERC-4337 e autorizações do EIP-7702, e é atualizado continuamente.
Visões gerais relacionadas
Carteiras14 de outubro de 2026
O que é um paymaster?
Um paymaster patrocina o gas de uma user operation, ou deixa o usuário pagar essa taxa com um token ERC-20.
Carteiras24 de junho de 2026
O que é um crypto bundler?
Um crypto bundler combina múltiplas transações ou operações em um único envio onchain, abrangendo batching, MEV, rollups, lançamentos de tokens e account abstraction.
Carteiras26 de junho de 2023
O que são user operations?
Definições, Parâmetros e Como Funcionam

Construa magia blockchain
A Alchemy combina os produtos e ferramentas de desenvolvimento Web3 mais poderosos com recursos, comunidade e suporte lendário.