Verfasst von Pablo Gómez
Founder & CEO von Metlabs · Geprüft am 11. Oktober 2026
Der Standard ERC-20 stellt drei zentrale Funktionen bereit. approve(spender, amount) berechtigt einen Contract, Token des Inhabers zu transferieren, allowance(owner, spender) fragt ab, wie viel noch freigegeben ist, und transferFrom(owner, to, amount) führt diesen Transfer aus. Widerrufen heißt, approve(spender, 0) aufzurufen: dieselbe Funktion mit dem Betrag null. Bei NFTs (ERC-721 und ERC-1155) ist das Gegenstück setApprovalForAll(operator, false), das die Berechtigung für die gesamte Kollektion entzieht. Jeder Widerruf ist eine On-Chain-Transaktion, kostet Gas und muss für jedes Paar aus Token und Contract einzeln erfolgen.
Die Ursache des Risikos sind unbegrenzte Freigaben (Allowance auf das Maximum von 2^256-1 gesetzt), das Standardmuster vieler dApps, um nicht bei jeder Transaktion eine Signatur anzufordern. Erweist sich der autorisierte Contract als bösartig oder wird er ausgenutzt, kann er das gesamte Guthaben dieses Tokens abziehen. Deshalb ist der Widerruf eine wiederkehrende Sicherheitsmaßnahme. Er verkleinert die Angriffsfläche, indem alte oder vergessene Berechtigungen nicht mehr genutzter dApps entzogen werden, ein passiver Vektor für Diebstahl, und empfiehlt sich nach dem Test jeder neuen Anwendung.
Die gängigen Werkzeuge sind Revoke.cash, mit dem man die Wallet verbindet und das alle aktiven Freigaben pro Token und Contract in mehreren Netzwerken auflistet, sowie der Token Approvals Checker von Etherscan im Menü More. Weitere Optionen sind DeBank und Unrekt. Der Widerruf ist die direkte Gegenmaßnahme gegen einen Wallet Drainer, der genau Freigaben und Signaturen missbraucht. Seine Grenze sollte man kennen: Ist der private Schlüssel kompromittiert, reicht ein Widerruf nicht aus, weil der Angreifer erneut signieren kann.
Quellen
Auch bekannt als
- revoke approvals






