How to revoke token approvals after swapping to prevent wallet drains
You swap a token. The transaction succeeds. You close the tab and move on.
But you just gave a smart contract permission to spend your tokens. That permission does not expire. It sits on the blockchain, active, until you explicitly cancel it.
This guide explains what a token approval actually is, how to check what you have approved, and how to revoke approvals to keep your wallet safe.
What a token approval does
A token approval is a permission you grant to a smart contract. It allows that contract to transfer a specific token from your wallet.
Every swap, every purchase on a decentralized exchange, every interaction with a DeFi protocol requires this step. You approve a contract to spend tokens so it can execute the trade.
The problem is that many approvals are set to "unlimited." That means the contract can spend as many of those tokens as your wallet ever holds. Not just what you swapped. Not just what you intended. All of them.
Once granted, that permission stays active forever. The contract could be exploited later. The developers could turn malicious. You could interact with a front-end that has been compromised. Any of those scenarios could let the contract drain every approved token from your wallet.
Hardware wallets do not protect you here. A hardware wallet signs the approval transaction. After that, the approval exists on-chain. Any subsequent transfer the contract initiates is also signed by your hardware wallet, appearing legitimate. The hardware wallet cannot tell the difference between a transfer you intend and one the contract executes under its old permission.
Why unlimited approvals are dangerous
Unlimited approvals are the default on most DEX interfaces. The user experience is smoother - you approve once and never need to approve again. But you are trading convenience for permanent risk.
If the contract is ever compromised, the attacker can call the transfer function for the approved token. They do not need your private key. They do not need another signature from you. The approval is already there.
Even if nothing goes wrong today, the approval remains indefinitely. In six months, if that token contract is abandoned, the approval is still live. If someone finds a vulnerability in the contract code years from now, the approval is still live.
How to check your current approvals
Two tools let you inspect what your wallet has approved: Revoke.cash and Etherscan's token approval checker.
Revoke.cash works across multiple chains including Ethereum, BNB Chain, Polygon, and Arbitrum. Connect your wallet. The site scans your address and displays every active approval, the token, the contract approved, and the amount. You can revoke directly from the interface.
Etherscan has a similar tool under the "Token Approvals" tab of your address page. It shows the same information but requires you to initiate the revoke transaction yourself.
When you check, look for contracts you do not recognize. Look for approvals on tokens you no longer hold. Look for any approval set to a very large number - that is an unlimited approval.
How to revoke an approval
Revoking sets the approval to zero. It is a standard Ethereum transaction that updates the allowance on the token contract.
On Revoke.cash, you click the "Revoke" button next to the approval you want to cancel. Your wallet prompts you to sign a transaction. The gas cost is the same as any standard transfer - typically $1 - $5 depending on network congestion.
You can also revoke manually on a block explorer. Go to the token contract, find the "Write Contract" section, connect your wallet, and call the approve function with the contract address and a value of zero.
Either method accomplishes the same thing. The approval is gone. The contract can no longer spend those tokens.
Build the habit
One transaction is cheap. Revoking every approval you ever make costs more in total, but most approvals are unnecessary after the trade is done. You do not need to keep approving a contract you will never use again.
Make it a habit after every trade involving an unfamiliar token. Before you close the swap interface, open Revoke.cash and cancel that approval. The gas cost is tiny compared to the risk of leaving it open.
Check your existing approvals once a month. Most wallets accumulate dozens of active approvals over time. Many are on forgotten tokens. Clean them out.
Approvals are the most common attack vector in wallet drains. The fix is simple. You just have to do it.
Not financial advice. 1msc.xyz publishes market data and general information about digital assets. Crypto assets are volatile and you can lose everything you put in. Nothing here is a recommendation to buy, sell or hold, and we make no price predictions.
Prices are sourced from third parties and may be delayed or wrong. Verify anything you intend to act on against a primary source.