Comprar cripto
Mercados
Spot
Centro de eventos
Centro de Recompensas
Mais
0-Fee Fest
Ponto de entrada: O que é um ponto de entrada em cripto?No contexto das criptomoedas, um ponto de entrada geralmente pode ser o contrato, a função ou a interface por meio da qual um usuário inicia uma operação na blockPonto de entrada: O que é um ponto de entrada em cripto?No contexto das criptomoedas, um ponto de entrada geralmente pode ser o contrato, a função ou a interface por meio da qual um usuário inicia uma operação na block

Ponto de entrada

2026/10/13 15:30
#Beginner
Humanity
H$0.05495-6.38%
o1.exchange
O$0.4035-7.15%
PX
PX$0.0114+2.70%
PortugalNationalTeam
POR$0.0668-4.44%
Realio
RIO$0.04585-9.13%

O que é um ponto de entrada em cripto?

No contexto das criptomoedas, um ponto de entrada geralmente pode ser o contrato, a função ou a interface por meio da qual um usuário inicia uma operação na blockchain.

Na abstração de contas, EntryPoint costuma se referir ao contrato inteligente central EntryPoint definido pelo ERC-4337.

O contrato EntryPoint coordena a validação, a execução, o pagamento de gas, a implantação de contas e a liquidação das operações enviadas por smart accounts.

A especificação oficial do ERC-4337 descreve um sistema no qual os usuários enviam objetos chamados UserOperations, em vez de enviar transações comuns diretamente de contas de propriedade externa.

Participantes especiais da rede, chamados bundlers, reúnem essas UserOperations e as enviam ao contrato EntryPoint por meio de uma transação comum na blockchain.

Em seguida, o EntryPoint verifica se cada operação está autorizada, determina como o gas será pago, chama a smart account correspondente e liquida o custo final de gas.

O EntryPoint não é uma carteira, um token, uma blockchain, uma chave privada nem uma rede de criptomoedas independente.

É uma infraestrutura de contratos inteligentes compartilhada, usada por carteiras compatíveis com abstração de contas, bundlers, fábricas de contas, paymasters e aplicativos.

O que é o ERC-4337?

O ERC-4337 é um padrão de abstração de contas que permite usar smart accounts programáveis sem exigir um novo tipo de transação Ethereum na camada de consenso.

As contas de propriedade externa tradicionais usam regras de assinatura e nonce definidas pelo protocolo.

Uma smart account ERC-4337 pode usar código de contrato para definir sua própria lógica de autorização.

Isso pode permitir aprovações com múltiplas assinaturas, passkeys, sistemas de recuperação, permissões de sessão, limites de gastos, ações em lote e outros recursos de carteira programáveis.

O ERC-4337 introduz um fluxo separado de UserOperations, mas liquida as atividades por meio de transações comuns incluídas em blocos.

A visão geral da abstração de contas da Ethereum explica que o ERC-4337 oferece funcionalidades de smart account sem alterar as regras básicas de consenso da Ethereum.

O EntryPoint é o contrato compartilhado on-chain que conecta as diferentes partes desse sistema.

Por que ele se chama EntryPoint?

O contrato se chama EntryPoint porque é a principal porta de entrada confiável por meio da qual as operações ERC-4337 chegam a uma smart account.

Uma smart account compatível normalmente aceita chamadas de validação e execução ERC-4337 somente de um endereço EntryPoint em que confia.

Os bundlers não chamam funções de execução arbitrárias da carteira como se fossem o proprietário dela.

Em vez disso, enviam UserOperations ao EntryPoint, que solicita a cada smart account que valide sua própria operação.

Essa estrutura separa a parte que paga e envia a transação na blockchain da conta que autoriza a ação subjacente.

Ela também oferece aos bundlers uma interface de contrato padronizada para processar diversos tipos de smart accounts.

Qual é a versão atual do EntryPoint?

Em 16 de julho de 2026, o repositório oficial de abstração de contas identifica o EntryPoint v0.9.0 como sua versão mais recente.

A página oficial de releases de abstração de contas informa que o endereço do EntryPoint v0.9 é

0x433709009B8330FDa32311DF1C2AFA402eD8D009
.

As notas da versão descrevem a v0.9 como compatível com ABI com o EntryPoint v0.7 e v0.8 para as interfaces existentes de contas e paymasters, a menos que uma implementação opte por usar novos recursos.

Mesmo assim, os bundlers precisam entender a nova versão antes de participar do mempool de UserOperations correspondente.

Versões anteriores do EntryPoint podem continuar existindo e processando operações em redes cuja infraestrutura ainda as suporte.

Uma carteira precisa usar um bundler, paymaster, factory e implementação de smart account compatíveis com a mesma versão do EntryPoint.

Antes de mudar de versão, os desenvolvedores devem verificar o endereço, a rede, o bytecode implantado, o hash do código, as notas da versão e os relatórios de segurança.

Por que existem várias versões do EntryPoint?

O EntryPoint é implantado como um contrato inteligente, portanto seu código não pode simplesmente ser editado no local quando a implantação é imutável.

Em geral, uma nova versão é introduzida por meio da implantação de um novo contrato EntryPoint em um novo endereço determinístico.

As carteiras e a infraestrutura podem migrar depois de analisar o novo contrato e adicionar suporte ao seu comportamento.

Essa abordagem evita conceder a um único administrador poder irrestrito para substituir o código do singleton existente.

Isso também significa que, durante os períodos de migração, a infraestrutura de abstração de contas pode se fragmentar entre diferentes versões.

Uma UserOperation destinada a um EntryPoint não deve ser enviada como se fosse destinada a outra versão.

