Unlimited Approval Downgrader
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
Unlimited Approval Downgrader helps you replace dangerous infinite allowances with a specific, finite amount. Many dApps request unlimited approval (type(uint256).max) for convenience, but this exposes your entire token balance to that spender indefinitely. This tool lets you check whether a given spender has an unlimited or excessively large allowance, then set it to a precise lower amount—or revoke it entirely to zero. It reduces your risk surface while keeping the approval functional for the amount you actually need.
HOW TO USE
Connect your EVM wallet and select the network. Enter the token contract address and the spender address you want to inspect. Click "Check allowance" to see the current allowance value and a risk indicator: "UNLIMITED" for type(uint256).max, "Large" for amounts above 1e18, or "Limited" otherwise. To downgrade, enter the new amount in wei (the smallest unit) and click "Set new allowance". The tool will submit an approve() transaction to the token contract with your chosen amount. You can also click "Revoke" to set the allowance to zero directly. After the transaction confirms, the status area displays the new allowance and the gas fee paid.
TECHNICAL MECHANISM
The tool reads the current allowance using the ERC-20 allowance() view function, confirming the exact on-chain state rather than relying on past event logs. It compares the current value against ethers.constants.MaxUint256 to detect unlimited approvals. When you set a new amount, it calls approve(spender, newAmount) through your connected wallet. The transaction uses the standard ERC‑20 interface, and the tool reports the effective gas cost from the receipt using receipt.effectiveGasPrice (post‑EIP‑1559) rather than the deprecated tx.gasPrice. If the new amount is smaller than the current allowance, the approval is downgraded on‑chain; if it is larger, the tool warns you that you are increasing the allowance before proceeding.
WHAT IT CANNOT SEE
This tool cannot detect or modify allowances set through proxy contracts, delegate‑call patterns, or custom approval logic that does not use the standard approve() function. It does not monitor pending transactions or off‑chain signed approvals (permits). It only works with standard ERC‑20 tokens that implement the allowance() and approve() interface—NFTs and non‑standard tokens are not supported. The tool also cannot see allowances granted to multiple spenders across different tokens in a single view; you must check each pair individually.
PLEASE NOTE
Downgrading an approval does not revoke it entirely unless you set the amount to zero. Always verify the new allowance on‑chain after the transaction confirms. This tool is for EVM chains only and does not support non‑EVM networks. Use it as part of your regular security routine to limit exposure to trusted contracts.