A token approval is a permission you sign that lets a smart contract move a set amount of one ERC-20 token from your wallet. Swaps, bridges and DeFi apps need it before they can take your USDC, USDT or other tokens, so the first swap of a token usually takes two transactions: approve, then swap. Native coins such as ETH, BNB or POL do not need approval because they are sent directly with the transaction.
Key Takeaways
- Per token, per contract: each approval covers one token and one spender.
- Allowance stays active until it is used up or revoked.
- Unlimited approvals are convenient but risky.
- Revoke old approvals with Revoke.cash or an explorer’s approval checker.
How an Approval Works
The ERC-20 standard has an approve function: you set a spender (the app’s contract) and an allowance (the amount). The app then calls transferFrom to move up to that amount. Your wallet shows the request as “Allow this site to spend your USDC” or similar.
| Field in the wallet | What it means |
|---|---|
| Spender | The contract that gets permission |
| Amount | Allowance; “unlimited” means the maximum value |
| Network fee | Gas for the approval transaction |
Exact vs Unlimited
| Exact amount | Unlimited | |
|---|---|---|
| Gas | approve every time | approve once |
| Risk if the contract is hacked | only the allowance | the whole token balance |
| Best for | large balances, new apps | small, frequent swaps on trusted apps |
Most wallets let you edit the amount before signing. For a one-off swap, set it to the swap amount.
Permit and Permit2 Signatures
Some tokens support EIP-2612 permit: instead of an approval transaction you sign an off-chain message that grants the allowance. Uniswap’s Permit2 works similarly for any token. These signatures cost no gas, which is also why phishing sites use them: a signed permit can drain the token without any visible transaction. Read what you sign, and only sign permits on sites you opened yourself.
How to Check and Revoke
- Open an approval checker: Revoke.cash, or the token approval page of Etherscan, Arbiscan, Basescan or BscScan.
- Connect your wallet and choose the network.
- Revoke approvals you no longer use, especially unlimited ones for apps you do not recognize. Each revoke is a small transaction on that network.
A self-custodial wallet such as Gem Wallet shows what you are signing before you confirm; take the moment to read the spender and amount.
Related: what is WETH, crypto bridge safety, DEX aggregator.