O endereço do EntryPoint selecionado é incluído em cálculos de segurança importantes, como o hash da operação.

O que é uma UserOperation?

Uma UserOperation é uma solicitação estruturada que descreve uma ação que uma smart account deseja realizar.

Às vezes, o nome é abreviado para UserOp.

Uma UserOperation não é uma transação comum da Ethereum, embora um bundler acabe incluindo-a em uma transação comum enviada ao EntryPoint.

Seus campos identificam a smart account, o nonce, os dados de execução, os limites de gas, os limites de taxa, a assinatura, os dados opcionais de implantação da conta e as informações opcionais do paymaster.

As versões atuais usam uma representação compactada chamada

PackedUserOperation
ao transmitir os dados on-chain.

O EntryPoint usa essas informações para coordenar a validação, a execução e a liquidação do gas.

Uma UserOperation não se torna válida apenas por estar formatada corretamente.

A smart account, o EntryPoint, as regras do bundler e qualquer paymaster selecionado precisam aceitá-la.

Principais campos da UserOperation

O campo

sender
identifica a smart account que validará e executará a operação.

O campo

nonce
ajuda a evitar replay e pode permitir vários canais de operações ordenadas.

Os campos de implantação da conta permitem criar uma smart account ainda não implantada como parte de sua primeira operação.

O campo

callData
descreve a chamada que a smart account deve executar.

Os campos de gas definem limites para a validação, a execução e outros processos pagos pela operação.

Os campos de taxa definem o preço máximo do gas e a taxa de prioridade aceitos pela operação.

Os campos do paymaster identificam um contrato opcional que concorda em cobrir os custos de gas.

O campo

signature
contém dados de autorização interpretados pela lógica de validação da smart account.

A assinatura não precisa ser uma assinatura básica de uma única chave, pois a smart account pode implementar outro método seguro de autorização.

Como uma UserOperation chega ao EntryPoint

Primeiro, a carteira cria uma UserOperation que descreve a ação solicitada na blockchain.

A carteira obtém o nonce correto e estima os campos de gas necessários para a operação.

O sistema de autorização da smart account assina ou aprova a operação de outra forma.

A carteira a envia a um bundler por meio de um método RPC de abstração de contas.

Antes de aceitar a operação, o bundler simula a lógica de validação.

As operações aceitas podem entrar em um mempool específico de UserOperations.

O bundler seleciona um grupo de operações e as envia ao EntryPoint em uma única transação na blockchain.

O EntryPoint valida e executa as operações de acordo com as regras do ERC-4337.

Após a execução, o EntryPoint paga ao beneficiário escolhido pelo bundler usando os fundos de gas cobrados das contas ou dos paymasters.

O que é um bundler?

Um bundler é um participante da abstração de contas que reúne, valida, agrupa e envia UserOperations.

O bundler paga a taxa de transação nativa da rede ao enviar à blockchain a transação que contém o pacote de operações.

Ele espera que o EntryPoint reembolse os custos das operações usando os depósitos das smart accounts ou dos paymasters.

Isso cria uma exigência econômica importante: os bundlers precisam rejeitar operações que possam consumir gas sem pagar por ele.

Em geral, um bundler simula uma operação várias vezes, à medida que o estado da blockchain muda entre o recebimento inicial e o envio final.

A interface JSON-RPC padronizada do ERC-7769 define métodos que carteiras e bundlers podem usar para trocar UserOperations e consultar o status delas.

Um bundler não é o proprietário da smart account e não deve poder autorizar uma operação rejeitada pela conta.

A função handleOps

A principal função do EntryPoint é

handleOps
.

Ela aceita uma matriz de UserOperations compactadas e um endereço de beneficiário.

O bundler chama essa função na transação que envia o pacote de operações à blockchain.

O EntryPoint processa as operações nas etapas de validação e execução.

Ele verifica se é necessário implantar a conta, confirma os nonces, calcula o pré-financiamento necessário, chama a validação da conta, verifica a validação do paymaster e confirma a existência de fundos de gas suficientes.

Em seguida, chama as smart accounts para executar as ações solicitadas.

Após o processamento, calcula os custos reais e transfere as taxas cobradas ao beneficiário.

Em geral, o bundler controla o endereço do beneficiário, mas a função do protocolo aceita um endereço escolhido para receber o pagamento.

Validação e execução são etapas separadas

O ERC-4337 separa a validação da execução principal da operação.

Durante a validação, o EntryPoint determina se a conta autoriza a operação e se os custos de gas podem ser pagos.

Durante a execução, a smart account realiza as chamadas solicitadas.

Essa distinção é importante porque uma operação pode passar pelas verificações de autorização e ainda falhar durante a chamada do aplicativo.

Por exemplo, uma smart account pode autorizar corretamente uma transferência de tokens que depois falha porque a conta não tem o saldo necessário do token.

O gas continua sendo consumido durante a validação e a execução malsucedida.

Por isso, a conta ou o paymaster ainda pode ser cobrado mesmo que a ação pretendida no aplicativo não seja concluída.

A função validateUserOp

Uma smart account ERC-4337 implementa uma função chamada

validateUserOp
.

O EntryPoint chama essa função durante a validação.

A conta recebe a operação compactada, seu hash e informações sobre eventuais fundos de gas em falta.

A conta precisa confirmar que o chamador é um EntryPoint confiável.

Em seguida, deve aplicar suas próprias regras de autorização à operação.

Uma conta simples pode verificar uma única assinatura criptográfica.

Uma conta mais avançada pode exigir várias assinaturas, uma prova de passkey, um guardião de recuperação, uma permissão de chave de sessão ou uma verificação de política de gastos.

