ERC-20 token approval risk
what you're really signing
A token approval is not the same as a swap. It is a standing permission you grant to a smart contract - and unless you revoke it, it stays active forever. Here is what that means and how to manage it.
Check a contract before approvingFree · No sign-up · EVM · Solana · Tron
Every scan is powered by the XemaS Semantic Intelligence Platform · answers carry their evidence and coverage state
How ERC-20 approvals work
The ERC-20 standard has a function called approve(spender, amount). When you call it, you are telling the token contract: "I authorise this address to transfer up to this amount of my tokens." The DEX or DeFi protocol is the spender, and once approved, it can move your tokens without a second confirmation from you.
The amount you approve is not consumed by the swap. After a 100 USDC swap, a wallet with an unlimited approval still has an unlimited approval. The permission does not shrink unless you explicitly set it to a lower value.
This creates a persistent, open-ended exposure. The three scenarios below illustrate the risk gradient.
Approval amount and what it means
The contract is approved for exactly the amount needed for this transaction. If the contract is later exploited, attackers can drain only the approved amount.
Approved for more than needed "for convenience". Exposes your wallet to any amount up to the approved figure for as long as the approval exists.
The contract can transfer your entire token balance at any time. A single exploit or ownership transfer on the approved contract drains your wallet completely.
How approvals are exploited
Contract exploit after approval
If a DeFi contract is exploited after you have given it unlimited approval, the attacker can drain your full balance of the approved token - long after you stopped using the protocol.
Ownership transfer to a malicious wallet
A contract you approved can be transferred to a new owner who then drains all wallets with outstanding approvals. This has happened with real DeFi protocols; always check that ownership is renounced or behind a timelock.
Upgradeable proxy attack
If the approved contract is an upgradeable proxy, a malicious upgrade can introduce a drain function. Your approval, granted when the original code was clean, now authorises the new malicious implementation.
Approval phishing
A fake website mimics a legitimate DeFi interface and prompts you to sign an approval transaction. The approval looks like a normal swap but grants the attacker's contract unlimited access to your tokens.
Stale approvals accumulate
Every DeFi interaction adds to a list of active approvals. Wallets with years of DeFi history often have hundreds of outstanding approvals to protocols that may no longer be maintained or have been deprecated.
Token approval ≠ swap approval
An approval transaction is not the swap itself. It is a separate permission step that persists indefinitely. Many users sign approvals without understanding that they remain active until explicitly revoked.
How to manage approval risk
Before approving: check the contract
Before signing any approval, verify the contract you are approving: is it audited? Is ownership renounced or time-locked? Is it an upgradeable proxy? A scanner resolves all three in seconds.
Approve only the exact amount needed
Most DEX interfaces offer a custom amount option. Set the approval to exactly the swap amount. Yes, it means an extra approval transaction next time - that is a worthwhile trade-off against unlimited exposure.
Audit your existing approvals
Use a token approval checker (specific to your chain) to view every active approval granted by your wallet. Sort by amount: unlimited approvals to unknown or deprecated contracts are the priority.
Revoke dormant approvals
Revoking an approval is a standard ERC-20 transaction (approve with amount = 0). Each revocation costs a small gas fee. Prioritise unlimited approvals and contracts you no longer use.
Check the approved contract for risk
An approval scanner shows you what you have approved, but not the risk level of what you approved. Cross-check the approved contract address for proxy status, ownership, and known exploits.
Check ownership, proxy status, and audit history in one scan.