Token Approvals Explained: What You Sign Before a Swap

Token Approvals Explained: What You Sign Before a Swap

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 walletWhat it means
SpenderThe contract that gets permission
AmountAllowance; “unlimited” means the maximum value
Network feeGas for the approval transaction

Exact vs Unlimited

Exact amountUnlimited
Gasapprove every timeapprove once
Risk if the contract is hackedonly the allowancethe whole token balance
Best forlarge balances, new appssmall, 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

  1. Open an approval checker: Revoke.cash, or the token approval page of Etherscan, Arbiscan, Basescan or BscScan.
  2. Connect your wallet and choose the network.
  3. 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.

Swap on Step Exchange

Swap or bridge in one step

Best routes across DEXs and bridges on 60+ chains. Non-custodial: you sign every transaction in your own wallet.

0.7% service fee plus network gas, shown before you confirm.

FAQ

What is a token approval?

Permission you give a smart contract to move a set amount of one ERC-20 token from your wallet. Swaps and bridges need it before they can take your USDC, USDT or other tokens.

Why do I approve before every new token?

Approvals are per token and per contract. The first swap of a token through a given app needs an approval; later swaps reuse it until the allowance runs out or you revoke it.

Are unlimited approvals dangerous?

They are convenient but risky: if the approved contract is exploited or malicious, it can move all of that token from your wallet. Approving only the amount you swap limits the damage.

How do I revoke a token approval?

Use a tool such as Revoke.cash or the token approval checker on Etherscan and similar explorers, connect your wallet and send a revoke transaction. It costs a small gas fee.