A conta também pode retornar um intervalo de validade que limite quando a UserOperation pode ser incluída.

Por que a smart account precisa confiar no EntryPoint exato

O EntryPoint recebe permissão para chamar funções sensíveis de validação e execução em uma smart account.

Por isso, uma smart account deve rejeitar chamadas de um contrato não confiável que se passe pelo EntryPoint.

Confiar no endereço errado pode permitir que um contrato malicioso contorne premissas sobre o tratamento de nonce, o cálculo de gas, a identidade do chamador ou a ordem de execução.

Uma implementação de carteira precisa definir como reconhece uma versão aprovada do EntryPoint.

Algumas contas usam um único endereço fixo, enquanto contas atualizáveis ou modulares podem permitir um processo controlado de migração.

Adicionar um novo EntryPoint deve ser tratado como uma atualização de carteira sensível do ponto de vista da segurança, não como uma simples configuração de interface.

Hash da UserOperation e proteção contra replay

O hash da UserOperation vincula a operação a dados importantes usados na autorização.

O hash inclui o endereço do EntryPoint e o chain ID da blockchain.

Isso impede que uma operação válida destinada a determinado EntryPoint ou rede seja reutilizada automaticamente em outro.

A assinatura em si é excluída do hash subjacente da operação para que a conta possa validar os dados de autorização fornecidos com base nesse hash.

Os designs atuais de assinatura de paymaster também podem excluir do hash uma assinatura separada do paymaster, permitindo que a assinatura da carteira e a do paymaster sejam geradas em paralelo.

Os desenvolvedores precisam seguir as regras exatas de hash da versão selecionada do EntryPoint.

Uma separação de domínio incorreta pode criar riscos de replay ou impossibilitar a validação de operações legítimas.

Gerenciamento de nonce pelo EntryPoint

O EntryPoint gerencia nonces para impedir que a mesma UserOperation seja executada repetidamente.

O ERC-4337 usa um nonce dividido em duas partes: uma chave de 192 bits e um valor de sequência de 64 bits.

Cada chave pode representar um canal ordenado separado para uma smart account.

Isso permite que uma conta mantenha operações comuns, administrativas ou de outras categorias sem forçar todas as ações a seguir uma única sequência global.

A função

getNonce
retorna o nonce atual para um remetente e uma chave de nonce.

O bundler deve verificar o nonce antes de aceitar e, posteriormente, incluir uma operação.

A smart account pode aplicar restrições adicionais de nonce quando seu modelo de segurança exigir.

Implantação contrafactual de smart accounts

Muitas vezes, é possível calcular o endereço de uma carteira ERC-4337 antes da implantação do contrato da smart account.

Esse endereço é chamado de endereço contrafactual.

A carteira pode receber criptoativos no endereço calculado antes da primeira operação de abstração de contas.

A primeira UserOperation inclui informações de implantação da conta que identificam uma factory e os dados de inicialização.

O EntryPoint usa seu auxiliar SenderCreator para chamar a factory e criar a smart account no endereço esperado.

O endereço implantado precisa corresponder ao campo

sender
da UserOperation.

Se a conta não existir e a operação não contiver informações de implantação válidas, a validação falhará.

EntryPoint v0.9 e initCode

O EntryPoint v0.9 altera a forma como os dados de implantação são tratados quando a conta do remetente já existe.

No comportamento anterior, esperava-se que

initCode
não estivesse vazio somente na operação que implantava a conta.

A versão 0.9 pode ignorar os dados de implantação quando o contrato do remetente já existe e emitir um evento

IgnoredInitCode
.

Isso ajuda contas ainda não implantadas a preparar operações paralelas usando diferentes canais de nonce.

O código da conta não deve presumir que dados de implantação não vazios sempre provam que a operação é a primeira da conta.

Os desenvolvedores que migrarem para a v0.9 devem revisar qualquer lógica que dependa dessa premissa anterior.

Pré-financiamento de gas

Um bundler paga a taxa de rede da transação que chama o EntryPoint.

Por isso, o EntryPoint precisa confirmar que cada UserOperation pode reembolsar seu custo máximo esperado.

Durante a validação, ele calcula o pré-financiamento necessário com base nos limites de gas da operação e nas configurações de taxa.

Para esse fim, a smart account pode manter um depósito no EntryPoint.

Se o depósito da conta for insuficiente, ela poderá transferir moeda nativa adicional ao EntryPoint durante a validação.

Quando um paymaster patrocina a operação, usa-se o depósito do paymaster.

Um pré-financiamento insuficiente torna a operação inválida para inclusão.

Depósitos no EntryPoint

O EntryPoint mantém depósitos usados para pagar custos futuros de gas das UserOperations.

Smart accounts e paymasters podem adicionar moeda nativa a esses depósitos.

A função

depositTo
adiciona fundos para uma conta ou um paymaster especificado.

A função

balanceOf
do EntryPoint informa o depósito de gas de uma entidade.

A entidade autorizada pode usar

withdrawTo
para retirar um depósito disponível, de acordo com as regras do contrato.

Um depósito não rende juros nem representa um investimento tokenizado.

É moeda nativa pré-financiada e mantida para a liquidação de gas da abstração de contas.

O que é um paymaster?

Um paymaster é um contrato inteligente opcional que concorda em cobrir o custo de gas de determinadas UserOperations.

Isso pode permitir que um aplicativo subsidie a atividade do usuário ou adote outra forma de cobrança.

O paymaster mantém moeda nativa em seu depósito no EntryPoint.

Durante a validação, o EntryPoint chama

validatePaymasterUserOp
para perguntar se o paymaster aceita ser responsável pela operação.

