Principais Conclusões

  • Uma transação Ethereum pendente pode ficar presa quando sua taxa de gás é muito baixa em comparação com a demanda atual da rede.

  • Você pode acelerar ou substituir uma transação presa transmitindo uma nova com uma taxa de prioridade mais alta, usando o mesmo nonce da original.

  • Esse método funciona com ETH e tokens ERC-20 em qualquer carteira compatível com Ethereum.

  • Você precisará de uma carteira cripto como MetaMask ou Trust Wallet que permita configurações manuais de nonce e gás.

Binance Academy courses banner

Introdução

Se você já enviou uma transação no Ethereum e a viu ficar em um estado pendente por horas, você não está sozinho. O Ethereum processa milhares de transações ao mesmo tempo, e quando a rede está ocupada, transações com taxas de gás mais baixas podem ficar esperando. Este artigo explica por que isso acontece e como você pode corrigir.

A boa notícia é que você pode substituir uma transação pendente presa por uma nova que pague uma taxa mais alta. Isso funciona tanto para ETH quanto para tokens ERC-20. As ferramentas mais comuns para isso são MetaMask e Trust Wallet, embora qualquer carteira com suporte à personalização de nonce funcione.

Lembre-se de que você não pode cancelar uma transação que já foi confirmada na cadeia. A técnica descrita aqui se aplica apenas a transações que ainda estão pendentes na mempool.

Por que minha transação Ethereum está presa?

O Ethereum usa um mercado de taxas para priorizar transações. Desde que o EIP-1559 foi introduzido, cada transação inclui uma taxa base (definida pela rede) e uma taxa de prioridade (uma gorjeta que você paga aos validadores). Os validadores escolhem quais transações incluir em cada bloco, e geralmente preferem aquelas com taxas de prioridade mais altas.

Quando a rede está congestionada, muitos usuários competem para ter suas transações incluídas. Se sua taxa de prioridade for muito baixa, sua transação pode ficar na mempool indefinidamente. A mempool é uma área de espera onde transações não confirmadas aguardam antes de serem capturadas por um validador.

Às vezes, uma transação presa se resolverá sozinha se a atividade da rede diminuir. Mas se você precisar que isso seja resolvido mais cedo, pode substituí-la manualmente.

Requisitos

  • MetaMask ou Trust Wallet instalados e configurados.

  • Acesso à carteira que enviou a transação presa (frase semente ou chave privada se estiver importando).

  • Uma pequena quantidade de ETH para cobrir a taxa de gás mais alta na transação de substituição.

Como Acelerar uma Transação no MetaMask

O MetaMask oferece uma opção de um clique para acelerar uma transação pendente. Esta é a abordagem mais simples.

1. Abra o MetaMask e vá para a aba Atividade. Encontre a transação pendente.

speed up ETH sending option

2. Clique em Acelerar. O MetaMask sugerirá uma taxa de gás mais alta.

choose higher gas fee option

3. Confirme a nova taxa e envie. O MetaMask irá retransmitir a transação com uma taxa de prioridade mais alta, usando o mesmo nonce da original.

Uma vez que um validador inclua a nova transação em um bloco, a transação pendente original é efetivamente substituída e descartada.

Como Substituir uma Transação no MetaMask

Se a opção Acelerar não funcionar, ou se você quiser cancelar a transação completamente (enviando 0 ETH para si mesmo), você pode fazer isso manualmente usando o recurso de nonce personalizado.

1. Vá para Configurações do MetaMask, depois Avançado. Ative a Personalização de nonce da transação.

customize transaction nonce page

2. Encontre a transação pendente na aba Atividade. Clique nela e anote o valor do Nonce. Se você tiver várias transações pendentes, comece pela que tiver o menor nonce.

check nonce number and transaction details

3. Clique em Enviar. No campo do destinatário, cole o endereço da sua própria carteira. Defina o valor para 0 ETH. Você precisa enviar 0 ETH para sua própria carteira usando o nonce da transação pendente (anotado no passo 2). Clique em [Confirmar] quando estiver pronto.

add recipient search bar

4. Antes de confirmar, clique no campo nonce e insira o mesmo número de nonce que você registrou no passo 2.

custom nonce confirmation page

5. Defina uma taxa de gás que seja superior à transação presa. Você pode verificar os preços atuais do gás no rastreador de gás do Etherscan.

6. Clique em Confirmar. Aguarde a nova transação ser confirmada. Isso substituirá a original.

Após a transação de substituição ser confirmada, lembre-se de voltar para Configurações > Avançado e desativar a Personalização de nonce da transação para evitar erros acidentais de nonce no futuro.

Perguntas Frequentes

O que acontece se eu não fizer nada?

Se você deixar uma transação presa sozinha, ela será eventualmente capturada por um validador quando as taxas caírem, ou será descartada da mempool após um certo tempo. No entanto, algumas carteiras continuam retransmitindo transações presas, o que significa que elas podem ser confirmadas inesperadamente mais tarde. Substituí-la manualmente lhe dá mais controle.

Posso cancelar uma transação confirmada?

Não. Uma vez que uma transação foi incluída em um bloco e confirmada na blockchain do Ethereum, não pode ser revertida ou cancelada. Essa é uma das propriedades principais da tecnologia blockchain. A técnica de substituição só funciona em transações que ainda estão pendentes.

O que é um nonce e por que ele importa?

Um nonce é um número sequencial atribuído a cada transação de um determinado endereço de carteira. O Ethereum processa transações em ordem, então uma transação com nonce 5 não pode ser confirmada antes da transação com nonce 4. Ao enviar uma nova transação com o mesmo nonce, você efetivamente diz à rede para ignorar a antiga.

Esse método funciona para outras redes?

Sim. O método de substituição de nonce funciona em qualquer rede compatível com a Ethereum Virtual Machine (EVM), como a BNB Smart Chain ou Polygon. Os passos são os mesmos, mas você precisará verificar os níveis de taxas de gás relevantes para essa rede, em vez da rede principal do Ethereum.

Considerações Finais

Ter uma transação presa em estado pendente pode ser frustrante, mas a solução é bastante simples uma vez que você entende como funciona o mercado de taxas do Ethereum. Ao enviar uma transação de substituição com uma taxa de prioridade mais alta e o mesmo nonce, você pode empurrar a original para fora da fila.

Leitura Adicional

  • Como Funcionam as Taxas de Gás no Ethereum?

  • Quais São as Taxas de Transação em Blockchain?

  • Como Usar MetaMask

  • O que é Trust Wallet?

  • O que é o Hard Fork de Londres do Ethereum?

Isenção de responsabilidade: Este conteúdo é apresentado a você em uma base "como está" para informação geral e ou propósitos educacionais apenas, sem representação ou garantia de qualquer tipo. Não deve ser interpretado como conselho financeiro, legal ou profissional de qualquer tipo, nem é destinado a recomendar a compra de qualquer produto ou serviço específico. Você deve buscar seu próprio conselho de conselheiros profissionais apropriados. Onde o conteúdo é contribuído por um terceiro, observe que as opiniões expressas pertencem ao contribuinte terceiro e não refletem necessariamente as de Binance Academy. Os preços dos ativos digitais podem ser voláteis. O valor do seu investimento pode cair ou subir e você pode não recuperar o valor investido. Você é o único responsável por suas decisões de investimento e a Binance Academy não é responsável por quaisquer perdas que você possa incorrer. Para mais informações, veja nossos Termos de Uso, Aviso de Risco e Termos da Binance Academy.