How to Revoke Token Approvals and Clean Up Your Wallet
Every DeFi protocol you've used still has permission to touch your tokens. Here's how to find out what you've approved and how to remove the ones that are a liability.
Token approvals don't expire. When you approved Uniswap to spend your USDC two years ago, that approval is still live right now. If a vulnerability is ever discovered in that contract, or if the contract was malicious from the start, your entire approved balance is still at risk.
An active DeFi wallet accumulates a long list of approvals over time. Most of them are from protocols you barely remember โ old Uniswap versions, yield farms that closed, random dApps you tried once and never went back to. Each one is still active. Each one is a door that never got locked. Revoking them doesn't take your tokens back, but it closes those doors going forward.
How to run a full approval audit on Revoke.cash
- 1.Go to revoke.cash
- 2.Connect the wallet you want to audit (MetaMask, Phantom, or paste an address to audit without connecting)
- 3.The dashboard shows every active approval โ sorted by token, spender, and approved amount
- 4.Look for unlimited approvals (shown as โ or a very large number) from contracts you don't recognize
- 5.Click Revoke next to any you want to remove โ you'll be prompted to sign a small gas transaction
- 6.Repeat for each wallet you use actively
Revoke.cash supports Ethereum, BSC, Polygon, Arbitrum, Optimism, Base, and most major EVM chains. You can audit any public address without connecting a wallet โ useful for checking a cold wallet address before transferring assets into it.
What to prioritize when revoking
You don't need to revoke everything โ just reduce your risk surface. Here's what to focus on:
- โUnlimited approvals for unverified or obscure contracts โ these are the highest risk
- โAny spender contract you don't recognize by address or name
- โProtocols that have been exploited or shut down โ the contract still has permissions
- โApprovals for large token balances you're actively holding
- โOld versions of protocols (Uniswap v2 approvals when you now only use v3)
Going forward: approve less, revoke less
The cleanest approach is to approve less in the first place:
- โSet a custom approval amount equal to what you're actually spending โ not unlimited
- โUse protocols that support permit2 (like Uniswap) โ permit signatures expire and don't require on-chain approvals
- โKeep your main wallet separate from your DeFi wallet โ don't hold your long-term holdings in the wallet you use to interact with dApps
Frequently asked questions
How do I revoke token approvals?
Go to revoke.cash, connect your wallet, and click Revoke next to any approval you want to remove. Each revocation is a small on-chain transaction. The whole audit takes 5โ10 minutes for most wallets.
How often should I revoke token approvals?
Monthly for active DeFi users. Immediately after any security scare โ a protocol you used was hacked, you clicked a suspicious link, or you noticed unexpected activity. Do it on a schedule, not just after something scares you.
Does revoking a token approval affect my DeFi positions?
No โ revoking only affects future transactions. Existing positions, staked tokens, and liquidity are unaffected. If you use that protocol again later, you'll just re-approve when prompted.
Read every approval before you grant it
TxnGuide explains every MetaMask approval request in plain English โ who's asking, what they can do with access, and whether the amount is unlimited. Stop creating approvals you'll need to clean up later. Free Chrome extension.
Get TxnGuide โ It's Free