O paymaster pode avaliar a identidade da conta, os dados da chamada, os limites de tempo, a autorização assinada, as políticas de gastos ou outras condições.

Se retornar dados de contexto, o EntryPoint poderá chamar a função

postOp
do paymaster após a execução.

O paymaster ainda paga pelo gas se a chamada do aplicativo feita pela conta for revertida após a validação bem-sucedida.

Depósitos de paymaster e staking

O depósito e o stake de um paymaster têm finalidades diferentes.

O depósito paga os custos de gas das UserOperations.

O stake fica bloqueado como parte das defesas do sistema contra ataques de negação de serviço e abuso de reputação.

A função

addStake
bloqueia o stake e define um período de espera para o unstaking.

Antes de retirar o stake, o paymaster precisa chamar

unlockStake
e aguardar esse período.

A função

withdrawStake
libera um stake desbloqueado e elegível.

Ter um depósito alto não atende automaticamente a um requisito de staking.

Ter um stake não substitui o depósito necessário para pagar o gas patrocinado.

Assinaturas de paymaster no EntryPoint v0.9

O EntryPoint v0.9 adiciona suporte a um valor separado de

paymasterSignature
.

Em fluxos anteriores, a carteira podia precisar aguardar os dados completos do paymaster antes de assinar sua UserOperation.

O novo design permite gerar em paralelo a assinatura da carteira e a assinatura do paymaster, quando este oferece suporte ao recurso.

De acordo com a codificação especificada, a assinatura separada do paymaster não altera o hash da UserOperation.

Isso pode reduzir o atraso em fluxos de usuário com operações patrocinadas.

Carteiras, paymasters e bundlers precisam entender a codificação específica da versão antes de usá-la.

Stakes e reputação no EntryPoint

A validação do ERC-4337 pode envolver factories de contas, paymasters, agregadores de assinatura e outros contratos.

Entidades maliciosas podem tentar desperdiçar recursos dos bundlers ou invalidar operações depois que elas entram no mempool.

O staking permite que algumas entidades tenham maior acesso ao armazenamento durante a validação, expondo-as ao mesmo tempo a consequências para sua reputação.

Os bundlers podem monitorar entidades que repetidamente causam pacotes inválidos ou adotam comportamentos abusivos.

As políticas específicas de reputação off-chain podem variar de acordo com a implementação do bundler.

O staking reduz determinados incentivos a ataques, mas não comprova que um paymaster ou uma factory seja confiável.

O que é a simulação de UserOperation?

A simulação é o processo off-chain usado pelo bundler para prever se uma UserOperation passará pela validação do EntryPoint.

O bundler realiza chamadas e rastreamentos com base no estado atual da blockchain, sem confirmar as alterações simuladas.

A simulação verifica a criação da conta, a validade do nonce, a autorização da conta, a aprovação do paymaster, o financiamento de gas e o comportamento restrito de validação.

Normalmente, o bundler simula a operação quando a recebe pela primeira vez, novamente ao selecioná-la para um pacote e mais uma vez antes de enviá-lo.

É necessário repetir a simulação porque outra transação pode alterar saldos, depósitos, nonces, código de contratos ou outros estados relevantes.

Uma simulação bem-sucedida não garante que a execução do aplicativo será bem-sucedida.

Regras de validação do ERC-7562

A validação programável cria riscos de negação de serviço que não existem da mesma forma nas assinaturas de contas comuns.

Uma conta maliciosa poderia fazer a validação depender de um estado instável ou consumir muitos recursos do bundler.

As regras de validação do ERC-7562 limitam opcodes, acesso ao armazenamento e outros comportamentos durante a validação pública de UserOperations no mempool.

Os bundlers aplicam essas regras off-chain antes de incluir as operações.

As restrições se aplicam à validação, não a todas as ações realizadas durante a execução principal da conta.

Uma operação aceita em um mempool privado ou alternativo pode seguir políticas diferentes das do mempool compartilhado canônico.

Execução de UserOperation

Após a validação bem-sucedida, o EntryPoint chama a smart account para executar a operação solicitada.

A conta interpreta seu

callData
de acordo com a própria implementação.

A operação pode chamar um contrato, transferir criptoativos ou executar várias ações em lote.

O EntryPoint não determina se a ação do aplicativo é financeiramente sensata.

Ele coordena a autorização da conta, o cálculo de gas e a execução de acordo com as regras do contrato.

Mesmo uma operação devidamente autorizada pode interagir com um token malicioso, um contrato inseguro ou uma posição financeira desfavorável.

A interface IAccountExecute

Uma smart account pode implementar opcionalmente a interface

IAccountExecute
.

Essa interface fornece uma função

executeUserOp
que recebe a UserOperation compactada atual e seu hash.

O EntryPoint pode chamar essa função em vez de chamar diretamente a conta com os dados originais de execução.

Isso permite que a conta examine informações mais completas da UserOperation durante a execução.

O método de execução exato depende da versão do EntryPoint e das interfaces compatíveis com a conta.

A função getCurrentUserOpHash

O EntryPoint v0.9 adiciona a função

getCurrentUserOpHash
.

Ela permite que um contrato consulte o hash da UserOperation em execução naquele momento.

O valor fica disponível somente no contexto de execução correspondente.

Fora da execução de uma UserOperation, a função retorna um valor zero, de acordo com a interface especificada.

Esse recurso pode ajudar contratos de terceiros a vincular o comportamento de execução à UserOperation exata que está sendo processada.

Os desenvolvedores não devem tratar um resultado zero fora do contexto de execução como evidência de que um chamador é confiável.

Liquidação de gas e o beneficiário

