A Swap Needs a Limit, Not a Blank Cheque
A token approval lets a swap contract move your tokens later, too. Set the allowance to the trade’s maximum input, then review and clear permissions you no longer need.
By Web3 Report Editorial5 min read
Approve only the input tokens a swap may need, up to the maximum amount you intend to spend. That replaces the common blanket approval, which can leave a contract with permission to move far more than the current trade requires. The narrower limit costs a little convenience: you may need another approval transaction when you trade again.
A token approval is a separate permission recorded on the token’s blockchain. It names a token and a spender, usually a swap contract or router, and sets the maximum amount that spender can take from your wallet. The permission can remain after the swap and after you disconnect from the app. For a closer look at how SpookySwap routes trades across pools and chains, see the fuller routing guide; the key approval question is still which contract can spend the input token.
What does a token approval let a swap do?
It lets the named spender transfer the approved token from your wallet, within the allowance. It does not give the spender permission to take every token in your wallet: allowances apply to a particular token contract, spender address and network. But a large allowance can expose a large balance of that token if the spender is compromised or malicious.
For a typical swap, you provide one token and receive another. The app may route the trade through multiple pools or intermediate tokens, but that routing does not mean you need to approve those intermediate tokens. Your allowance concerns the token taken from your wallet. Native assets such as ETH generally do not use ERC-20 approvals; wrapped or other tokens do.
Keep the two transaction steps distinct. The approval sets or increases the allowance; the swap then uses some or all of it. A wallet connection is not an approval, and disconnecting the app does not erase an allowance already recorded on-chain. The approval prompt should identify the token, spender and amount. If those details do not fit the trade you are making, stop and check the app and network before signing.
How much should I approve for a swap?
For an exact-input trade, set the allowance to the amount of input tokens you plan to swap. For an exact-output trade, use the maximum input the swap permits, since the amount needed can vary with the quoted price and execution conditions. The allowance is a ceiling on what the spender may take, not a promise that it will take exactly that amount.
Wallets and apps may suggest a very large or unlimited amount so the same contract can handle future trades without asking again. That saves a transaction, and its network fee, on later swaps. The trade-off is that unused permission remains available to the spender. A limited allowance reduces that exposure but can require another on-chain approval when it runs out or when you trade a larger amount.
Before confirming, check these details in the wallet:
- Token: It is the asset you intend to spend, on the network where you are trading.
- Spender: The address matches the contract or router the app says it uses; the app name alone is not enough.
- Amount: It covers the planned input or maximum input, rather than an unexplained, oversized allowance.
- Transaction: The wallet is showing an approval for that token, rather than an unexpected request to transfer assets or grant another permission.
Token interfaces and wallet prompts vary. Some tokens require an existing allowance to be set to zero before it can be changed to a new amount. If the app asks for an approval followed by a swap, review each transaction separately. Do not assume the second one is covered just because the first was approved.
Should you revoke an old swap approval?
Revoke an allowance when you no longer want that spender to have access, or reduce it if the remaining amount is larger than you are comfortable leaving in place. Revoking generally means sending an on-chain transaction that sets the allowance to zero, so it costs a network fee. It does not undo transfers that already happened or recover tokens taken through a previous approval.
Review allowances by network and token, using a wallet feature or an established approval checker you can verify independently. Confirm the account and chain before signing a revocation: the permission is tied to that chain, and revoking it elsewhere will not change it. If you use the app again later, it may request a fresh approval.
What should you watch after setting a limit?
Check the allowance after the swap rather than assuming it was consumed. Some tokens or swap paths may leave part of it unused, and an exact amount approval can remain available until spent or revoked. The practical routine is to approve the trade’s maximum input, confirm the swap, then review what permission remains if you do not expect to use that contract again soon.
The choice is a balance between fewer transactions and tighter control. For occasional swaps, approving the amount you intend to spend is usually the clearer default: it limits the permission while avoiding needless complexity. For frequent use, a larger allowance trades some control for fewer approval prompts and fees. Revisit that choice when the app changes its spender, you switch networks, or you stop using the swap service; those are the moments when an old permission can matter again.