﻿---
title: "Comment résoudre un trou de nonce dans un portefeuille"
description: "Repérez le premier nonce EVM manquant, choisissez entre remplacement et annulation, et évitez les transactions bloquées entre portefeuilles ou appareils."
image: "https://wiki.fcontext.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://wiki.fcontext.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Comment résoudre un trou de nonce dans un portefeuille

> À des fins éducatives uniquement ; ne constitue ni un conseil en investissement ni une recommandation d’investissement. Les investissements peuvent entraîner des pertes.

<a id="answer"></a>

## Réponse directe

Sur une chaîne compatible EVM, les transactions d'un compte externe (EOA) s'exécutent dans l'ordre des nonces. Si le prochain nonce exécutable est absent ou bloqué, les nonces supérieurs peuvent rester en file même avec des frais élevés. Résolvez **d'abord le plus petit nonce non résolu** : vérifiez chaîne et expéditeur, comparez les nonces confirmés et en attente, puis remplacez la transaction voulue ou opposez-lui une transaction d'annulation au même nonce.

Une annulation n'est pas une révocation au niveau du protocole. Il s'agit généralement d'un transfert de 0 ETH du compte vers lui-même, en concurrence au même nonce. La première transaction valide incluse l'emporte ; une transaction confirmée ne peut plus être annulée ainsi.

Cette procédure concerne les transactions EVM ordinaires d'EOA. Les comptes intelligents ou l'abstraction de compte peuvent employer des schémas de nonce définis par contrat ; les réseaux UTXO suivent un autre modèle.

<a id="mechanism"></a>

## Pourquoi un trou de nonce bloque la file

Le nonce d'un EOA est un compteur séquentiel. Une seule transaction peut s'exécuter à un nonce donné, et le compte ne peut pas exécuter le nonce 26 avant le nonce 25. Les nœuds séparent donc les transactions immédiatement exécutables des nonces supérieurs mis en attente.

La file n'est pas un mempool mondial et faisant autorité. Chaque nœud RPC voit et conserve un sous-ensemble différent des transactions en attente. Une transaction peut apparaître dans le portefeuille mais pas dans l'explorateur, ou via un RPC mais pas un autre. Elle peut n'avoir jamais été diffusée, avoir été retirée du pool d'un nœud ou ne pas s'être propagée au service interrogé.

`eth_getTransactionCount` avec `latest` renvoie le compteur dans l'état du dernier bloc ; pour un EOA, c'est le prochain nonce après les transactions confirmées. Avec `pending`, l'appel interroge la vue en attente d'un seul nœud. Un écart suggère que ce nœud connaît des transactions en attente, sans prouver que tous les nœuds publics les connaissent.

<a id="diagnosis"></a>

## Diagnostiquer avant de signer

1. Arrêtez les envois depuis l'adresse concernée sur tous les appareils et applications. Notez réseau, chain ID, adresse d'expéditeur, hachages, nonces, destinataires, montants, calldata, gas limits et champs de frais.
2. Vérifiez que portefeuille, explorateur et RPC ciblent la même chaîne et le même expéditeur. Un nonce appartient à un compte sur une chaîne, pas à une installation de portefeuille.
3. Interrogez `eth_getTransactionCount` avec `latest` et `pending`, si possible auprès de deux fournisseurs RPC indépendants. Un désaccord révèle des vues différentes du mempool, pas nécessairement un état on-chain incohérent.
4. Examinez les transactions de l'expéditeur par nonce. Si elle est disponible, l'API du pool d'un nœud distingue les entrées exécutables `pending` des entrées futures `queued`. Les RPC publics désactivent souvent cette API non standard.
5. À partir de `latest`, trouvez le premier nonce sans transaction confirmée. Déterminez si une transaction connue y reste visible, a été abandonnée ou n'a été créée que localement.

N'agissez pas sur la seule étiquette du portefeuille. Le nonce confirmé, le reçu et l'inclusion dans un bloc de la bonne chaîne constituent les preuves décisives.

<a id="recovery"></a>

## Remplacer ou annuler le premier nonce non résolu

**Pour conserver l'action d'origine :** utilisez l'accélération du portefeuille ou rediffusez une transaction aux mêmes expéditeur, nonce, destinataire, montant et calldata, avec des frais compétitifs. Vérifiez chaque champ avant de signer ; modifier le payload crée une autre action.

**Pour abandonner l'action d'origine :** tant qu'elle n'est pas confirmée, envoyez 0 ETH de l'adresse vers elle-même avec le même nonce et des frais compétitifs. Cela tente seulement de faire gagner l'auto-transfert. L'original peut encore être confirmé en premier ; ne considérez l'annulation réussie qu'après réception du reçu du remplacement et vérification que l'original reste non confirmé.

L'admission d'un remplacement relève de la politique du nœud, pas d'un pourcentage universel. Pour une transaction EIP-1559, `maxPriorityFeePerGas` et `maxFeePerGas` peuvent devoir augmenter, et `maxFeePerGas` doit rester utilisable au base fee actuel. Estimations des portefeuilles et règles des clients diffèrent ; `replacement transaction underpriced` signifie que le nœud récepteur a refusé le remplacement selon sa politique actuelle.

