Owlio
FR
← Blog
Guide pratiqueDébutant

Transaction Ethereum en attente : vérifiez avant de renvoyer

Le statut en attente du portefeuille ne justifie pas de répéter un paiement. Identifiez la transaction et sa place dans la file avant de choisir la suite.

Avant de renvoyer, vérifiez la transaction originale sur le bon réseau. Le statut en attente du portefeuille peut correspondre à une transaction attendant son inclusion, à une transaction placée derrière une autre ou à une activité que le portefeuille n’a pas actualisée. Répéter le paiement peut créer une transaction distincte qui sera exécutée plus tard.

Cette liste concerne les transactions ordinaires d’un compte classique sur Ethereum Mainnet, aussi appelé compte externe ou EOA. Les comptes intelligents, services de transactions privées ou de lots de transactions, transferts par pont et retraits de plateformes d’échange nécessitent les instructions de leur fournisseur. Si vous n’avez pas envoyé depuis un compte que vous contrôlez, ne tentez pas de remplacer vous-même la transaction de l’expéditeur.

Commencez par le réseau et le hash complet de la transaction

Vous pouvez effectuer la première partie du diagnostic sans connecter de portefeuille ni signer quoi que ce soit. Ouvrez les détails de la transaction dans le portefeuille émetteur et notez :

  1. Réseau : confirmez Ethereum Mainnet. Une adresse au format Ethereum sur une autre chaîne ne fait pas de sa transaction une transaction Mainnet.
  2. Hash de transaction : copiez l’identifiant complet, pas l’adresse du destinataire. Utilisez le lien vers l’explorateur fourni par le portefeuille et vérifiez qu’il mène à l’explorateur voulu.
  3. Expéditeur : comparez l’adresse From complète à votre compte émetteur. Vérifiez aussi le destinataire et l’action prévue.
  4. Nonce : trouvez le numéro de séquence de cette transaction dans ses détails. Notez-le avec le hash : un remplacement a un autre hash, mais garde le même expéditeur et le même nonce.

La documentation Ethereum sur les transactions distingue les champs expéditeur, destinataire, valeur, données d’entrée et nonce. Une transaction vers un contrat peut effectuer une action plutôt que simplement payer l’adresse affichée dans To. Vérifiez les détails décodés lorsqu’ils sont disponibles ; ne supposez pas que chaque transaction est un simple transfert d’ETH.

Conservez le hash original même si le portefeuille propose un bouton pour réessayer. Il permet de revenir à une entrée précise plutôt que de se fier à un solde changeant ou à une notification qui disparaît.

Lisez le statut avant de choisir une solution

Dans l’explorateur, examinez ensemble le statut et les informations du bloc. Etherscan décrit pending comme l’attente d’une inclusion dans un bloc. Des frais faibles et une forte activité peuvent contribuer à l’attente, mais le seul mot pending n’en identifie pas la cause.

Ce que montre l’entrée Ce qu’il faut vérifier ensuite
Pending, sans bloc contenant la transaction Vérifiez les nonces antérieurs non résolus de l’expéditeur avant d’envisager un remplacement.
Success, avec un bloc Inspectez l’action et l’état obtenu. Répéter le paiement peut le doubler.
Failed, avec un bloc Lisez la raison de l’échec. Attendre ou accélérer cette transaction déjà incluse ne la fera pas réussir.
Dropped and replaced Suivez le hash de remplacement et inspectez son statut et son action.
Hash introuvable Revérifiez le réseau et le hash complet, puis comparez l’activité du portefeuille à l’historique de l’expéditeur dans l’explorateur.

Une transaction échouée n’est pas une transaction encore en attente. La spécification du statut du reçu enregistre la réussite ou l’échec de l’exécution ; une exécution échouée peut tout de même avoir été incluse dans un bloc. Le gas consommé est facturé même si l’action échoue, comme l’explique le guide Ethereum sur le gas. Diagnostiquez l’erreur avant d’autoriser une nouvelle tentative.

Pour les lecteurs qui consultent les données par logiciel, la documentation JSON-RPC des reçus précise que les transactions en attente n’ont pas de reçu. Un reçu retourné contient son bloc et son statut. Dans la réponse JSON-RPC brute, 0x1 signifie réussite et 0x0 échec (les valeurs 1 et 0). L’absence de reçu seule n’établit pas où se trouve la transaction : vérifiez que le fournisseur connaît le hash et interroge le bon réseau.

Un hash introuvable dans un explorateur reste une observation non résolue, pas une preuve que la transaction ne pourra jamais s’exécuter. Tenez compte de la propagation et de l’indexation, revérifiez les détails d’envoi du portefeuille et consultez son aide officielle si les entrées restent incohérentes. Ne créez pas un second paiement uniquement pour tester l’affichage.

Trouvez le premier nonce non résolu dans la file

Les transactions d’un compte ordinaire suivent une séquence. Supposons que vous trouviez des transactions en attente avec les nonces 42, 43 et 44, et que les précédentes soient déjà incluses. C’est une illustration, pas un compte réel. Le nonce 42 est le premier à examiner ; augmenter les frais de 44 ne supprime pas le trou précédent.

