Tokengoedkeuringen intrekken op Ethereum en andere EVM-chains
Leer stap voor stap hoe je goedkeuringen intrekt op Ethereum en andere EVM-chains, welke goedkeuringen riskant zijn, wat intrekken kost en wat het niet ongedaan kan maken.
Om tokengoedkeuringen in te trekken op Ethereum of een andere EVM-chain, koppel je je wallet aan een betrouwbare goedkeuringscontrole (zoals Revoke.cash of de tokengoedkeuringstool van een block explorer), kies je het netwerk, bekijk je welke contracten je tokens mogen uitgeven en stuur je een intrekkingstransactie voor alle goedkeuringen die je niet meer gebruikt of niet herkent. Elke intrekking is een on-chain transactie die de allowance op nul zet en een kleine gasvergoeding kost.
Goedkeuringen zijn een van de meest over het hoofd geziene risico’s van zelfbewaring. Elke keer dat je handelt op een gedecentraliseerde exchange of een DeFi-app gebruikt, geef je waarschijnlijk een contract toestemming om je tokens te verplaatsen. Die toestemmingen blijven voor onbepaalde tijd actief. Als dat contract later wordt misbruikt, of als je een kwaadaardig contract hebt goedgekeurd, kunnen je tokens worden weggehaald zonder dat je nog iets ondertekent.
Zo werken tokengoedkeuringen
ERC-20-tokens, de standaard voor de meeste tokens op Ethereum, hebben een approve-functie. Als je een contract goedkeurt, stel je een allowance in: het maximale bedrag van die token dat het contract vanaf je adres mag overmaken.
Veel apps vragen om een onbeperkte allowance, zodat je niet bij elke trade opnieuw hoeft goed te keuren. Dat is handig, maar het betekent dat het contract je volledige saldo van die token op elk moment kan verplaatsen, nu of in de toekomst.
NFT’s werken vergelijkbaar. De functie setApprovalForAll geeft een operator toestemming om elke NFT in een collectie die je bezit te verplaatsen, en daarom richten NFT-drainers zich daarop.
Er is ook een nieuwer patroon: permit-handtekeningen. Sommige tokens en systemen (waaronder Permit2 van Uniswap) laten je een allowance geven door een off-chain bericht te ondertekenen in plaats van een transactie te versturen. Die handtekeningen lijken onschuldig, maar kunnen overboekingen autoriseren. Ons artikel over ice phishing en permit-handtekeningen behandelt dit risico.
Stap voor stap: goedkeuringen intrekken
- 1Open direct een betrouwbare tool. Typ het adres zelf in of gebruik een bladwijzer. Bekende opties zijn Revoke.cash en de tokengoedkeuringscontrole op Etherscan en andere explorers. Er bestaan nep-‘revoke’-sites, dus volg nooit links uit DM’s of advertenties.
- 2Koppel je wallet of plak je adres. Door een adres te plakken kun je goedkeuringen bekijken zonder te koppelen. Je hoeft alleen te koppelen om intrekkingstransacties te versturen.
- 3Kies het netwerk. Goedkeuringen gelden per chain. Controleer Ethereum en daarna elk netwerk dat je gebruikt, zoals Arbitrum, Optimism, Base, Polygon of BNB Smart Chain.
- 4Bekijk de lijst. Bij elke goedkeuring zie je de token, het uitgevende contract, het bedrag van de allowance en vaak wanneer die is verleend.
- 5Bepaal wat je intrekt. Geef voorrang aan onbeperkte allowances, contracten die je niet herkent, apps die je niet meer gebruikt en elk contract dat betrokken was bij een bekende exploit.
- 6Klik op intrekken en bevestig in je wallet. Lees de melding van je wallet: het moet een
approve-aanroep zijn die de allowance op nul zet (of bij NFT’s eensetApprovalForAll-aanroep met de waarde false). - 7Herhaal dit voor elk netwerk. Vernieuw daarna de pagina om te bevestigen dat de goedkeuringen weg zijn.
Welke goedkeuringen je als eerste intrekt
| Type goedkeuring | Risiconiveau | Actie |
|---|---|---|
| Onbeperkte allowance aan onbekend contract | Hoog | Direct intrekken |
setApprovalForAll voor een waardevolle NFT-collectie | Hoog | Intrekken, tenzij je actief iets te koop hebt staan |
| Onbeperkte allowance aan een app die je niet meer gebruikt | Gemiddeld | Intrekken |
| Beperkte allowance aan een betrouwbare app die je vaak gebruikt | Laag | Behouden of verlagen |
| Goedkeuring aan een contract dat betrokken was bij een exploit | Hoog | Direct intrekken |
Wat intrekken niet kan
Intrekken is preventief, geen remedie. Het zal niet:
- Tokens teruggeven die al zijn overgemaakt.
- Je beschermen als je seedphrase of privésleutel is gestolen. In dat geval kan de aanvaller alles ondertekenen; verplaats je resterende bezittingen naar een nieuwe wallet zoals beschreven in wat je direct moet doen als je wallet is gecompromitteerd.
- Off-chain permit-handtekeningen die je al hebt gegeven betrouwbaar annuleren. Die volgen hun eigen regels voor verloopdatum en nonce, dus als je een verdachte permit hebt ondertekend, is het veiligst om de betrokken tokens naar een nieuwe wallet te verplaatsen.
Verklein het goedkeuringsrisico voortaan
- Stel zelf allowances in. Veel wallets laten je het bedrag in de goedkeuringsmelding aanpassen. Keur alleen goed wat je van plan bent uit te geven.
- Gebruik een aparte wallet om te experimenteren. Houd een burner wallet aan voor nieuwe apps, mints en airdrops, en bewaar langetermijngeld in een wallet die nooit met onbekende sites wordt verbonden.
- Lees elk handtekeningverzoek. Als een site je vraagt een bericht te ondertekenen dat je niet begrijpt, stop dan.
- Controleer goedkeuringen regelmatig. Om de paar maanden en nadat je een nieuwe app hebt uitgeprobeerd.
- Controleer ook verbonden sites. Verbinding en goedkeuring zijn verschillende dingen; zie walletmachtigingen en verbonden sites.
Veelgemaakte fouten
- Een nep-intrekkingstool gebruiken die je via een zoekadvertentie of een reactie op sociale media hebt gevonden.
- Intrekken op Ethereum, maar dezelfde wallet op layer 2-netwerken vergeten.
- Aannemen dat het loskoppelen van een site in je wallet de goedkeuringen verwijdert. Dat is niet zo.
- Tokens met een lage waarde negeren; aanvallers halen vaak alles weg wat ze kunnen.
Conclusie
Tokengoedkeuringen zijn doorlopende machtigingen die langer blijven bestaan dan het moment waarop je ze gaf. Ze controleren is gratis, ze intrekken is goedkoop, en door dat regelmatig te doen sluit je een van de meest gebruikte routes van drainers af. Maak er een routine van, keur alleen goed wat je nodig hebt en bewaar je belangrijkste bezittingen in een wallet die zelden iets ondertekent.
Veelgestelde vragen
Wat is een tokengoedkeuring?
Een tokengoedkeuring is toestemming die je een smart contract geeft om een bepaalde token uit je wallet te verplaatsen, tot een vastgesteld bedrag. Gedecentraliseerde exchanges en andere DeFi-apps hebben goedkeuringen nodig om te werken. De toestemming blijft actief totdat je die intrekt of de allowance is opgebruikt, ook als je de app nooit meer bezoekt.
Kost het intrekken van een goedkeuring gas?
Ja. Intrekken is een on-chain transactie die de allowance op nul zet, dus je betaalt een normale netwerkvergoeding. Op het Ethereum-mainnet kan die merkbaar zijn; op layer 2-netwerken is die meestal goedkoop. Je goedkeuringen bekijken is gratis.
Krijg ik mijn gestolen tokens terug als ik een goedkeuring intrek?
Nee. Intrekken voorkomt alleen toekomstige overboekingen door dat contract. Tokens die al zijn weggehaald, krijg je niet terug door in te trekken. Als je seedphrase of privésleutel is uitgelekt, is intrekken niet genoeg; verplaats het resterende geld naar een nieuwe wallet.
Hoe vaak moet ik mijn tokengoedkeuringen controleren?
Een goede gewoonte is om ze om de paar maanden na te lopen en na elke sessie waarin je een nieuwe of onbekende app hebt gebruikt. Controleer ze ook meteen als je vermoedt dat je iets kwaadaardigs hebt ondertekend.
