Approval Amount Limiter
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
The Approval Amount Limiter monitors any dApp page for token approval requests, detects the token contract and spender address, and automatically caps the approval amount to a user-defined maximum—either a fixed number of tokens (e.g., 100 tokens) or a percentage of your current token balance (e.g., 10%). Instead of granting an unlimited or excessively high allowance, the tool intercepts the approval flow and submits a capped approval transaction on your behalf. This dramatically reduces your exposure to smart contract risk and phishing attacks: even if a spender is compromised, they can only spend up to the capped amount rather than your entire token balance. You can also whitelist trusted spenders to bypass the limiter entirely.
WHERE IT RUNS
It runs as a draggable overlay panel inside the BotGentz extension on any website that requests token approvals—Uniswap, SushiSwap, 1inch, Curve, Aave, Compound, OpenSea, Rarible, and thousands of other DeFi and NFT dApps. It works by scanning the page's DOM for approval-related elements and applying your limits in real time.
HOW TO USE
1. Install the free BotGentz extension and ensure you have an EVM‑compatible wallet extension installed.
2. Navigate to any dApp where you might approve a token.
3. Click the BotGentz icon and select "Approval Amount Limiter" from the tools menu.
4. Click "Start Watching" to begin monitoring the page.
5. Configure your limit settings: choose Fixed Amount or Percentage of Balance, set your desired value, and optionally whitelist trusted spenders.
6. When an approval is detected, the tool automatically applies your limit (if auto-apply is enabled) or prompts you to confirm.
7. Approve the transaction in your wallet—the allowance will be set to your limited amount.
8. Drag the panel to reposition it, resize it, collapse it, or press Escape to close.
THE ACTUAL MECHANISM — DOM‑driven detection with balance‑aware capped transaction submission
This tool combines real-time DOM monitoring with on-chain balance checks to deliver context-aware limits. First, a MutationObserver watches the page for approval-triggering elements—buttons with text like "Approve", "Enable", "Unlock", or "Allow"—and extracts token and spender addresses from the surrounding DOM. Second, when a request is detected, the tool loads the token's decimals and fetches the user's current token balance via `eth_call` on the token contract's `balanceOf` function. Third, it calculates the appropriate limit based on your configured mode (fixed amount or percentage of balance). Fourth, it checks the current on-chain allowance via `allowance()` to avoid duplicate transactions if a sufficient allowance already exists. Finally, it loads ethers.js (at runtime), builds an `approve(address spender, uint256 amount)` transaction with the capped amount, and submits it via `window.ethereum.request({ method: "eth_sendTransaction" })`. If auto-apply is disabled, it prompts you to confirm before submission. All limit settings and whitelist entries are stored locally per user, not per site, ensuring consistent protection across all dApps.
THE PANEL
The panel is fully draggable by its title bar and snaps to the nearest edge of the viewport when released. You can resize it horizontally by dragging the left or right border; the height expands to fit content up to a maximum, with scrolling inside the prompts list. A collapse button minimizes the panel to a small floating chip showing "⚙️ Approval Limiter" — click it to expand back. Press Escape at any time to close the panel entirely. The panel remembers its last position, size, and expansion state per domain via localStorage.
PLEASE NOTE
- This tool requires the free BotGentz extension and a real EVM wallet extension (e.g., MetaMask) already installed in your browser.
- This tool works only on EVM‑compatible chains.
- The tool cannot intercept or modify transactions that are submitted directly through a wallet interface without page interaction. It cannot limit approvals for tokens that use non-standard approve functions (e.g., USDT's approve with different semantics). It cannot enforce limits if the user manually edits the transaction parameters in their wallet. It cannot detect approvals initiated via contract calls that do not use the standard approve function signature.
- No private keys, seed phrases, or sensitive data are ever read, stored, or transmitted. All transactions are signed and sent directly from your wallet. Limit settings are stored locally in your browser's extension storage. Only anonymized usage metrics (panel open/close, limit applications) are collected; you can disable this in the extension settings at any time.