Token Approvals and Allowances
Learn how token approvals and allowances work, why unlimited approvals increase exposure, and what to verify before authorising a dApp.
Reading progress — saved on this device
Many blockchain applications need permission to move tokens on your behalf. That permission can be narrow or very broad. Understanding the approval layer is essential because a wallet balance can remain exposed long after the original transaction.
- 1. Approval is different from a transfer
- 2. Limited versus unlimited approvals
- 3. What to inspect before approving
- 4. Token approvals are not all the same
- 5. How approval risk becomes a loss
- 6. Worked example
1. Approval is different from a transfer
On many smart-contract networks, a token holder first authorises a spender contract. The approval sets an allowance: the amount the spender may transfer from the wallet under the token contract’s rules.
Holds token balance
Grants spender permission
Can call token transfer logic up to the allowance
2. Limited versus unlimited approvals
| Approval style | Benefit | Risk |
|---|---|---|
| Exact / limited allowance | Restricts the amount the spender can use. | May require repeated approvals for future use. |
| Large or unlimited allowance | Convenient and can reduce repeated approval transactions. | Leaves a larger balance exposed if the spender, integration or signing flow is compromised. |
| Time- or signature-based permit pattern | Can reduce separate approval transactions. | Users can still sign broad permissions without understanding the scope. |
Unlimited approvals are common because they improve user experience. Their existence does not automatically mean a protocol is malicious, but they increase the potential impact of a compromised spender.
3. What to inspect before approving
Spender
Which contract is receiving permission? Is it the intended protocol contract rather than an unfamiliar address?
Asset
Which token contract is being approved? Similar symbols can represent different tokens.
Amount
Is the allowance exact, large or effectively unlimited?
Context
Does the requested approval make sense for the action being performed?
4. Token approvals are not all the same
Fungible tokens often use amount-based allowances. NFTs can use token-specific approvals or broader “operator” permissions that allow a contract to manage an entire collection for the wallet.
Wallet interfaces may compress these details into friendly language. The underlying permission matters more than the button label. A transaction that says “Approve” can have a materially different scope depending on the token standard and contract call.
5. How approval risk becomes a loss
- User approves a spender contract.
- The approval remains active after the immediate interaction.
- The spender or associated system is later exploited, compromised or malicious.
- The attacker uses the existing allowance to transfer approved assets.
This is why wallet risk is not fully visible from current balances or recent transfers. Persistent permissions form part of the wallet’s attack surface.
6. Worked example
A trader connects a wallet to a DEX to swap 500 units of Token A. The interface requests an unlimited allowance rather than 500 units. If approved, the swap may use only 500 units today, but the contract retains permission against future Token A balances until the approval changes.
A limited approval would constrain the permission to the intended amount, while an unlimited approval prioritises convenience. The trade-off is operational: fewer approval transactions versus a larger persistent exposure.
Knowledge checkpoint
- What is the main failure mode this lesson is trying to prevent?
- Which detail should be verified independently rather than inferred from a familiar-looking interface?
- What small, reversible-looking action can still create a large future risk?
- What would make you stop and verify before signing or sending?
FAQs
❓ Why does a swap sometimes require two transactions?
The first transaction may approve the token spender; the second performs the swap. Some permit-based systems combine or alter this flow.
❓ Is an unlimited approval always unsafe?
It is not automatically malicious, but it creates broader persistent permission than a limited allowance and therefore greater potential exposure.
❓ Can an approval cost gas even if no tokens move?
Yes. Changing on-chain allowance state is itself a blockchain transaction.
❓ Does disconnecting my wallet from a website remove token approvals?
Usually no. Website connection state and on-chain token allowances are different things. On-chain permissions remain until changed or otherwise invalidated.
📋 Summary
- An approval authorises a spender; it is not the same thing as an immediate token transfer.
- Unlimited approvals increase convenience but widen the potential loss if the spender path is compromised.
- Check the spender, token contract, amount and context before approving.
- Persistent permissions are part of wallet risk and should be reviewed separately from balances.
The objective is not to eliminate every risk. It is to reduce preventable losses by making transaction verification deliberate, repeatable and proportionate to the value at risk.
Want this in a personalised order?
Take the crypto assessment and get a custom path of 10 modules matched to what you already know. Free, no card required.
Build my path →