Token Approvals, Explained: What They Are and Why They Matter

Token approvals let dApps spend your crypto — and $410M was lost to approval scams in H1 2025. Here's how they work and how to revoke them.

Token Approvals, Explained: What They Are and Why They Matter

Every time you swap tokens, stake in a liquidity pool, or connect to a DeFi protocol, you're almost certainly signing a token approval — and most people have no idea what they've agreed to. Approval scams and compromised smart contracts drained over $410 million from crypto users in the first half of 2025 alone, according to DeepStrike. Understanding token approvals is one of the simplest ways to reduce your exposure. This article explains what they are, how they work, and how to take back control.


What Is a Token Approval?

A token approval is an on-chain permission you grant to a smart contract, authorizing it to transfer a specific token from your wallet on your behalf — up to a specified amount.

The reason this system exists comes down to how ERC-20 tokens work. Token contracts on Ethereum (and most EVM-compatible chains) follow a standard that prevents smart contracts from pulling tokens from a user's wallet without explicit permission. A decentralized exchange, lending protocol, or yield farm cannot simply take your tokens when you initiate a trade — it must first be authorized.

That authorization happens through three core functions baked into every ERC-20 token contract:

Function What it does
approve() Grants a specific address the right to spend your tokens up to a set limit
allowance() Shows how many tokens a given address is currently approved to spend
transferFrom() Executes the actual transfer, once an approval is in place

When you click "Approve" in a dApp, you're calling approve() on the token contract — setting the dApp's smart contract as the authorized spender. The contract then uses transferFrom() each time it needs to move your tokens.


Limited vs. Unlimited Approvals

Token approvals come in two forms, and the difference matters a great deal for security.

Limited approvals authorize a contract to spend only a set amount of tokens. Once that amount is used up, the user needs to approve again. This is the more secure option: if the contract is compromised, the attacker's access is capped at the approved amount.

Unlimited approvals grant indefinite access to the full balance of a given token. Most dApps request unlimited approvals by default because it reduces friction — users don't need to re-approve before every transaction. The convenience is real, but so is the risk.

If a smart contract you've given unlimited approval to is later exploited or compromised, that approval remains active. The attacker can drain your entire balance of that token without needing your private key or any further interaction from you.

Coin98's documentation recommends against granting unlimited approvals to platforms you don't fully trust, and suggests reviewing active approvals periodically — especially after using new or unfamiliar dApps.


What Can Go Wrong

The gap between "I approved this once" and "this contract still has access to my wallet" is where most token approval risk lives.

Several attack patterns exploit standing approvals:

Malicious or compromised contracts. A dApp you trusted a year ago may have been acquired, upgraded, or exploited since you approved it. The approval doesn't expire when your trust does.

Phishing dApps. Fake versions of legitimate protocols — often promoted via social media or search ads — prompt users to approve a malicious contract. The approval prompt looks identical to a legitimate one inside the wallet.

Lingering approvals. Most users accumulate approvals across multiple chains over time without reviewing them. Each dormant approval is a potential liability.

The scale of this risk was clear in January 2026, when the SwapNet exploit on the Matcha Meta platform drained approximately $13.4 million from 20 users — specifically those who had disabled the platform's default one-time approval setting and instead granted direct unlimited token allowances to SwapNet's contracts, according to The Block. Once those approvals were in place, attackers exploited an input validation flaw to call transferFrom() and siphon the authorized balances.

NFT approvals carry similar risk: the NFT Trader platform suffered a $3 million theft when attackers exploited SetApprovalForAll grants that users had issued and forgotten, according to Ledger Academy.


How to Check and Revoke Token Approvals

Reviewing and revoking approvals is straightforward with the right tools.

Coin98 Wallet Approval is built directly into the Coin98 Super Wallet for mobile users. It scans active approvals across supported blockchains and lets you revoke them in a few taps — see the full step-by-step guide in Coin98's documentation.

Note that revoking an approval is an on-chain transaction, so you'll need a small amount of the chain's native token to cover gas.

Revoke.cash is a widely used standalone tool that works across most EVM chains. Connect your wallet, browse active approvals by network, and revoke anything you no longer need.

Etherscan's Token Approval Checker lets you enter any wallet address, connect your Web3 wallet, and revoke approvals contract by contract.

A reasonable habit for active DeFi users is to audit approvals after a major protocol incident, after stopping use of a dApp, or on a regular monthly basis.


The Evolution of Approvals: Permit2 and Beyond

The approval system has been improving. Two newer standards reduce friction and risk:

ERC-2612 (Permit) allows token approvals via an off-chain signature rather than a separate on-chain transaction. This saves gas and makes approvals more granular — but adoption has been uneven across protocols.

Permit2, built by the Uniswap team, extends this concept to any ERC-20 token. As Ledger Academy describes it: Permit2 "aims to extend the benefits of ERC-2612 to all tokens" and has "automatic expiration built-in, eliminating the security risk that comes with lingering token approvals." Users approve the Permit2 contract once per token, and from that point all individual dApp authorizations happen via signed messages rather than on-chain transactions.

Neither standard eliminates approval risk entirely — a malicious Permit signature can still drain a wallet — but they represent meaningful progress toward safer defaults.


FAQ

What is a token approval in crypto?
A token approval is an on-chain permission that lets a smart contract spend tokens from your wallet up to a specified limit. You grant it by signing an approve() transaction. Without it, DeFi protocols cannot access your tokens even when you initiate a trade.

Are unlimited token approvals dangerous?
They carry more risk than limited approvals. An unlimited approval stays active indefinitely — if the approved contract is later exploited or turned malicious, it can drain your full token balance without requiring any further action from you. Coin98 suggests using specific-amount approvals where possible and revoking unlimited ones on contracts you no longer use.

How do I revoke a token approval?
You can revoke approvals using the Coin98 Wallet Approval tool (built into Coin98 Super Wallet), Revoke.cash, or Etherscan's Token Approval Checker. Revoking requires a small gas fee since it's an on-chain transaction.

Does revoking approvals protect my wallet from all hacks?
It reduces one specific attack surface — standing contract permissions — but not all of them. Private key theft, phishing for seed phrases, and other attack vectors require different defenses.

Do hardware wallets protect me from bad approvals?
Not fully. As Ledger Academy explains: "While hardware wallets are useful as they allow you to better secure your private keys, they cannot protect you from signing malicious contracts." The protection comes from reviewing what you're signing, not from the signing device alone.


Conclusion

Token approvals are a necessary part of how DeFi works — but they carry risk that most users underestimate. A permission you granted once can sit active for years, ready to be exploited if the contract you approved is ever compromised. Reviewing your approvals regularly, preferring specific-amount authorizations over unlimited ones, and using tools like Coin98 Wallet Approval to revoke what you no longer need are among the most practical security habits an active onchain user can develop.