Transação Ethereum pendente: confira antes de enviar de novo
O status pendente na carteira não é motivo para repetir um pagamento. Identifique a transação e sua posição na fila antes de escolher o próximo passo.
Antes de enviar de novo, confira a transação original na rede correta. O status pendente na carteira pode indicar uma transação aguardando inclusão, uma transação na fila atrás de outra ou uma atividade que a carteira ainda não atualizou. Repetir o pagamento pode criar uma transação independente que será executada mais tarde.
Esta lista cobre transações comuns de uma conta normal na Ethereum Mainnet, também chamada de conta de propriedade externa ou EOA. Contas inteligentes, serviços de transações privadas ou de lotes de transações, transferências por pontes e saques de exchanges exigem as instruções do respectivo provedor. Se você não enviou de uma conta que controla, não tente substituir a transação do remetente por conta própria.
Comece pela rede e pelo hash completo da transação
Você pode diagnosticar a primeira parte sem conectar uma carteira nem assinar nada. Abra os detalhes da transação na carteira remetente e anote:
- Rede: confirme Ethereum Mainnet. Um endereço no formato Ethereum em outra blockchain não transforma a transação dela em uma transação da Mainnet.
- Hash da transação: copie o identificador inteiro, não o endereço do destinatário. Use o link do explorador fornecido pela carteira e verifique se ele leva ao explorador pretendido.
- Remetente: compare o endereço From completo com a conta usada para enviar. Confira também o destinatário e a ação pretendida.
- Nonce: encontre o número de sequência dessa transação nos detalhes. Anote junto com o hash, pois uma substituta tem outro hash, mas usa o mesmo remetente e nonce.
A documentação de transações do Ethereum identifica remetente, destinatário, valor, dados de entrada e nonce como campos separados. Uma transação para um contrato pode realizar uma ação em vez de simplesmente pagar ao endereço exibido em To. Confira os detalhes decodificados quando disponíveis; não presuma que toda transação é uma transferência simples de ETH.
Guarde o hash original mesmo que a carteira ofereça um botão para tentar de novo. Ele permite voltar a um registro específico, em vez de depender de um saldo que muda ou de uma notificação que desaparece.
Leia o status antes de escolher uma solução
No explorador, confira o status junto com as informações do bloco. A Etherscan descreve pending como a espera pela inclusão em um bloco. Taxas baixas e períodos de alta atividade podem contribuir para a espera, mas a palavra pending sozinha não identifica a causa.
| O que o registro mostra | O que conferir depois |
|---|---|
| Pending, sem bloco que contenha a transação | Confira os nonces anteriores não resolvidos do remetente antes de considerar uma substituição. |
| Success, com bloco | Inspecione a ação e o estado resultante. Repetir o pagamento pode duplicá-lo. |
| Failed, com bloco | Leia o motivo da falha. Esperar ou acelerar essa transação já incluída não a fará ter sucesso. |
| Dropped and replaced | Siga o hash da substituta e inspecione seu status e sua ação. |
| Hash não encontrado | Confira a rede e o hash completo novamente e compare a atividade da carteira com o histórico do remetente no explorador. |
Uma transação que falhou não é igual a uma que ainda está esperando. A especificação do status do recibo registra sucesso ou falha na execução; uma execução que falhou ainda pode ter sido incluída em um bloco. O gas consumido é cobrado mesmo quando a ação falha, como explica o guia de gas do Ethereum. Diagnostique o erro antes de autorizar outra tentativa.
Para quem consulta dados por software, a documentação JSON-RPC de recibos informa que transações pendentes não têm recibo. Um recibo retornado inclui o bloco e o status. Na resposta JSON-RPC bruta, 0x1 significa sucesso e 0x0 falha (os valores 1 e 0). A ausência de recibo, por si só, não estabelece onde a transação está: confira se o provedor conhece o hash e está consultando a rede correta.
Um hash não encontrado em um explorador é uma observação ainda não resolvida, não uma prova de que a transação nunca poderá ser executada. Considere a propagação e a indexação, confira novamente os detalhes de envio da carteira e use a ajuda oficial se os registros continuarem inconsistentes. Não crie um segundo pagamento só para testar a exibição.
Encontre o primeiro nonce não resolvido na fila
As transações de uma conta comum seguem uma sequência. Suponha que você encontre transações pendentes com nonces 42, 43 e 44, e que as anteriores já tenham sido incluídas. É um exemplo, não uma conta real. O nonce 42 é o primeiro a investigar; aumentar a taxa de 44 não elimina a lacuna anterior.
Abra a atividade do remetente na mesma rede e compare com a lista de pendentes da carteira. Confira se o primeiro nonce não resolvido ainda está pendente, já foi incluído ou está associado ao hash de uma substituta. Faça isso para a mesma conta remetente, não para todas as contas visíveis na carteira.
A explicação de substituições da Etherscan mostra que as substitutas compartilham o remetente e o nonce da original. Um nonce anterior precisa ser consumido por uma transação incluída antes que os posteriores possam ser executados. Uma transação que falhou e foi incluída em um bloco também consome seu nonce: as regras de transações do protocolo incrementam o nonce do remetente antes da execução. Não continue tentando substituir um nonce já usado na blockchain.
Depois de resolver a primeira lacuna, revise as transações posteriores na fila. Elas ainda podem representar ações que você não quer mais. Remover o primeiro obstáculo não significa decidir aprovar todos os itens que estão atrás dele.
Esperar, acelerar e cancelar são escolhas diferentes
Se a transação continua pendente e você ainda quer a ação, esperar pode ser aceitável. Não existe um prazo universal após o qual toda transação Ethereum falha automaticamente. Compare o status e as taxas atuais com sua necessidade de concluir a ação.
A função Speed up da carteira tenta uma substituição com o mesmo nonce e uma taxa maior. Cancel também tenta uma substituição; não apaga uma instrução assinada da rede. A original pode ser incluída primeiro. Uma transação de cancelamento incluída custa gas, portanto cancelar não é uma forma gratuita de desfazer.
Siga as instruções oficiais atuais da sua carteira. O guia da MetaMask apresenta os controles compatíveis e explica a relação entre os nonces. Leia a rede, a conta, a ação e a taxa na confirmação antes de decidir assinar. Use estimativas atuais em vez de copiar uma taxa de uma captura antiga. Esta lista não fornece um multiplicador universal de taxa nem garante a inclusão.
Uma operação Send comum com um nonce novo não é uma substituição só porque o destinatário e o valor são iguais. Guarde os dois hashes se já tentou de novo e estabeleça o status de cada registro antes de outra ação.
Para transações comuns em que você paga a taxa, confira o ETH nativo na Mainnet. Um token ou o total combinado da carteira não comprova o saldo para gas; nosso guia de ETH e WETH explica essa distinção.
Redefinir a carteira muda o histórico local, não o Ethereum
Se o explorador mostra inclusão, mas a carteira continua indicando pendente, atualize ou reabra a carteira e confira o hash exato. Se a diferença persistir, consulte o suporte oficial com a rede, o remetente público, o hash e o nonce. Guarde esse registro antes de mudar a atividade local.
A orientação de redefinição da MetaMask limita esse procedimento aos casos em que o suporte o indica e a transação não está visível no explorador. Limpar a atividade e os dados de nonce remove o conhecimento local da carteira sobre as transações. Isso não cancela uma transação já transmitida, e redefinir a conta é diferente de redefinir a carteira inteira.
Por fim, um saldo de carteira inalterado não prova uma falha, e um saldo menor não identifica qual transação foi executada. Taxas, outras atividades e dados atrasados podem afetar a comparação. Use a lista para diferenças de saldo depois de conferir o registro da transação. Antes de qualquer nova assinatura, você deve conseguir identificar a rede, o remetente, o hash original, o nonce e o status observado, incluindo qualquer substituição.
Perguntas frequentes
Posso enviar o pagamento de novo enquanto a primeira transação está pendente?
Primeiro confira o hash original, a rede, o remetente e o nonce. Um novo pagamento com outro nonce pode ser executado como uma transação independente. A função de substituição da carteira é uma operação diferente, que usa o nonce original.
Limpar a atividade da MetaMask cancela uma transação pendente?
Não. Limpar a atividade remove o histórico local de transações e os dados de nonce da carteira. Isso não retira uma transação assinada do Ethereum. A MetaMask orienta usar a redefinição somente quando o suporte oficial indicar e a transação não estiver visível no explorador.
Posso cancelar uma transação Ethereum que já teve sucesso?
O botão Cancel da carteira não pode reverter uma transação confirmada. O cancelamento tenta substituir uma transação ainda pendente, e a original pode ser incluída antes da substituta.