Token approval
Een token approval is een on-chain toestemming die je aan een smart contract geeft om een specifieke token uit je wallet uit te geven, tot een gekozen bedrag. Het mechanisme komt uit de ERC-20-tokenstandaard: contracten kunnen je tokens niet zomaar afnemen, dus protocollen zoals gedecentraliseerde exchanges vragen je eerst om hun contract als spender goed te keuren, en pas daarna kan een swap of storting de tokens verplaatsen.
Voordat je bijvoorbeeld voor het eerst USDC op een DEX swapt, vraagt je wallet je om een approval-transactie waarin de DEX-router als spender wordt genoemd. Veel apps vragen standaard om een onbeperkte goedkeuring, zodat je die token nooit opnieuw hoeft goed te keuren, wat handig is maar betekent dat het contract onbeperkt lang elk bedrag van die token vanaf je adres kan verplaatsen. NFT's hebben een gelijkwaardige toestemming die een hele collectie in één keer kan dekken.
Goedkeuringen blijven bestaan totdat ze expliciet worden ingetrokken, en ze zijn het grondmateriaal van approval exploits: kwaadaardige sites oogsten ze en gehackte protocollen stellen iedereen bloot die ze heeft verleend. Goede hygiëne is om bij voorkeur goedkeuringen voor het exacte bedrag te geven wanneer je wallet die optie biedt, en verouderde toestemmingen af en toe na te lopen en in te trekken met een betrouwbare tool voor goedkeuringsbeheer. Een veelvoorkomende misvatting is dat het loskoppelen van je wallet van een website de goedkeuringen annuleert; loskoppelen zorgt er alleen voor dat de site je adres niet meer ziet, terwijl de on-chain toestemming blijft bestaan totdat je een intrekkingstransactie (revoke) verstuurt.