Après confirmation du plus petit nonce, revérifiez reçu, `latest`, soldes et chaque nonce supérieur. Les transactions en file peuvent devenir immédiatement exécutables ; celles abandonnées par tous les nœuds concernés peuvent nécessiter une rediffusion volontaire. Ne les renvoyez jamais aveuglément : vérifiez d'abord qu'une copie antérieure n'a pas été incluse.

<a id="example"></a>

## Exemple

Une adresse a des transactions confirmées jusqu'au nonce 24 ; `latest` vaut donc 25. Un RPC indique `pending` à 25, tandis que le portefeuille affiche le nonce 26 et le nonce 27 en file. Aucun fournisseur ne trouve de transaction diffusée au nonce 25.

Le propriétaire vérifie d'abord la chaîne, l'expéditeur et les payloads consignés. Si une action était voulue au nonce 25, il la reconstruit et la diffuse au nonce 25 avec les frais actuels. Sinon, il peut soumettre un auto-transfert de 0 ETH au nonce 25. Augmenter seulement les frais du nonce 27 ne comble pas le trou.

Une fois le nonce 25 inclus, il contrôle son reçu avant de toucher au nonce 26 ou au nonce 27. Chacun est examiné séparément, car il peut avoir été abandonné ou s'exécuter rapidement après la fermeture du trou.

<a id="risks"></a>

## Risques et conditions d'arrêt

- Le remplacement peut concurrencer l'original. Jusqu'à preuve on-chain, supposez que destinataire, montant et appel de contrat d'origine peuvent encore être exécutés.
- Vérifiez l'adresse complète, le chain ID, le nonce et la calldata sur un écran fiable. Un logiciel malveillant ou un site de « récupération » douteux peut substituer un transfert ou une autorisation.
- Conservez assez de monnaie native pour les frais. Le gas est facturé à la transaction incluse, même si un appel de contrat revert ensuite.
- Ne révélez jamais phrase de récupération ni clé privée pour un trou de nonce. Aucun RPC, explorateur ou support légitime n'en a besoin.
- Si l'adresse est compromise, des remplacements publics répétés peuvent devenir une course aux frais avec l'attaquant. Cessez d'utiliser l'appareil compromis et suivez un plan de réponse à incident.
- Si les RPC divergent, si le destinataire d'origine est inconnu, si le payload est impossible à reconstruire ou si un important appel de contrat est en jeu, arrêtez-vous et demandez une aide experte avant de signer.

Pour un usage répété sur plusieurs appareils ou signataires automatiques, prévenez les récidives avec un seul allocateur de nonce par compte et chaîne, une signature sérialisée, des traces durables des nonces et hachages réservés, et un rapprochement avec l'état confirmé et le pool en attente du diffuseur. Réinitialiser l'historique local du portefeuille ne modifie ni l'état on-chain ni les mempools des autres nœuds.

<a id="misconceptions"></a>

## Idées reçues

- **« Des frais supérieurs au nonce 27 permettent de sauter le nonce 25. »** Ils ne peuvent améliorer la priorité qu'une fois les nonces antérieurs exécutables ; ils ne réparent pas le trou.
- **« Introuvable signifie annulée. »** Un nœud peut l'avoir abandonnée tandis qu'un autre nœud, builder ou tiers la détient encore. Une transaction signée peut être rediffusée.
- **« Un auto-transfert de 0 ETH inverse l'original. »** Il ne fait que concourir au même nonce et n'a aucun effet après confirmation de l'original.
- **« `pending` est la réponse finale du réseau. »** C'est la vue en attente du nœud interrogé, variable selon les fournisseurs.

<a id="related"></a>

## Sujets connexes

- [Nonce](/fr/crypto/nonce-crypto/)
- [Remplacement de transaction](/fr/crypto/mempool-replacement/)
- [Frais insuffisants pour une transaction de remplacement](/fr/crypto/replacement-transaction-underpriced/)
- [Frais de priorité](/fr/crypto/priority-fee/)
- [Nœud RPC](/fr/crypto/rpc-node/)
- [Portefeuille crypto](/fr/crypto/wallet/)

<a id="sources"></a>

## Sources

- [Transactions](https://ethereum.org/en/developers/docs/transactions/) - Ethereum.org (consulté le 2026-08-22)
- [API JSON-RPC](https://ethereum.org/en/developers/docs/apis/json-rpc/) - Ethereum.org (consulté le 2026-08-22)
- [Espace de noms txpool](https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-txpool) - go-ethereum (consulté le 2026-08-22)
- [Accélérer ou annuler une transaction en attente](https://support.metamask.io/manage-crypto/transactions/how-to-speed-up-or-cancel-a-pending-transaction) - Centre d'aide MetaMask (consulté le 2026-08-22)

Source: https://wiki.fcontext.com/fr/crypto/wallet-nonce-gap-recovery/index.mdx
