DeFi Intel

How to Revoke Token Approvals

DifficultyIntermediate Estimated time15 minutes Last updated2026-05-03

How to revoke ERC-20 token approvals to remove old or malicious spender permissions: revoke.cash, Etherscan token-approval tool.

What you'll need (prerequisites)

Recommended for this tutorial

Tools and accounts referenced in the steps below:

Move to hardware: Ledger · Trezor cold storage

Step-by-step

  1. Step 1: Understand what token approvals are

    A token approval (allowance) is on-chain permission you grant a smart contract to move a specific ERC-20 token from your wallet. Many dApps request a maximum, effectively unlimited allowance so you never have to re-approve, but that permission stays live until you revoke it. If that spender contract is later exploited or was malicious to begin with, it can drain the approved token with no further signature from you.

  2. Step 2: Open an approval checker

    Go to revoke.cash and connect your wallet, or paste your public address to review it read-only. You can also use the explorer's built-in tool at etherscan.io/tokenapprovalchecker, and each chain has its own such as Basescan or Arbiscan. Make sure the checker is set to the same network as the wallet you want to audit.

  3. Step 3: Review your active allowances

    The tool lists every active approval with the token, the spender contract, and the approved amount. Flag anything shown as Unlimited, any spender address you do not recognise, and approvals tied to sites you no longer use. The spender label and contract link help you tell a legitimate router such as Uniswap from an unknown or suspicious address.

  4. Step 4: Revoke the risky approvals

    Click Revoke next to each unwanted allowance and confirm the transaction in your wallet. A revoke is a real on-chain transaction that resets the allowance to zero, so it costs gas in the chain's native token — keep a small balance for fees. On revoke.cash you can also use the pencil icon to lower an allowance instead of removing it entirely.

  5. Step 5: Confirm the allowance is now zero

    After the transaction confirms, refresh the checker and verify the approval has disappeared or now reads zero. Each revoke is specific to one token and one spender, so repeat the process for every risky entry — clearing one does not affect the others. Only when the list is clean are those tokens no longer exposed to that contract.

  6. Step 6: Stay safe going forward

    Prefer limited, exact-amount approvals over unlimited ones whenever a dApp gives you the choice, and put a periodic allowance review on your calendar. Consider a separate burner wallet for mints and new or unaudited dApps so your main holdings are never exposed. The revoke.cash browser extension can also warn you before you sign a suspicious approval or permit signature.

Common errors and fixes

FAQ

Does revoking an approval cost gas?

Yes. A revoke is an on-chain transaction that sets the allowance back to zero, so it costs a small fee in the network's native token (ETH on Ethereum, and so on). Reviewing your approvals in a checker is free; only the revoke transaction itself costs gas.

Is an unlimited approval dangerous?

An unlimited (max-uint256) allowance lets the spender contract move any amount of that token, indefinitely, until you revoke it. It is convenient but means a single exploit or malicious upgrade of that contract could drain the whole balance. Prefer exact-amount approvals whenever a dApp offers the choice.

Does revoking remove tokens I already deposited?

No. Revoking only cancels future permission to move tokens still sitting in your wallet. Funds you have already staked, supplied, or deposited into a protocol are controlled by that protocol's own withdrawal function, not by the allowance.

Do I need to revoke approvals on every chain separately?

Yes. Approvals are per chain and per token-spender pair, so an allowance on Ethereum is separate from one on Base or Arbitrum. Switch networks in the checker and review each chain where you have been active.

Can I revoke approvals without connecting my wallet?

You can review any address read-only by pasting it into revoke.cash or the block explorer, but actually revoking requires signing a transaction from that wallet. There is no way to cancel an allowance without the wallet's own signature.

Entities mentioned