O EntryPoint mede o gas associado ao processamento de cada UserOperation.

Ele cobra da conta ou do paymaster responsável com base no custo real e nos limites de taxa da operação.

As taxas cobradas são enviadas ao beneficiário informado na chamada

handleOps
do bundler.

Isso reembolsa a entidade que enviou e pagou pela transação na blockchain.

O valor pré-financiado não utilizado permanece no depósito da conta ou do paymaster no EntryPoint.

Erros na estimativa de gas podem fazer com que uma operação seja rejeitada, fique sem gas ou reserve mais fundos do que o esperado.

Uma operação malsucedida pode interromper um pacote?

Uma falha de validação pode levar à exclusão de uma operação ou fazer com que o envio do pacote seja revertido, dependendo do momento em que o problema for detectado e da função do EntryPoint utilizada.

Por isso, os bundlers simulam as operações repetidamente antes de enviar o pacote.

Mesmo após passar pela validação, a execução do aplicativo ainda pode ser revertida.

Em geral, uma reversão na execução é registrada como uma UserOperation malsucedida, mas o gas continua podendo ser cobrado.

Os bundlers precisam montar os pacotes com cuidado para que uma mudança de estado não invalide inesperadamente uma operação posterior.

Os aplicativos devem consultar os recibos e eventos de sucesso das UserOperations, em vez de presumir que a inclusão no pacote significa que a chamada solicitada foi bem-sucedida.

Eventos do EntryPoint

O EntryPoint emite eventos que permitem acompanhar a atividade das UserOperations.

Um evento de UserOperation pode identificar o hash da operação, o remetente, o paymaster, o nonce, o status de sucesso, o custo real de gas e o gas utilizado.

Eventos de implantação de contas podem identificar smart accounts recém-criadas e suas factories.

Eventos de depósito e saque registram mudanças nos saldos de gas pré-financiados.

Eventos de stake registram atividades de staking, desbloqueio e saque.

Versões mais recentes podem adicionar eventos para comportamentos específicos da versão, como dados de implantação ignorados ou inicialização do EIP-7702.

Os indexadores precisam usar as definições de eventos da versão exata do EntryPoint que estão acompanhando.

EntryPoint e EIP-7702

O EIP-7702 permite que uma conta de propriedade externa autorize uma delegação a código de contrato inteligente.

As versões atuais do ERC-4337 podem usar essa delegação para oferecer recursos de abstração de contas a um endereço existente.

A especificação oficial do EIP-7702 define o mecanismo de autorização no nível da transação.

Um bundler ERC-4337 pode incluir os dados de autorização necessários ao enviar um pacote compatível de UserOperations.

O EntryPoint inclui o destino da delegação na lógica pertinente de hash e inicialização.

O EIP-7702 não elimina a necessidade de proteger a implementação da conta delegada, o processo de autorização e a integração com o EntryPoint.

Intervalos de validade no EntryPoint v0.9

Smart accounts e paymasters podem restringir uma UserOperation a um período de validade.

O comportamento anterior do EntryPoint representava esses limites por meio de timestamps.

A versão 0.9 também aceita intervalos de validade interpretados como números de bloco quando se usa a flag de codificação especificada.

Isso pode ajudar aplicativos cujas permissões ou ações já são definidas com base na altura do bloco.

Os bundlers precisam entender a codificação e evitar incluir operações ainda inválidas ou com probabilidade de expirar antes da inclusão.

Implantação determinística do EntryPoint

As implantações oficiais do EntryPoint usam técnicas determinísticas de criação de contratos para que a mesma versão possa ter o mesmo endereço em redes compatíveis e suportadas.

Isso pode simplificar a configuração de carteiras e bundlers.

A documentação do contrato EntryPoint explica como o repositório oficial usa um salt de implantação fixo para implantações locais e compatíveis.

Ter o mesmo endereço não basta para comprovar autenticidade, pois uma rede diferente pode conter outro código ou histórico de implantação.

Os desenvolvedores devem verificar o bytecode e o hash do código no endereço em cada rede compatível.

EntryPoint vs. smart account

O EntryPoint é uma infraestrutura compartilhada por muitas smart accounts.

Uma smart account é o contrato específico do usuário que mantém os ativos e define as regras de autorização.

Em geral, o EntryPoint não armazena os saldos de tokens do usuário nem substitui o endereço da smart account.

A smart account decide se uma UserOperation está autorizada.

O EntryPoint aplica uma estrutura comum de processamento, nonce, implantação, gas e liquidação.

Uma vulnerabilidade em uma smart account pode afetar essa conta mesmo que o EntryPoint funcione corretamente.

Uma vulnerabilidade em uma versão do EntryPoint amplamente utilizada pode afetar muitas contas e paymasters que confiam nela.

EntryPoint vs. bundler

O EntryPoint é um contrato on-chain.

Um bundler é um participante off-chain que recebe UserOperations e envia uma transação ao EntryPoint.

O bundler simula as operações e paga a taxa inicial da transação na rede.

O EntryPoint realiza a validação autoritativa on-chain e a liquidação.

Um bundler não pode tornar válida uma assinatura inválida de uma smart account.

No entanto, um bundler pode atrasar ou se recusar a incluir uma operação. Por isso, as carteiras podem se beneficiar de mais de uma rota de envio compatível.

EntryPoint vs. paymaster

O EntryPoint processa operações e liquida seus custos de gas.

Um paymaster pode concordar em pagar esses custos para determinados usuários ou ações.

O paymaster define suas próprias regras de patrocínio dentro das restrições de validação do ERC-4337.

Ele precisa manter um depósito suficiente e talvez também precise de um stake.

