How to Find and Revoke Token Approvals You Forgot About
When you swap tokens on a decentralized exchange or deposit assets into a yield farm, you usually click “approve” without reading the fine print. That single click grants the smart contract permission to move specific tokens from your wallet. Most of the time, these approvals are unlimited by default, meaning the contract can drain the entire balance of that token even months after you stopped using the platform. If the protocol gets hacked or turns malicious, those old approvals become an open door.
Cleaning up these lingering permissions is basic wallet hygiene, yet most users never do it. Here is how to audit your approvals and revoke the ones you no longer need.
Understanding the Risk
Token approvals work differently from simple transfers. When you approve USDC for a DEX, you are creating an on-chain allowance that says “this contract can move up to 2^256 minus one of my USDC tokens.” The contract cannot touch your ETH or other tokens, but it has a blank check for that specific asset. Even if you only swapped ten dollars worth, the approval remains active indefinitely until you manually cancel it.
Finding Your Active Approvals
You have two main ways to see what contracts currently have spending rights.
Using a Blockchain Explorer
Navigate to a public explorer for your network and paste your wallet address into the search bar. Look for the “Token Approvals” or “Approved Spender” tab. Some explorers list every ERC-20 token contract that has an active allowance tied to your address, along with the approved spender contract and the remaining limit. If the limit shows a string of nines, that is effectively unlimited.
Using a Revocation Tool
Several open-source interfaces exist specifically for this task. Connect your wallet to one of these tools, and it will scan the blockchain for all approvals linked to your address. The dashboard typically sorts them by token and shows the approved spender, the amount allowed, and the date you granted it. This method is faster than manual explorer checks because it aggregates data across multiple token contracts in one view.
Revoking the Approvals
Once you identify an old or suspicious approval, revocation requires a new transaction that sets the allowance to zero.
- Select the token and the specific contract you want to remove.
- Click the revoke button, which generates a transaction that overwrites the previous unlimited allowance with a zero value.
- Confirm the transaction in your wallet and pay the gas fee. This cost is unavoidable, but on layer-two networks it is usually less than a cent.
- Wait for confirmation. Once the transaction settles, the spender contract can no longer touch that token in your wallet.
Work systematically through your list, starting with the largest unlimited approvals on protocols you no longer use. You do not need to revoke approvals for platforms you actively trade on, since removing those will simply force you to pay another approval fee the next time you swap.
Building Safer Habits
To minimize future cleanup, change your default behavior when prompted to approve. Many modern wallets now let you edit the approval amount before signing. Instead of infinite approval, choose “Use default” or manually enter the exact amount you plan to spend. This creates a finite allowance that expires once used, leaving nothing to revoke later.
You should also schedule a quarterly review. Set a reminder every three months to check for new approvals accumulated through experimental dApps or airdrop claims. Revoking unused permissions costs less than dealing with a drained wallet.
Finally, consider using a separate hot wallet for trying new protocols. Keep your main holdings in a cold wallet that never interacts with unaudited contracts. If the hot wallet gets compromised through an old approval, your core funds remain untouched.
Unlimited token approvals were designed for convenience, but they trade security for a few saved cents in gas. Taking twenty minutes to audit and revoke old permissions is one of the simplest ways to reduce your exposure to smart contract exploits.
