~/blog/token-approvals-and-revoking-allowances
All articlesToken Approvals: How Wallets Get Drained and How to Revoke Access
A practical guide to understanding token approvals, how drainer contracts empty wallets, and how to review and safely revoke allowances on networks like BEP20.
On this page
Have you ever connected your wallet to a dApp with a single click labeled "Approve," then forgotten about it completely? That fleeting moment can stay open for years, and it's one of the most common ways wallets get drained today. In this guide, we explain what a "token approval" is, how scammers exploit it, and — most importantly — how to review and revoke your approvals yourself, step by step.
What does a "token approval" mean?
Tokens like USDT on the BEP20 network don't move on their own. When you want to use them in a decentralized app — a swap, a liquidity pool, or any smart contract — that contract needs prior permission to pull tokens from your wallet. This permission is called an "allowance," and you grant it through an "Approve" transaction.
The problem is that many apps default to requesting an unlimited allowance — essentially: "let this contract withdraw any amount of this token, at any time, forever." You sign once, but the door stays open until you close it yourself.
Signing "Approve" doesn't move your funds at that moment — but it does hand the contract a permanent key. The danger isn't the amount right now; it's the open-ended permission that comes later.
How do drainer contracts empty wallets?
Drainer contracts don't "hack" your wallet — they trick you into signing the permission yourself. The typical scenario:
- You land on a fake site that mimics a known platform, or a message lures you with a "reward" or an "airdrop."
- The site asks to connect your wallet, then shows a signature prompt that looks routine.
- That signature is actually granting unlimited approval on a token you own (like USDT or a network token).
- Nothing visible happens, so you assume it failed and move on.
- Hours or days later, the attacker calls
transferFromand drains your balance — all at once or gradually.
The most dangerous trick is Permit and Permit2 signatures: an "off-chain" signature that costs no gas and never shows up as a transaction, yet grants full approval. That's exactly why the request can look completely harmless. The mechanism is a published standard, EIP-2612, which lets an allowance be set by signed message instead of by an on-chain transaction — so the wallet has no transaction to warn you about.
No legitimate platform will ever ask you to "sign for a reward" or reactivate an account by granting approval on your tokens. Any request to sign in exchange for free money is a near-certain red flag.
Warning signs before you sign
- The site reached you via a private message, a paid ad, or a "support" account that messaged you first.
- The wallet prompt shows
ApproveorPermitfor a token you have no intention of swapping right now. - The requested allowance is unlimited, while you only need a small amount.
- The receiving contract is an unfamiliar address that doesn't appear as a verified, known contract on a blockchain explorer.
- Urgency and time pressure: "This offer ends in minutes."
How do you review and revoke your approvals?
The good news: approvals can be revoked at any time, and revoking is simple. You're essentially sending a transaction that resets the allowance back to zero.
Practical steps
- Open a trusted approval-review (revoke) tool in your browser, and make sure you type the address in yourself rather than clicking a link from a message.
- Connect your wallet — or better yet, paste only your public address to view it read-only first, then revoke once you've confirmed everything.
- Select the correct network (for example, BNB Smart Chain for BEP20 tokens).
- Review the list of approvals: each row shows a token, a spender contract, and an allowance limit.
- Look for unlimited allowances or contracts you don't recognize, and click "Revoke."
- Sign the revoke transaction, pay the small gas fee, and wait for confirmation.
Every on-chain revoke transaction costs a small gas fee. Prioritize: revoke unlimited allowances on your highest-value tokens first (USDT, network tokens).
Ways to review your approvals
| Method | How it works | Note |
|---|---|---|
| Dedicated revoke tool | Shows all your approvals and revokes them in one click | Fastest option; double-check the site's URL carefully |
| Blockchain explorer | "Token Approvals" tab on the network's explorer | Reliable and pulled directly from on-chain data |
| The wallet itself | Some wallets include a built-in approvals section | Convenient if your wallet supports it |
Habits that protect you going forward
- Set an exact amount: whenever you approve, choose an allowance that matches what you actually need — not "unlimited," if the app allows it.
- Review regularly: check your approvals every few weeks, and after interacting with any new site.
- Separate your wallets: keep a small "hot" wallet for trying out new sites, and a "vault" wallet you never connect to any dApp.
- Read the signature prompt: understand the function name and the spender contract before you click; if you don't understand it, don't sign.
- Watch for gasless signatures: a
Permitsignature may cost no fee, but it can still grant full approval.
This content is educational, meant to raise your security awareness — it is not financial, legal, or religious advice. Revoke tools and network names change over time, so always verify official sources yourself before connecting your wallet or signing anything. Protecting your keys and approvals is ultimately your own responsibility.
Conclusion
Token approvals are a necessary tool for decentralized apps — but they're also the most commonly exploited back door. The rule is simple: grant only what you need, and revoke what you no longer use. Make reviewing your approvals a regular habit, just like cleaning out your wallet, and you'll shut the widest door scammers rely on before they ever knock.