Guide indépendant · Crypto
Se déconnecter n’est pas révoquer : vérifier et révoquer une allowance ERC‑20
Guide pratique pour utilisateurs en self‑custody sur pourquoi la déconnexion d’un site ne supprime pas les autorisations on‑chain et comment les révoquer.

Pourquoi c’est important
La déconnexion ferme la session navigateur ; modifier une allowance ERC‑20 nécessite une transaction on‑chain (généralement approve(spender, 0)) et sa confirmation.
Pourquoi se déconnecter d’une dApp n’efface pas les autorisations ERC‑20
Se déconnecter ne fait que fermer la session dans le navigateur et retire l’accès de l’interface du site à votre adresse. Si vous avez précédemment signé approve(), la valeur est enregistrée dans le contrat du token sur la blockchain et persiste jusqu’à une nouvelle transaction.
Dans un contrat ERC‑20, les allowances sont stockées dans un mapping owner → spender → uint256. Modifier ce mapping requiert un appel on‑chain (généralement approve(spender, amount)).
- Se déconnecter = fin de la session navigateur uniquement.
- Seule une transaction on‑chain modifie l’allowance.
Soumettre la transaction de révocation et payer le gas
La révocation se fait habituellement par approve(spender, 0). Les wallets et interfaces préparent la transaction ABI‑codée ; vous validez dans votre portefeuille pour l’envoyer.
La révocation exige du gas payé en token natif (ETH). Le portefeuille donne une estimation de gas et des frais. Après confirmation, attendez l’inclusion dans un bloc et les confirmations nécessaires.
- Action typique : approve(spender, 0).
- Payer le gas en ETH ; le wallet indique l’estimation.
- Ne considérez pas la révocation effective tant que la transaction n’est pas confirmée.
Vérifier le résultat et limites de la méthode
Après confirmation, vérifiez à nouveau l’allowance via Revoke.cash ou l’onglet Read Contract d’Etherscan en appelant allowance(owner, spender). L’état du contrat est la source de vérité.
La révocation n’annule pas les transferts déjà effectués et ne répare pas une seed phrase compromise. En cas de compromission, déplacez les actifs vers un nouveau portefeuille. Ce guide concerne uniquement les allowances ERC‑20 classiques ; Permit2 et signatures off‑chain exigent des étapes différentes.
- Vérifier l’allowance via Read Contract ou l’outil de révocation.
- La révocation empêche les futurs transferFrom() au‑delà du nouveau plafond, mais ne revient pas sur les transactions passées.
- En cas de fuite de la seed phrase, créer un nouveau portefeuille et transférer les fonds.
Liste de vérification pratique
- Vérifiez que le réseau de votre wallet correspond à la chaîne du token (ex. Ethereum Mainnet).
- Ouvrez Etherscan Token Approval Checker ou Revoke.cash et collez votre adresse publique.
- Repérez le contrat du token, l’adresse du spender et l’allowance actuelle ; vérifiez le spender sur Etherscan en cas de doute.
- Choisissez Révoquer (mettre à 0) ou réduisez la limite, confirmez la transaction dans votre wallet et payez le gas.
- Attendez la confirmation et vérifiez que allowance(owner, spender) vaut 0.
- Si la seed phrase a été compromise, déplacez les actifs vers un nouveau portefeuille — la révocation ne résout pas l’exposition des clés.
Sources et lectures complémentaires
Vérifié: . Les sources externes s'ouvrent dans un nouvel onglet.
Comment vérifier le réseau, le contrat token, le spender et l’allowance
Vérifiez que votre portefeuille est sur le bon réseau (par ex. Ethereum Mainnet). Consulter les autorisations sur un autre réseau peut afficher des contrats différents ou rien du tout.
Utilisez Etherscan Token Approval Checker ou Revoke.cash et collez uniquement votre adresse publique. L’outil affiche le contrat du token, l’adresse du spender et le montant autorisé (ou « Unlimited »). Si le nom du spender est inconnu, ouvrez son adresse sur Etherscan pour inspecter le code et les transactions.