Wallet-Approvals: prüfen und widerrufen
Eines möchte ich vorab klarstellen, weil es die Vorstellung vieler davon, wie ein Wallet „gehackt“ wird, auf den Kopf stellt: Ein erheblicher Teil der leergeräumten Wallets fällt nicht am selben Tag, sondern wegen eines Approvals, das man Wochen oder Monate zuvor in irgendeiner DApp erteilt hat. Damals hast du vielleicht auf einer Tausch-Seite Token gewechselt oder auf einer Claim-Seite „das Wallet zur Anspruchsprüfung verbunden“, nebenbei bestätigt, und die Sache war erledigt — du hast es vergessen. Das Approval nicht. Es hängt still in der Kette und wartet darauf, dass der freigegebene Vertrag irgendwann Probleme bekommt, oder dass er von Anfang an ein Phishing-Vertrag war, der nur noch nicht zugeschlagen hat. Wenn es dann so weit ist, ist das Geld schon weg, und erst rückblickend erkennst du, dass die Quelle jenes längst vergessene Approval war.
Deshalb wird dieser Artikel nicht abstrakt, sondern erklärt eine ganz konkrete Hausarbeit von Grund auf: was ein Approval (approve) ist, warum manche Freigaben besonders gefährlich sind, wie du alle Approvals auf deinen Namen aufspürst und einmal durchsiehst, wie du die unnötigen widerrufst und wie du dir angewöhnst, dass die Sache nicht mehr außer Kontrolle gerät. Fachbegriffe erkläre ich in Alltagssprache, aber nie auf Kosten der Richtigkeit. Am Ende solltest du eigenständig einen „Approval-Frühjahrsputz“ hinbekommen. Falls du den Unterschied zwischen Approval und Signatur noch nicht sicher kennst, lies begleitend Risiken beim Wallet-Signieren — beides wird von Phishern gern miteinander vermischt.
Was ein Approval (approve / allowance) eigentlich ist
Zuerst ein grundlegender Fakt: Deine Token (auf Ethereum die ERC-20-Standardtoken) liegen nicht als Datei „in deiner Wallet-App“, sondern stehen als Zahl in einer Zeile im Kontobuch des Token-Vertrags — welche Adresse wie viel Guthaben hat, entscheidet dieses Buch. Deine Wallet-App ist nur das Werkzeug, das den privaten Schlüssel hält und Anweisungen wie „übertrage von meinem Guthaben“ signieren darf. Zum Token-Standard selbst erklärt die ERC-20-Dokumentation der Ethereum Foundation das Ganze recht vollständig.
Jetzt das Problem: Wenn du an einer dezentralen Börse (DEX) Token A gegen Token B tauschen willst, muss der Vertrag der Börse „für dich“ das A abbuchen und B zurückgeben. Er hat aber nicht deinen privaten Schlüssel und kann dein Guthaben nicht direkt anrühren. Also ist der Mechanismus so gebaut: Du sendest zuerst eine Transaktion, die dem A-Vertrag sagt „ich erlaube dem Vertrag mit der und der Adresse, höchstens N von meinem A abzubuchen“. Diese Transaktion ist das approve, die erlaubte Höchstmenge N heißt allowance (Freigabe-Betrag), und der Freigegebene heißt spender.
Entscheidend ist, was danach passiert: Solange die Freigabe nicht aufgebraucht ist, kann der freigegebene Vertrag deine Token wiederholt abbuchen, ohne dass du erneut signieren oder bestätigen musst. Das ist kein Bug, sondern die Grundlage dafür, dass DeFi automatisch läuft — du gibst einmal frei, danach müssen Tausch, Liquidität und Rückzahlung nicht bei jedem Schritt manuell abgesegnet werden. Genau in diesem „einmal freigegeben, dauerhaft gültig“ liegt aber auch das Problem: Die Berechtigung hast du aus der Hand gegeben, sie zieht sich nicht von selbst zurück — es sei denn, du widerrufst sie aktiv.
Ein Approval (approve) und eine „Signatur zum Anmelden“ sind zwei verschiedene Dinge. Ein Approval ist eine Transaktion auf der Kette, die eine Berechtigung über deine Token abgibt; eine normale Signatur beweist meist nur, dass du der Wallet-Inhaber bist. Doch eine bestimmte Art von Signatur (permit) kann einem Approval gleichkommen — genau das macht sie gefährlich, mehr dazu in Risiken beim Wallet-Signieren.
Ein nicht ganz sauberer, aber einprägsamer Vergleich: approve ist wie eine Einzugsermächtigung, die du einem Dienstleister ausstellst — „du darfst von meiner Karte bis zu N Euro abbuchen“. Innerhalb des Limits bucht er ab, ohne jedes Mal zu fragen. Solange die Ermächtigung nicht widerrufen ist, gilt sie — auch wenn du den Dienst längst nicht mehr nutzt. Genau so ist ein On-Chain-Approval, nur dass das Gegenüber ein Vertrag ist und das Abgebuchte deine Token sind.
Warum setApprovalForAll bei NFTs gefährlicher ist
Bei ERC-20-Token lässt sich die Freigabe wenigstens auf eine Höchstmenge N begrenzen. Bei NFTs (ERC-721 / ERC-1155) heißt die übliche Freigabe-Methode setApprovalForAll, und ihre Bedeutung ist deutlich brutaler: Nicht „ein einzelnes NFT freigeben“, sondern „einer Adresse erlauben, alle meine NFTs dieser Kollektion zu bewegen, ohne Mengen- und ohne Anzahlbegrenzung“. Eine einzige Signatur, und das Verfügungsrecht über die gesamte Kollektion ist abgegeben. Zu den NFT-Standards und Freigabe-Methoden liefert die ERC-721-Dokumentation der Ethereum Foundation die offizielle Definition.
Warum brauchen Marktplätze diese „Alles-Freigabe“? Weil der Marktplatz-Vertrag beim Verkaufsangebot eines NFTs das Recht braucht, im Moment des Kaufs dein NFT an den Käufer zu übertragen — und du vorher nicht weißt, welches wann verkauft wird. Also fordert er das Verfügungsrecht über die ganze Kollektion an. Auf seriösen Marktplätzen ist das normal. Derselbe Mechanismus in Phisher-Händen wird jedoch furchteinflößend: Eine als „Free Mint“ oder „limitiertes NFT abholen“ getarnte Seite lässt dich womöglich genau ein setApprovalForAll signieren, mit der Betrüger-Adresse als Freigegebenem. Du glaubst, ein NFT gratis abzuholen, gibst aber das Übertragungsrecht deiner gesamten — womöglich wertvollen — Kollektion aus der Hand.
Wenn im Wallet-Fenster Set Approval For All oder „alle freigeben“ auftaucht, du aber nur ein einzelnes NFT abholen oder kaufen willst, halte inne und prüfe, ob der Freigegebene wirklich ein von dir vertrauter, seriöser Marktplatz-Vertrag ist. Behandle die „Alles-Freigabe“ als hochriskante Aktion, die besondere Kontrolle verlangt, nicht als nebenbei durchgeklickten Routineschritt.
Wie bei ERC-20 ist auch setApprovalForAll ein Eintrag auf der Kette, der sich einsehen und widerrufen lässt. Die weiter unten gezeigten Werkzeuge zum Prüfen und Widerrufen gelten für NFT-Alles-Freigaben genauso — achte darauf, die NFT-Approvals mitzuprüfen und nicht nur auf Token zu schauen.
Die Tücken unbegrenzter Approvals
Zurück zur ERC-20-Menge N. Theoretisch könntest du N auf „gerade genug für diesen einen Tausch“ setzen. In der Praxis fordern viele DApps aber standardmäßig ein extrem großes N (nahezu unbegrenzt), damit du künftig nicht immer wieder freigeben musst — das sogenannte unbegrenzte Approval (unlimited approval). Vom Komfort her ist das bequem: einmal freigegeben, danach nie wieder signieren. Der Preis ist, dass dein Risiko maximal aufgezogen wird.
Unbegrenzt heißt: Sobald der freigegebene Vertrag bösartig ist — oder er anfangs seriös war und später gekapert oder übernommen wird —, kann er dein gesamtes Guthaben genau dieser einen Token-Art abbuchen, beliebig oft, ohne weitere Bestätigung. Beachte die Grenze: Er kann nur die von dir freigegebene Token-Art bewegen, nicht deine übrigen Assets und nicht deine Seed-Phrase. Für diese eine Token-Art aber gleicht ein unbegrenztes Approval dem dauerhaften Aushändigen des Tresorschlüssels.
- Das Risiko liegt nicht im „Jetzt“, sondern im „Später“. Der Vertrag war zum Zeitpunkt der Freigabe vielleicht wirklich sicher, doch das Approval gilt dauerhaft. Verträge können aktualisiert, Schlüssel gestohlen, Teams verschwinden. Unbegrenzt bedeutet, dass „jedes künftige Problem, egal wann“ dein gesamtes Guthaben dieser Token-Art treffen kann.
- Phishing liebt unbegrenzte Approvals. Phishing-Seiten verpacken das „Airdrop abholen“ als ein unbegrenztes approve auf ihren eigenen Vertrag. In dem Moment, in dem du klickst, hat er das dauerhafte Recht, eine deiner Token-Arten leerzuräumen.
- Wahrscheinlich hast du nicht geprüft, wem du freigibst. Das Fenster zeigt die spender-Adresse, aber viele bestätigen einfach. Unbegrenzt + Empfänger nicht geprüft ist die häufigste Kombination, in die man tritt.
Die Schlussfolgerung ist nicht „unbegrenzte Approvals sind grundsätzlich verboten“, sondern: Wenn du limitieren kannst, gib nicht aus Bequemlichkeit unbegrenzt frei; und wo unbegrenzt erteilt wurde, räume besonders regelmäßig auf. Wie beides praktisch geht, zeigen die nächsten Abschnitte Schritt für Schritt.
Die eigene Approval-Liste prüfen
Die gute Nachricht: Weil Approvals echte Einträge auf der Kette sind, kannst du Zeile für Zeile aufspüren, welchen Verträgen du welche Freigaben erteilt hast. Es gibt zwei anerkannt brauchbare Einstiege.
Mit dem Etherscan Token Approval Checker
Etherscan bietet den Token Approval Checker. Gibst du deine Adresse ein (oder verbindest dein Wallet), listet er alle noch gültigen ERC-20-Approvals dieser Adresse auf — inklusive des freigegebenen Vertrags (spender), des betroffenen Tokens sowie der Frage, ob die Freigabe begrenzt oder unbegrenzt ist. Etherscan ist einer der meistgenutzten Block-Explorer auf Ethereum; wenn er die On-Chain-Daten ausliest, ist die Quelle vertrauenswürdig. Dieser Schritt ist reines „Ansehen“ — du musst nichts signieren, und es kostet nichts.
Beim Durchsehen achtest du vor allem auf drei Spalten: erstens, wer der Freigegebene ist — gibt es Verträge, die du gar nicht kennst und bei denen du dich nicht erinnerst, sie je freigegeben zu haben; zweitens, ob die Freigabe unbegrenzt ist — mit unlimited oder einer riesigen Zahl markierte zuerst beachten; drittens, ob du dieses Approval jetzt noch nutzt — vieles stammt von längst nicht mehr genutzten alten DApps. Diese drei Kategorien sind die Hauptziele zum Widerrufen.
Mit revoke.cash Prüfen und Widerrufen an einem Ort
Ein noch handlicheres Werkzeug ist revoke.cash, spezialisiert auf das Einsehen und Widerrufen von Approvals. Du kannst zunächst nur die Adresse eingeben und schreibgeschützt nachsehen (auch ohne Wallet-Verbindung); es listet sowohl ERC-20-Approvals als auch die setApprovalForAll bei NFTs auf und markiert die Risikopunkte jeder Freigabe. Anders als ein reiner Block-Explorer vereint es „verdächtiges Approval finden“ und „mit einem Klick widerrufen“ in einer Oberfläche, was für normale Nutzer freundlicher ist. Erst wenn du tatsächlich widerrufen willst, verbindest du das Wallet.
Beim ersten Prüfen erschrecken viele über die Menge der Approvals — je mehr Airdrops man gefarmt und je mehr Seiten man verbunden hat, desto mehr hängen meist offen. Keine Panik: Genau das ist das Signal, aufzuräumen. Erst ansehen, das Verdächtige und Ungenutzte markieren, im nächsten Abschnitt gesammelt widerrufen.
Widerrufen: revoke.cash und der Etherscan Token Approval Checker
Widerrufen (revoke) bedeutet im Kern, eine weitere Transaktion zu senden, die die Freigabe auf 0 zurücksetzt: Du sagst dem Token-Vertrag „die Freigabe, die einer Adresse erlaubte abzubuchen, ist ab jetzt 0“. Danach kann jener Vertrag deine Token nicht mehr anrühren. Beide Werkzeuge können das.
Mit revoke.cash läuft es typischerweise so:
- Seite öffnen, das aufzuräumende Wallet verbinden (prüfen, dass die Adresse stimmt).
- In der Liste das zu widerrufende Approval suchen — bevorzugt die unbegrenzten, die mit unbekanntem spender und die von alten, nicht mehr genutzten DApps.
- Auf „Widerrufen / Revoke“ bei diesem Approval klicken. Das Wallet öffnet eine Transaktionsanfrage; nach Prüfung signieren und senden.
- Warten, bis die Transaktion bestätigt ist. Danach ist die Freigabe dieses Approvals auf null, und die Liste aktualisiert sich.
- Beim NFT-
setApprovalForAllgenauso: den passenden Eintrag suchen und auf Widerrufen klicken.
Mit dem Etherscan Token Approval Checker ist es ähnlich: Nach dem Verbinden des Wallets hat jedes Approval rechts einen Widerrufen-Einstieg; ein Klick löst ebenfalls eine Nullsetzungs-Transaktion aus, die du signierst und bestätigst. Die zugrunde liegende Aktion ist bei beiden Werkzeugen dieselbe, es unterscheidet sich nur die Oberfläche — nimm, was dir liegt.
Auch die Widerruf-Werkzeuge selbst können gefälscht sein. Achte beim Widerrufen auf die offizielle Domain, am besten speicherst du revoke.cash und Etherscan als Lesezeichen und rufst sie jedes Mal darüber auf — nicht über die Suchleiste tippen und erst recht nicht die Werbelinks ganz oben in den Suchergebnissen anklicken. Mehr zum Erkennen offizieller Kanäle findest du bei uns unter Fake-Airdrops und Approval-Phishing.
Und ein Zeitversatz muss klar gesagt sein: Widerrufen begrenzt den Schaden, es holt nichts zurück. Wenn das Gegenüber mit deinem Approval die Token bereits abgebucht hat, verhindert der Widerruf nur „künftige weitere Abbuchungen“, das schon Weggegangene ist verloren. Also: Sobald du ein Approval für problematisch hältst, widerrufe schnell — aber halte den Widerruf auch nicht für ein Allheilmittel; er schützt die Zukunft, nicht die Vergangenheit.
Widerrufen kostet eine Transaktion und Gas
Hieran hakt es beim ersten Mal oft, deshalb gesondert: Ein Approval zu widerrufen ist eine echte On-Chain-Transaktion, die du im Wallet signieren und bestätigen musst und für die Gas anfällt. Wie beim ursprünglichen approve müssen Miner bzw. Validatoren diese Operation „Freigabe auf 0 setzen“ bündeln und auf die Kette bringen, und das kostet Gebühren.
Das bedeutet zweierlei. Erstens: In dem Wallet, das du bereinigen willst, muss ein kleiner Rest der Hauptwährung zum Bezahlen von Gas liegen — auf dem Ethereum-Mainnet ist das ETH, auf anderen Chains die native Währung jener Chain. Ist gar kein Gas im Wallet, lässt sich die Widerruf-Transaktion nicht absenden. Zweitens: Gas schwankt und hängt von der aktuellen Auslastung des Netzes ab; wenn das Ethereum-Mainnet ausgelastet ist, steigen die Kosten je Operation deutlich, in ruhigen Phasen sind sie viel niedriger. Wie genau sich das berechnet und warum es schwankt, erklärt die Gas-Dokumentation der Ethereum Foundation. Bei uns gibt es zudem ein Werkzeug zur Adressprüfung, das dir hilft, vor einer Übertragung oder Interaktion zu prüfen, dass die Adresse nicht vertippt ist (vor dem Widerrufen zu bestätigen, dass das richtige Wallet verbunden ist, ist ebenso wichtig).
Wenn du einen ganzen Stapel Approvals widerrufen willst und das Mainnet-Gas gerade teuer ist, kannst du eine ruhige Netzphase abwarten und alles gebündelt erledigen — oder zuerst nur die riskantesten paar widerrufen (unbegrenzt + unbekanntes Gegenüber) und den Rest bei niedrigen Gebühren nachholen. Erst das Gefährlichste sichern, dann in Ruhe Hausputz machen.
Nebenbei zu den verschiedenen Chains: Auf dem Ethereum-Mainnet ist Gas vergleichsweise teuer, und viele sind im Alltag auf Layer 2 unterwegs, wo die Gebühren deutlich niedriger sind. Approvals werden pro Chain getrennt geführt — auf welcher Chain du freigegeben hast, dort musst du prüfen und widerrufen; revoke.cash unterstützt das Wechseln des Netzwerks. Für einen Überblick über das L2-Ökosystem ist L2BEAT eine oft zitierte, neutrale Datenseite mit Kennzahlen zu den einzelnen L2s.
Alltags-Gewohnheiten: Limit setzen, Wallets trennen, regelmäßig prüfen
Prüfen und Widerrufen sind Reparaturmaßnahmen; entspannter ist es, von vornherein weniger freizugeben und das Risiko in einen kleinen Käfig zu sperren. Die folgenden Gewohnheiten kosten wenig, und ich selbst halte mich durchgehend daran.
Wenn du limitieren kannst, gib nicht unbegrenzt frei
Viele Wallets erlauben es im approve-Fenster, die Menge vom voreingestellten „unbegrenzt“ auf „gerade genug für diesmal“ zu ändern. Ein Dutzend Sekunden mehr, und du senkst das Risiko „dieser Vertrag kann mich künftig bei dieser Token-Art leerräumen“ auf „höchstens einmal die Menge dieses einen Vorgangs“. Ob du jedes Mal änderst, kannst du selbst abwägen, aber zumindest bei großen Beträgen und bei weniger vertrauten Verträgen lohnt sich das Limit.
Wallets trennen: Tresor und Herumprobieren auseinanderhalten
Mindestens zwei Ebenen. Ein „Tresor-Wallet“, das nur langfristige Assets hält, kaum je eine DApp verbindet und am besten mit einem Hardware-Wallet läuft; und ein „Test-Wallet“, das gezielt neue Seiten verbindet, Airdrops abholt, Aufgaben erledigt und in dem nur so wenig Geld liegt, wie du verschmerzen kannst. Selbst wenn das Test-Wallet eines Tages von einem bösartigen Approval erwischt wird, ist der Schaden auf diesen kleinen Betrag gedeckelt, der Tresor bleibt unangetastet. Das ist die kosteneffizienteste Verteidigungslinie. Wie man mehrere Wallets verwaltet und private Schlüssel und Seed-Phrasen sicher aufbewahrt, liest du begleitend unter Seed-Phrase-Sicherheit.
Mach das Widerrufen zur regelmäßigen Hygiene
Approvals häufen sich an. Es lohnt sich, dir anzugewöhnen, regelmäßig (etwa einmal im Monat) mit revoke.cash oder Etherscan die Approval-Liste durchzugehen und alles Ungenutzte und Fragwürdige zu widerrufen. Je sauberer die Liste, desto geringer die Wahrscheinlichkeit, von einem längst vergessenen alten Vertrag mit hineingezogen zu werden. Als Abgleich kannst du unseren Approval-Risiko-Check als Checkliste nutzen und Punkt für Punkt prüfen, bevor du entscheidest, was du widerrufst.
Vor dem Freigeben Fake-Airdrops erkennen
Die Quelle vieler gefährlicher Approvals ist eine Phishing-Seite, die du gar nicht hättest besuchen sollen. Der vorderste Schritt ist also, Fake-Airdrops zu erkennen — wenn du Token abholen willst, dafür aber freigeben oder eine strukturierte Nachricht signieren sollst, stimmt die Richtung nicht. Diese Beurteilung erklären wir detailliert in Fake-Airdrops und Approval-Phishing; zusammen mit diesem Artikel gelesen wird das Bild vollständiger. Für die Wallet-Sicherheitseinstellungen selbst gilt die offizielle Dokumentation des von dir genutzten Wallets, etwa das MetaMask-Support-Center.
Als ich zum ersten Mal meine Approval-Liste aufgespürt habe, war ich kurz sprachlos — so viele Freigaben, bei denen ich längst vergessen hatte, wo ich sie erteilt hatte, und ein paar davon unbegrenzt. Als sie widerrufen waren, war das ein beruhigendes Gefühl. Später habe ich es zur festen monatlichen Aktion gemacht, und dieses leise „ich weiß nicht, wo noch eine Mine hängt“-Unbehagen war weg.
Zum Schluss. Der Kern von Approvals ist einfach: Um eine DApp zu nutzen, gibst du die Berechtigung, eine Token-Art zu bewegen, aus der Hand; diese Berechtigung zieht sich nicht von selbst zurück, und unbegrenzt ist sie noch gefährlicher. Die Lösung ist ebenso schlicht — wo möglich limitieren, Tresor und Herumprobieren trennen, ungenutzte Approvals regelmäßig mit vertrauenswürdigen Werkzeugen widerrufen und immer erst den Fake-Airdrop erkennen, bevor du entscheidest, ob du signierst. Machst du diese paar Punkte zur Gewohnheit, wird das Drehbuch „ein altes Approval von vor Jahren räumt jemanden plötzlich aus“ dich kaum je treffen.