O EntryPoint não obriga um paymaster a patrocinar todas as operações válidas.

Uma indisponibilidade do paymaster ou a rejeição de uma política pode interromper um fluxo patrocinado mesmo quando a smart account é válida.

EntryPoint vs. account factory

Uma account factory implanta contratos de smart accounts.

Quando um remetente ainda não implantado fornece dados válidos de criação, o EntryPoint chama a factory por meio do mecanismo SenderCreator.

A factory precisa gerar o endereço de conta esperado.

Ela também precisa restringir caminhos de criação sensíveis de acordo com os requisitos de segurança do ERC-4337.

O EntryPoint não define a implementação, os proprietários, os módulos nem as regras de recuperação da smart account.

Essas características são estabelecidas pela factory e pelos dados de inicialização.

Benefícios do modelo EntryPoint

O EntryPoint oferece aos bundlers uma interface compartilhada para diferentes designs de smart accounts.

Ele permite que as contas definam uma autorização programável, em vez de depender de um único modelo fixo de assinatura.

Ele permite a implantação contrafactual da conta como parte da primeira UserOperation.

Ele permite que paymasters patrocinem gas de acordo com políticas programáveis.

Ele permite agrupar várias ações do usuário em uma única transação subjacente.

Ele separa a autorização do usuário da conta que paga a taxa de transação da rede.

Ele pode ser implantado em redes compatíveis sem exigir uma alteração na camada de consenso.

Limitações do modelo EntryPoint

O EntryPoint acrescenta contratos, métodos RPC, simulações, campos de gas e funções de infraestrutura.

Uma carteira precisa se coordenar com um bundler compatível e, possivelmente, com um paymaster.

Diferentes versões do EntryPoint podem fragmentar a liquidez, as ferramentas e o suporte ao mempool.

A validação programável cria riscos de negação de serviço que exigem regras off-chain rigorosas.

A estimativa de gas é mais complexa do que a estimativa de uma transação de conta básica.

Uma operação patrocinada pode falhar se o paymaster estiver indisponível ou rejeitar a solicitação.

A abstração de contas aumenta a flexibilidade das carteiras, mas não elimina phishing, aplicativos maliciosos, aprovações inseguras ou erros em contratos inteligentes.

Riscos de segurança do EntryPoint

O EntryPoint é uma dependência compartilhada de alto valor, pois smart accounts e paymasters lhe concedem autoridade especial.

Uma falha na validação, no cálculo de gas, nos depósitos, no staking, na criação de contas ou na execução pode ter efeitos abrangentes.

Os desenvolvedores devem usar implantações oficiais auditadas, em vez de modificar o contrato principal sem cuidado.

As carteiras precisam verificar o endereço e a versão confiáveis do EntryPoint.

Os bundlers precisam aplicar as regras de validação e reputação de forma consistente.

Contas e paymasters precisam verificar se callbacks sensíveis têm origem no EntryPoint confiável.

As factories precisam verificar chamadas do contrato SenderCreator correto.

Riscos de assinatura e autorização

A abstração de contas permite assinaturas flexíveis, mas essa flexibilidade não garante uma autorização segura.

Um verificador de passkey fraco, um limite incorreto de múltiplas assinaturas, uma chave de sessão exposta ou um módulo de recuperação defeituoso podem autorizar UserOperations indesejadas.

A conta precisa vincular a autorização ao hash correto da operação, ao chain ID, ao EntryPoint, ao nonce, ao intervalo de validade e às chamadas pretendidas.

As interfaces das carteiras devem exibir claramente as chamadas contidas em um lote antes de solicitar aprovação.

Uma assinatura válida de smart account pode autorizar várias ações ao mesmo tempo, inclusive aprovações e transferências de tokens.

Riscos dos paymasters

Um paymaster pode aplicar regras de patrocínio restritivas ou centralizadas.

Ele pode deixar de patrocinar atividades se seu depósito estiver baixo, se o serviço estiver indisponível ou se sua política mudar.

Um paymaster com falhas pode perder seu depósito devido a erros de validação ou de contabilidade.

Um usuário malicioso pode tentar consumir os recursos do paymaster sem concluir ações úteis.

Se a chave de assinatura de um paymaster for comprometida, ela poderá aprovar operações fora da política prevista.

Os usuários não devem presumir que o patrocínio de gas significa que uma operação é segura ou não envolve outras cobranças.

Riscos dos bundlers

Um bundler pode censurar, atrasar, precificar incorretamente ou descartar uma UserOperation.

Também pode fornecer estimativas de gas imprecisas ou informações de status desatualizadas.

A smart account continua protegida pela validação on-chain, mas a experiência do usuário ainda pode falhar quando o bundler escolhido não é confiável.

As carteiras devem lidar com timeouts, substituição de operações, mudanças de taxas e envio por bundlers alternativos, quando houver suporte.

Os usuários devem verificar os recibos finais on-chain, em vez de confiar apenas na resposta pendente de um bundler.

Riscos da estimativa de gas

Uma UserOperation separa vários limites de gas para validação, execução, atividade do paymaster e custos adicionais do bundler.

Um limite muito baixo pode causar falha na validação ou na execução.

Um limite desnecessariamente alto pode exigir um pré-financiamento maior, embora a liquidação final deva considerar o custo real, dentro das regras do protocolo.

Os custos de dados específicos da rede podem afetar

preVerificationGas
.

Os custos de autorização do EIP-7702 também podem exigir cálculos adicionais que o EntryPoint não consegue observar diretamente.

As carteiras devem usar um serviço RPC compatível com a rede e a versão do EntryPoint selecionadas.

Reentrância e chamadas externas

