Token Approvals: Why You Should Review and Revoke Them
Token approvals let apps move your tokens long after you use them. Learn how allowances work, how to measure your exposure, and when to revoke them.
Key takeaways
- An approval lets a contract move your tokens later without asking again, up to the allowance, until you change it.
- Each approval can take the smaller of the allowance and your balance, so an unlimited approval exposes the whole balance.
- In our example, revoking two stale approvals cut exposure from $3,300 to $300 for about $2.53 in gas at busy-network prices.
- Disconnecting a wallet from a site does not revoke approvals. Only an on-chain transaction that sets the allowance to zero does.
- A revoke tool never needs your recovery phrase. Reach it through a bookmark, and read what you sign.
On this page
What is a token approval?
When you swap or deposit a token through an app, the app’s contract usually needs to pull the tokens from your wallet. The token standard makes that a two-step process. First you approve a spender, which, in the standard’s words, “allows _spender to withdraw from your account multiple times, up to the _value amount.” Then the contract can transfer tokens from your wallet whenever it needs to, until the remaining allowance runs out.
Many apps request an unlimited allowance so you never pay for a second approval. That convenience has a cost. As ethereum.org’s guide to revoking access puts it, a platform with unlimited access “can spend all those tokens even if you have withdrawn your funds from their platform into your wallet.”
Approvals don’t expire by default. An approval you gave a swap app two years ago is still active today unless you changed it.
Why do old approvals put your tokens at risk?
An approval is a standing permission. It stays harmless only as long as the approved contract stays honest and bug-free, and you have no control over either. Three situations turn a forgotten approval into a loss:
- The app’s contract is exploited. An attacker who finds a flaw in an approved contract may be able to pull tokens from every wallet that approved it.
- The spender was malicious from the start. Fake claim pages and drainer sites ask for approvals because an approval is all they need. Our guides to fake airdrop and claim sites and how drainers steal funds cover the setups.
- You signed a permission without a transaction. Under the permit standard, a signed message can set an allowance without you sending a transaction or paying gas, and anyone holding the signature can submit it before its deadline. Some apps also route approvals through a shared approval contract: you approve it once for the maximum amount, and apps then receive time-limited permissions by signature. That makes reading what you sign just as important as reviewing transactions.
A cold wallet doesn’t change any of this. Once you have approved a contract, it can move tokens without touching your keys, which is why hot and cold wallets share this risk.
How much can one approval take?
For each approval, the most that can leave your wallet is the smaller of the allowance and your balance of that token. An unlimited approval exposes the entire balance, including tokens you receive later.
Exposure per approval = min(allowance, your token balance)Unlimited on 3,000 Token X → 3,000 exposed; 10 of 40 Token Y allowed → 10 exposedExample: Suppose your wallet holds 3,000 Token X, a dollar stablecoin, and 40 Token Y at a hypothetical $30 each ($1,200). Total holdings: $4,200.
| Approval | Allowance | Status | Exposure |
|---|---|---|---|
| Token X to an old swap app | Unlimited | Unused for a year | $3,000 |
| Token Y to a staking app | 10 Token Y | Used weekly | 10 × $30 = $300 |
| Token Z to an airdrop claim page | Unlimited | Balance is zero | $0 today, all future Token Z |
| Token X to a lending app | 500, fully used | Allowance now 0 | $0 |
Total exposure is $3,300, or 78.6% of the $4,200 wallet. Revoking the first and third approvals drops it to $300, or 7.1%, and removes the trap waiting for any Token Z you receive later.
Should you revoke it? A decision table
| Approval | Revoke? | Why |
|---|---|---|
| Any amount, app you no longer use | Yes | Risk with no benefit |
| Spender you don’t recognize | Yes, and check for other damage | May be a drainer |
| Unlimited, token you hold in size | Usually; approve exact amounts next time | Caps exposure |
| Small exact allowance, app you use often | Usually keep | Revoking and re-approving costs gas |
| Unlimited, token you hold none of | Yes, if you may receive it later | Future deposits are exposed |
What does revoking cost?
A revoke is an on-chain approval that sets the allowance to zero, so it costs gas like any transaction. A planning figure of about 46,000 gas per revoke is conservative, since clearing an allowance often uses less.
- Busy network (hypothetical 11 gwei, ETH at $2,500): 46,000 × 11 = 506,000 gwei = 0.000506 ETH, about $1.27 per revoke. The two revokes in the example cost about $2.53 to remove $3,000 of exposure.
- Quiet network (0.1 gwei): 46,000 × 0.1 = 4,600 gwei, about a cent per revoke.
The same math explains the “usually keep” row. Revoking and re-approving an app you use every week would take 104 transactions a year, about $131.56 at busy-network prices. For active apps, a small exact allowance is the better balance. You can rerun these numbers with our gas fee calculator, and the guide to Ethereum gas fees explains the inputs.
How to review and revoke approvals safely
- Open a trusted approval checker. Block explorers and dedicated revoke tools list approvals by wallet; ethereum.org’s guide names several. Type the address or use a bookmark, never an ad or a link from a message.
- Pick the right network. Approvals are recorded per network, so check each one you use.
- Review spender, token and allowance. Flag anything unlimited, stale or unrecognized.
- Revoke and confirm on your device. The transaction should set the allowance to zero. Read it before you sign.
- Recheck the list. Make sure the allowance now shows zero.
Warning: A revoke tool never needs your recovery phrase. It only asks you to connect and sign a transaction. If any “revoke” or “security” site asks for your phrase, or for a signature you can’t read, close it.
Common mistakes
- Assuming disconnecting revokes. Disconnecting hides your address from a site; on-chain allowances stay put.
- Revoking on one network only. An approval on a layer 2 network is separate from one on Ethereum mainnet.
- Ignoring zero-balance tokens. An unlimited approval on a token you don’t hold yet is still a trap for later.
- Revoking after the fact and calling it done. An unused permit signature can still be submitted until its deadline, so if you signed one on a suspicious site, moving the tokens to a fresh wallet is the dependable fix.
For the rest of the routine, work through the crypto wallet security checklist.
The bottom line
An approval is a standing permission that lasts until you change it, and each one can take the smaller of its allowance and your balance. Review approvals every few months, revoke anything stale, unlimited or unrecognized, and keep small exact allowances only for apps you use. A revoke costs a transaction fee and never your recovery phrase.
Frequently asked questions
Does disconnecting my wallet from a website revoke token approvals?
No. Disconnecting only stops that website from seeing your address and asking your wallet for signatures. Token approvals live on the blockchain inside the token's contract, and they stay in force until you send a transaction that changes them or the allowance is used up. To remove one, you need a revoke, which is an approval transaction that sets the allowance to zero.
Do token approvals expire?
Standard token approvals don't expire. They last until you change them or the approved amount has been spent, which is why an unlimited approval from years ago can still be active today. Some signature-based permissions include a deadline or an expiry time, but you can't assume that for any given approval. Reviewing your approvals every few months is the practical answer.
Does revoking a token approval cost gas?
Yes. A revoke is an on-chain transaction, so you pay the network fee: gas used × (base fee + tip). Planning at about 46,000 gas per revoke, that is roughly a cent at 0.1 gwei and about $1.27 at 11 gwei with ETH at a hypothetical $2,500. Clearing an allowance often uses less gas than that, and fees on layer 2 networks are usually far lower.
Can a hardware wallet protect me from a bad approval?
Not after you have signed it. A hardware wallet keeps your private keys offline, but an approval you confirm on it is just as valid as one from any other wallet. The approved contract can then move those tokens without touching your keys. The device helps only if you read the request on its screen and refuse anything you don't recognize.
Sources
- ERC-20: Token Standard — Ethereum Improvement Proposals
- How to revoke smart contract access to your crypto funds — ethereum.org
- ERC-2612: Permit Extension for EIP-20 Signed Approvals — Ethereum Improvement Proposals
- Permit2 Overview — Uniswap Docs
This content is for education only and is not financial, investment, tax or legal advice. Crypto assets are volatile and you can lose money. Examples use hypothetical numbers. See our disclaimer and editorial policy.