Learn · Security

Token Approvals Explained: How to Check and Revoke Them

Published August 12, 2026 · 8 min read

Every token swap you've ever made left something behind: a standing permission allowing a smart contract to move your tokens. Most people have dozens of these and have never looked at them. Here's what they are and how to clean them up.

When you swap an ERC-20 token — USDC, WBTC, LINK, almost anything that isn't the chain's native coin — there are actually two transactions. First an approval, where you grant the exchange contract permission to move that token. Then the swap itself.

That two-step design is deliberate and sensible: it means a contract can never touch a token you haven't explicitly authorised. The problem is what happens afterwards.

The approval doesn't expire

Once granted, an approval stays live until you actively remove it. Many apps request an unlimited allowance by default, because it means you only pay approval gas once instead of before every trade. Convenient — and it means that contract retains permission to move that token from your wallet indefinitely.

To be clear about the actual risk: this is not a claim that any particular exchange will steal from you. The risk is time. An approval you granted eighteen months ago to a protocol you've forgotten is still active. If that contract is ever exploited — and DeFi contracts do get exploited — the attacker inherits every permission it holds.

The danger isn't granting an approval. It's that approvals accumulate silently and never expire, so your exposure only ever grows.

Why this is different from being hacked

An approval-based drain doesn't require your seed phrase. Nobody needs to break your wallet. The permission you already signed is sufficient — which is why this class of loss catches people who consider themselves careful.

It's also why non-custodial trading removes one category of risk but not all of them. Your keys stay yours; the permissions you've handed out are a separate surface entirely.

How to audit and revoke your approvals

1. Open an approval checker

The best known is Revoke.cash. Etherscan and most block explorers also have a "Token Approval Checker" under their tools menu. Pick the network you want to review first.

2. Connect your wallet

Connect the wallet you want to audit. Building the list only reads public blockchain data — no signature required just to look. As always, type the URL yourself rather than following a link from a DM or search ad.

3. Read the list honestly

You'll likely see more than you expect. Prioritise:

4. Revoke

Select the approval and choose revoke. Your wallet asks you to sign a transaction that sets the allowance to zero. Your tokens don't move and aren't at risk during this — you're only editing a permission.

5. Repeat per chain

This is the step people miss. Approvals are per network. Cleaning up on Ethereum does nothing for your Base, Arbitrum, Polygon or BNB Chain approvals. Work through each network you've actually used.

What it costs

Each revoke is an on-chain transaction, so you pay gas. On Ethereum mainnet that might be a few dollars per approval, which is worth budgeting for if you have many. On Base, Arbitrum and similar layer 2 networks it's typically well under a cent — clean those up freely.

Solana works differently: SPL tokens use a delegate model rather than ERC-20 style allowances, but the principle holds. Review what you've delegated and revoke what you don't need.

Sensible habits going forward

None of this makes you paranoid — it makes you current. Approvals are one of the few risks in self-custody that you can eliminate completely in an afternoon.

Swap without handing over custody

Kryllex never holds your funds. You sign every transaction yourself, across 16 chains and 100+ DEXs, at the best routed price.

Launch Kryllex →

Keep reading: How to spot a scam token · Non-custodial trading explained