O EntryPoint chama smart accounts, factories, paymasters, agregadores de assinatura e contratos de aplicativos.

Essas chamadas externas podem executar qualquer código de contrato.

As implementações precisam considerar que o código externo pode ser revertido, consumir gas ou tentar reentrância.

Smart accounts e módulos devem proteger seus próprios estados críticos durante a execução iniciada pelo EntryPoint.

A lógica pós-operação do paymaster não deve presumir que a ação solicitada pela conta foi bem-sucedida.

Extensões personalizadas de abstração de contas exigem uma análise de segurança independente, mesmo quando usam um EntryPoint auditado.

Como os desenvolvedores devem integrar o EntryPoint

O primeiro passo é escolher uma versão compatível do EntryPoint e verificar sua implantação oficial em cada rede.

O segundo passo é configurar a smart account para confiar somente em endereços EntryPoint aprovados.

O terceiro passo é implementar

validateUserOp
com o comportamento correto de assinatura, nonce, validade e financiamento.

O quarto passo é usar as regras corretas de compactação e hash da UserOperation.

O quinto passo é testar fluxos de contas implantadas e ainda não implantadas.

O sexto passo é integrar um bundler compatível com a versão selecionada do EntryPoint.

O sétimo passo é testar a simulação de operações, a substituição, os recibos de falha e a estimativa de gas.

O oitavo passo é revisar as permissões de paymasters, factories, módulos, atualizações e recuperação.

O nono passo é testar contratos maliciosos de validação e execução.

O décimo passo é acompanhar as versões oficiais, as auditorias e as orientações de migração.

Como os usuários interagem com o EntryPoint

A maioria dos usuários não chama o EntryPoint manualmente.

Uma carteira de smart account cria e envia a UserOperation em segundo plano.

Antes da criação da transação subjacente na blockchain, o usuário pode ver o hash de uma operação de abstração de contas.

Após a inclusão, um explorador de blockchain pode mostrar uma transação que chama

handleOps
no EntryPoint.

Essa única transação pode conter operações de várias smart accounts sem relação entre si.

O usuário deve verificar o resultado individual de cada UserOperation, em vez de presumir que todas as ações do pacote tiveram o mesmo resultado.

Exemplo de transação do EntryPoint

Suponha que Alice use uma smart account e queira aprovar um token e depositá-lo em um cofre cripto em uma única ação.

A carteira dela cria uma UserOperation que contém as duas chamadas.

A lógica de autorização da conta aprova a operação usando o método de autenticação configurado por Alice.

Um paymaster concorda em patrocinar o gas da rede de acordo com sua política.

A carteira envia a operação a um bundler compatível.

O bundler simula a validação da conta e do paymaster.

Em seguida, inclui a operação de Alice junto com outras UserOperations em uma chamada à função

handleOps
do EntryPoint.

O EntryPoint confirma o nonce, a autorização da conta, a aprovação do paymaster e a disponibilidade do depósito de gas.

A smart account executa a aprovação do token e o depósito no cofre.

O EntryPoint cobra o custo real de gas do depósito do paymaster e paga ao beneficiário do bundler.

Se a chamada ao cofre for revertida, a operação de Alice poderá ser registrada como malsucedida, enquanto o gas consumido continuará sendo cobrado.

Erros comuns sobre o EntryPoint

Um erro comum é confundir o EntryPoint com a smart account do usuário.

Outro erro é enviar uma UserOperation a um bundler compatível com outra versão do EntryPoint.

Um terceiro erro é confiar em um endereço EntryPoint sem verificar o código implantado.

Um quarto erro é presumir que a inclusão em um pacote prova que a chamada do aplicativo foi bem-sucedida.

Um quinto erro é confundir um depósito de gas com o stake de um paymaster.

Um sexto erro é não incluir o chain ID e o endereço do EntryPoint na lógica de autorização.

Um sétimo erro é tratar uma simulação bem-sucedida como garantia de execução bem-sucedida.

Um oitavo erro é permitir que funções sensíveis da conta aceitem chamadas de qualquer contrato que se apresente como EntryPoint.

Um nono erro é presumir que uma transação patrocinada não pode cobrar tokens nem aplicar outra taxa.

Um décimo erro é migrar para um novo EntryPoint sem analisar os comportamentos específicos da versão e os relatórios de segurança.

Perguntas frequentes

O que é o EntryPoint no ERC-4337?

O EntryPoint é o contrato inteligente central que valida, executa e liquida UserOperations para carteiras compatíveis com abstração de contas.

O EntryPoint é uma carteira?

Não. É uma infraestrutura compartilhada por carteiras de smart accounts, bundlers, factories e paymasters.

O EntryPoint é uma criptomoeda?

Não. O EntryPoint é um software de contrato inteligente e não requer um token próprio.

Qual é a versão mais recente do EntryPoint?

Em 16 de julho de 2026, o repositório oficial de abstração de contas indica o EntryPoint v0.9.0 como a versão mais recente.

Qual é o endereço do EntryPoint v0.9?

A versão oficial v0.9 informa o endereço

0x433709009B8330FDa32311DF1C2AFA402eD8D009
, mas os desenvolvedores precisam verificar a rede, o código e as informações oficiais de segurança antes de usá-lo.

Pode haver várias versões do EntryPoint?

Sim. Versões antigas e novas podem coexistir enquanto carteiras, bundlers e paymasters migram.

O que é uma UserOperation?

Uma UserOperation é uma solicitação estruturada de abstração de contas que contém o remetente, o nonce, as chamadas, as configurações de gas, a autorização e dados opcionais de implantação ou patrocínio.

Uma UserOperation é uma transação Ethereum?