Ouvrez l’activité de l’expéditeur sur le même réseau et comparez-la à la liste d’attente du portefeuille. Vérifiez si le premier nonce non résolu est encore en attente, déjà inclus ou associé à un hash de remplacement. Faites cette vérification pour le même compte émetteur, pas pour tous les comptes visibles dans le portefeuille.

L’explication d’Etherscan sur les remplacements montre que les remplacements partagent l’expéditeur et le nonce d’origine. Un nonce antérieur doit être consommé par une transaction incluse avant que les suivants puissent s’exécuter. Une transaction échouée incluse dans un bloc consomme aussi son nonce : les règles du protocole pour les transactions incrémentent le nonce de l’expéditeur avant l’exécution. Ne continuez pas à tenter de remplacer un nonce déjà utilisé sur la chaîne.

Une fois le premier trou résolu, réexaminez les transactions suivantes dans la file. Elles peuvent encore correspondre à des actions que vous ne souhaitez plus. Lever le premier obstacle ne signifie pas décider d’approuver tous les éléments derrière lui.

Attendre, accélérer et annuler sont des choix différents

Si la transaction reste en attente et que vous souhaitez toujours l’action, attendre peut être acceptable. Il n’existe pas de délai universel après lequel toute transaction Ethereum échoue automatiquement. Comparez le statut et les frais actuels à votre besoin de terminer l’action.

La fonction Speed up du portefeuille tente un remplacement avec le même nonce et des frais plus élevés. Cancel tente aussi un remplacement ; elle n’efface pas une instruction signée du réseau. L’originale peut être incluse en premier. Une transaction d’annulation incluse coûte du gas : annuler n’est donc pas un retour en arrière gratuit.

Suivez les instructions officielles actuelles de votre portefeuille. Le guide MetaMask présente ses commandes prises en charge et explique le lien entre les nonces. Lisez le réseau, le compte, l’action et les frais dans la confirmation avant de décider de signer. Utilisez les estimations actuelles au lieu de recopier des frais d’une ancienne capture. Cette liste ne fournit pas de multiplicateur universel des frais et ne garantit pas l’inclusion.

Une opération Send ordinaire avec un nouveau nonce n’est pas un remplacement simplement parce que le destinataire et le montant correspondent. Conservez les deux hashes si vous avez déjà réessayé et établissez le statut de chaque entrée avant toute autre action.

Pour les transactions ordinaires dont vous financez vous-même les frais, vérifiez l’ETH natif sur Mainnet. Un jeton ou la valeur totale du portefeuille ne prouve pas le solde disponible pour le gas ; notre guide ETH et WETH explique cette distinction.

Réinitialiser le portefeuille modifie l’historique local, pas Ethereum

Si l’explorateur montre l’inclusion alors que le portefeuille indique toujours en attente, actualisez ou rouvrez le portefeuille et revérifiez le hash exact. Si l’écart persiste, contactez l’assistance officielle avec le réseau, l’expéditeur public, le hash et le nonce. Conservez ces données avant de modifier l’activité locale.

Les consignes de réinitialisation de MetaMask limitent ce dépannage aux cas où l’assistance le demande et où la transaction n’est pas visible dans l’explorateur. Effacer l’activité et les données de nonce supprime les informations locales du portefeuille sur les transactions. Cela n’annule pas une transaction déjà diffusée, et réinitialiser le compte est différent de réinitialiser tout le portefeuille.

Enfin, un solde de portefeuille inchangé ne prouve pas un échec, et un solde inférieur n’identifie pas la transaction exécutée. Les frais, d’autres activités et les données retardées peuvent affecter la comparaison. Utilisez la liste de vérification des écarts de solde après avoir vérifié l’entrée de la transaction. Avant toute nouvelle signature, vous devez pouvoir nommer le réseau, l’expéditeur, le hash original, le nonce et le statut observé, y compris tout remplacement.

Questions fréquentes

Puis-je renvoyer le paiement alors que la première transaction est en attente ?

Vérifiez d’abord le hash original, le réseau, l’expéditeur et le nonce. Un nouveau paiement avec un autre nonce peut être exécuté comme une transaction distincte. La fonction de remplacement du portefeuille est une autre opération, qui utilise le nonce original.

Effacer l’activité MetaMask annule-t-il une transaction en attente ?

Non. Effacer l’activité supprime l’historique local des transactions et les données de nonce du portefeuille. Cela ne retire pas une transaction signée d’Ethereum. MetaMask indique de ne réinitialiser que sur instruction de l’assistance officielle et si la transaction n’est pas visible dans l’explorateur.

Puis-je annuler une transaction Ethereum qui a déjà réussi ?

Le bouton Cancel du portefeuille ne peut pas inverser une transaction confirmée. L’annulation tente de remplacer une transaction encore en attente, et l’originale peut être incluse avant son remplacement.