Somente para fins educacionais; não constitui recomendação nem aconselhamento de investimento. Investir pode causar perdas.
Resposta direta
Em uma rede compatível com EVM, as transações de uma conta de propriedade externa (EOA) são executadas na ordem dos nonces. Se o próximo nonce executável estiver ausente ou travado, nonces mais altos podem continuar na fila mesmo com taxas elevadas. Recupere primeiro o menor nonce não resolvido: confirme rede e remetente, compare dados confirmados e pendentes e então substitua a transação desejada ou faça-a competir com uma transação de cancelamento no mesmo nonce.
Cancelar não é desfazer no nível do protocolo. Em geral, é uma transferência de 0 ETH da conta para ela mesma, que compete pelo mesmo nonce. A primeira transação válida incluída vence; uma transação confirmada não pode ser cancelada assim.
Este procedimento vale para transações EOA comuns em EVM. Contas inteligentes ou operações de abstração de conta podem usar esquemas de nonce definidos por contrato; redes UTXO usam outro modelo.
Por que uma lacuna de nonce bloqueia a fila
O nonce de uma EOA é um contador sequencial. Apenas uma transação pode ser executada em cada nonce, e a conta não pode executar o nonce 26 antes do nonce 25. Por isso, nós separam transações imediatamente executáveis de nonces mais altos enfileirados para o futuro.
A fila não é um mempool global e oficial. Cada nó RPC vê e retém um subconjunto diferente de transações pendentes. Uma transação pode aparecer na carteira e não no explorador, ou ser visível por um RPC e ausente em outro. Talvez nunca tenha sido transmitida, tenha sido removida do pool de um nó ou ainda não tenha chegado ao serviço consultado.
eth_getTransactionCount com latest retorna a contagem no estado do bloco mais recente; para uma EOA, é o próximo nonce após as transações confirmadas. Com pending, a chamada consulta a visão pendente de um único nó. A diferença sugere que esse nó conhece transações pendentes, mas não prova que todos os nós públicos as conhecem.
Diagnostique antes de assinar
- Pare os envios do endereço afetado em todos os dispositivos e aplicativos. Registre rede, chain ID, endereço remetente, hashes, nonces, destinatários, valores, calldata, gas limits e campos de taxa.
- Confirme que carteira, explorador e RPC apontam para a mesma rede e o mesmo remetente. O nonce pertence a uma conta em uma rede, não a uma instalação da carteira.
- Consulte
eth_getTransactionCountcomlatestepending, de preferência em dois provedores RPC independentes. Trate divergências como visões distintas do mempool, não como prova de estado on-chain inconsistente. - Examine por nonce as transações do remetente. Se disponível, a API do pool do nó distingue entradas executáveis
pendingde entradas futurasqueued. Provedores RPC públicos costumam desativar essa API não padronizada. - A partir do valor
latest, encontre o primeiro nonce sem transação confirmada. Determine se uma transação conhecida ainda está visível, foi removida ou só foi criada localmente.
Não aja apenas com base no status da carteira. O nonce confirmado, o recibo e a inclusão em bloco na rede correta são as evidências decisivas.
Substitua ou cancele o primeiro nonce não resolvido
Para preservar a ação original: use a função de acelerar ou retransmita uma transação com os mesmos remetente, nonce, destinatário, valor e calldata, mas com taxas competitivas. Confira todos os campos antes de assinar; alterar o payload cria outra ação.
Para abandonar a ação original: enquanto ela não estiver confirmada, envie 0 ETH do endereço para ele mesmo com o mesmo nonce e taxas competitivas. Isso apenas tenta fazer a autotransferência vencer. A original ainda pode confirmar primeiro; só considere o cancelamento bem-sucedido quando a substituta tiver recibo e a original continuar não confirmada.
A admissão da substituição é política do nó, não uma porcentagem universal. Em uma transação EIP-1559, talvez seja necessário aumentar maxPriorityFeePerGas e maxFeePerGas, e maxFeePerGas precisa continuar utilizável com a base fee atual. Estimativas de carteiras e regras de clientes variam; replacement transaction underpriced significa que o nó receptor recusou a substituição segundo a política atual.
Depois que o menor nonce confirmar, confira novamente recibo, latest, saldos e cada nonce superior. Transações na fila podem se tornar executáveis imediatamente; as removidas por todos os nós relevantes talvez precisem ser retransmitidas de modo deliberado. Não reenvie às cegas: antes, confirme que nenhuma cópia anterior foi incluída.
Exemplo
Um endereço tem transações confirmadas até o nonce 24, então latest é 25. Um RPC informa pending como 25, enquanto a carteira mostra o nonce 26 e o nonce 27 na fila. Nenhum provedor encontra uma transação transmitida no nonce 25.
O proprietário verifica primeiro rede, remetente e payloads registrados. Se havia uma ação desejada no nonce 25, ele a reconstrói e transmite com nonce 25 e taxas atuais. Caso contrário, pode enviar uma autotransferência de 0 ETH no nonce 25. Aumentar apenas a taxa do nonce 27 não fecha a lacuna.
Quando o nonce 25 for incluído, ele verifica o recibo antes de mexer no nonce 26 ou nonce 27. Cada um é revisado separadamente, pois pode ter sido removido ou executar rapidamente depois que a lacuna se fechar.
Riscos e condições de parada
- A substituta pode competir com a original. Até haver evidência on-chain, suponha que destinatário, valor e chamada de contrato originais ainda podem executar.
- Confirme endereço completo do remetente, chain ID, nonce e calldata em uma tela confiável. Malware ou site de “recuperação” não confiável pode trocar por uma transferência ou aprovação.
- Mantenha moeda nativa suficiente para a taxa de substituição. A transação incluída paga gas mesmo que uma chamada de contrato depois reverta.
- Não revele frase-semente nem chave privada para recuperar uma lacuna. Nenhum RPC, explorador ou suporte legítimo precisa delas.
- Se o endereço estiver comprometido, substituições públicas repetidas podem virar uma disputa de taxas com o invasor. Pare de usar o dispositivo comprometido e siga um plano de resposta a incidentes.
- Se RPCs discordarem, o destinatário original for desconhecido, o payload não puder ser reconstruído ou houver uma grande interação de contrato em risco, pare e procure ajuda especializada antes de assinar.
Para uso recorrente entre dispositivos ou signatários automáticos, evite reincidência com um alocador de nonce por conta e rede, assinatura serializada, registros duráveis de nonces e hashes reservados e conciliação com o estado confirmado e o pool pendente do transmissor. Redefinir o histórico local da carteira não altera o estado on-chain nem os mempools de outros nós.
Erros comuns
- “Uma taxa maior no nonce 27 permite pular o nonce 25.” Ela só pode melhorar a prioridade quando os nonces anteriores forem executáveis; não corrige a lacuna.
- “Não encontrada significa cancelada.” Um nó pode removê-la enquanto outro nó, builder ou contraparte ainda a possui. Uma transação assinada pode ser retransmitida.
- “Uma autotransferência de 0 ETH reverte a original.” Ela apenas compete pelo mesmo nonce e não tem efeito depois da confirmação da original.
- “
pendingé a resposta final da rede.” É a visão pendente do nó consultado e pode variar entre provedores.
Tópicos relacionados
- Nonce
- Substituição de transação
- Taxa insuficiente na transação substituta
- Taxa de prioridade
- Nó RPC
- Carteira de criptomoedas
Fontes
- Transações - Ethereum.org (acessado em: 2026-08-22)
- API JSON-RPC - Ethereum.org (acessado em: 2026-08-22)
- Namespace txpool - go-ethereum (acessado em: 2026-08-22)
- Como acelerar ou cancelar uma transação pendente - Central de Ajuda da MetaMask (acessado em: 2026-08-22)