Não. Um bundler agrupa uma ou mais UserOperations em uma transação comum na blockchain e a envia ao EntryPoint.

O que a função handleOps faz?

Ela valida e executa um pacote de UserOperations e paga ao beneficiário selecionado com os custos de gas cobrados.

Quem chama o EntryPoint?

Em geral, um bundler chama o EntryPoint ao enviar um pacote de UserOperations on-chain.

Quem autoriza uma UserOperation?

A smart account a autoriza por meio da própria lógica

validateUserOp
.

Um bundler pode gastar fundos sem a aprovação da conta?

Uma smart account implementada corretamente rejeita operações que não atendam às suas regras de autorização.

O que é um depósito no EntryPoint?

É moeda nativa pré-financiada e mantida no EntryPoint para pagar custos futuros de gas das UserOperations.

O que é um stake no EntryPoint?

É moeda nativa bloqueada e usada por determinadas entidades, especialmente paymasters, como parte das proteções contra negação de serviço e abuso de reputação.

O depósito de um paymaster é igual ao seu stake?

Não. O depósito paga o gas, enquanto o stake fica bloqueado separadamente e tem um período de espera para unstaking.

O que é um paymaster?

Um paymaster é um contrato que concorda em pagar o custo de gas de determinadas UserOperations.

Um paymaster torna todas as operações gratuitas?

Não. Ele pode rejeitar operações, aplicar regras de elegibilidade ou usar outro método para recuperar seus custos.

O que é a simulação de UserOperation?

É o processo off-chain usado pelos bundlers para prever se uma operação passará pela validação do EntryPoint antes de enviá-la.

Uma simulação bem-sucedida garante a execução?

Não. A execução do aplicativo ainda pode ser revertida ou o estado da blockchain pode mudar antes da inclusão.

Por que o endereço do EntryPoint é incluído no hash da operação?

Isso ajuda a impedir que uma autorização destinada a uma versão do EntryPoint seja reutilizada por meio de outro contrato.

Por que o chain ID é incluído no hash da operação?

Isso ajuda a impedir que a mesma operação assinada seja reutilizada automaticamente em outra rede blockchain.

O EntryPoint pode implantar uma smart account?

Ele pode coordenar a implantação por meio dos dados de criação da conta e de uma factory quando a conta do remetente ainda não existir.

O que é uma smart account contrafactual?

É um endereço de smart account calculado antes da implantação do contrato da conta.

O EntryPoint guarda os tokens dos usuários?

Em geral, os tokens ficam na smart account do usuário, enquanto o EntryPoint mantém apenas depósitos e stakes relacionados ao processamento de gas.

Uma transação do EntryPoint pode incluir vários usuários?

Sim. Um bundler pode incluir UserOperations de várias smart accounts sem relação entre si em uma única transação

handleOps
.

Uma UserOperation malsucedida ainda pode consumir gas?

Sim. A validação e uma execução malsucedida consomem gas, e a conta ou o paymaster responsável ainda pode ser cobrado.

O EntryPoint oferece suporte a contas EIP-7702?

As versões atuais do EntryPoint oferecem suporte a fluxos compatíveis de autorização EIP-7702 e de contas delegadas.

O que mudou no EntryPoint v0.9?

As principais mudanças incluem assinaturas paralelas de paymaster, intervalos de validade por número de bloco, tratamento atualizado dos dados de implantação, consultas ao hash da UserOperation atual e melhorias adicionais de observabilidade.

Um projeto deve implantar seu próprio EntryPoint?

Em geral, carteiras de produção usam uma implantação canônica analisada, enquanto implantações locais personalizadas são usadas principalmente para testes e desenvolvimento.

O EntryPoint é seguro?

O contrato oficial passa por uma análise rigorosa, mas a segurança ainda depende da implantação e da versão exatas, da smart account, do bundler, do paymaster, da factory, dos módulos e do código de integração.

Conclusão

O EntryPoint é a porta de entrada central on-chain da abstração de contas ERC-4337.

Ele recebe UserOperations agrupadas, coordena a validação de smart accounts, implanta contas quando necessário, verifica o financiamento de gas, executa chamadas aprovadas e liquida taxas.

Os bundlers enviam operações ao EntryPoint, enquanto as smart accounts mantêm o controle sobre suas próprias regras de autorização.

Os paymasters podem patrocinar gas mantendo depósitos e aceitando operações por meio de políticas de validação programáveis.

O EntryPoint também gerencia canais de nonce, depósitos, stakes, eventos de operações e outras funções compartilhadas de abstração de contas.

Em 16 de julho de 2026, a v0.9.0 era a versão mais recente indicada pelo repositório oficial de abstração de contas.

A compatibilidade entre versões ainda exige que cada carteira, bundler, paymaster, factory e implementação de conta esteja de acordo com a implantação do EntryPoint selecionada.

Os desenvolvedores precisam verificar o endereço e o bytecode, proteger as verificações de chamadores confiáveis, seguir as regras exatas de hash, simular as operações e analisar cada contrato conectado.

Os usuários devem entender que o gas patrocinado e as carteiras programáveis melhoram a usabilidade, mas não eliminam phishing, falhas de execução, riscos de aprovação nem vulnerabilidades em contratos inteligentes.

Compreender o EntryPoint ajuda os usuários de cripto a distinguir o contrato compartilhado de processamento ERC-4337 da smart account, do bundler, do paymaster e das ações do aplicativo construídas em torno dele.

Você também pode gostar

BTC ETFs See $679M in Outflows
BTC ETFs See $679M in OutflowsBTC ETFs See $679M in Outflows
Citi sees BTC at $113K. What do institutions see?