This app runs inside the BotSurf browser. Don't have it yet? Get the app or extension now!

Dormant Approval Cleaner

Security · All
0 installs · Verified BotGentz app
Launch App
Opens in BotSurf — nothing to install.
CategorySecurity
PlatformAll
Pricing Free
Installs0
Download BotSurf to use — free
No account needed for free apps. Once BotSurf is open, find this app in Apps from the + menu.

About this app

WHAT IT DOES

Dormant Approval Cleaner helps you identify and revoke token approvals that have gone unused for a long time. Many users grant approvals to dApps and exchanges, then never use them again—but the approval remains active indefinitely, exposing your wallet to potential risk. This tool scans your active allowances and operator approvals, checks the last on-chain transaction involving each spender, and flags those that have been dormant for a user-defined period (e.g., 90 days). You can then revoke individual approvals or clean all dormant ones in a single batch.

HOW TO USE

Connect your EVM wallet and select the network. Enter the token contract addresses you want to scan—one per line—and set the dormancy threshold in days (default is 90). Click "Scan for dormant approvals". The tool fetches all active approvals for those tokens, then looks up the most recent on-chain transaction (transfer or approval change) involving each spender. The results table shows each approval with its last used date and a "Dormant" or "Active" badge. Use "Revoke dormant only" to clear all approvals that haven't been used in the threshold period, or "Revoke all" to reset everything regardless of activity.

TECHNICAL MECHANISM

The tool combines log scanning with on-chain state verification and historical transaction analysis. It first collects active approvals by querying Approval and ApprovalForAll events, walking backwards in adaptive chunks that automatically halve when hitting RPC block range limits—ensuring scans complete even on restrictive providers. It then verifies each spender's current allowance using allowance() or isApprovedForAll(). To determine dormancy, it searches for Transfer and Approval events involving the spender and the owner's address, finds the most recent block, and retrieves its timestamp. If the time since that transaction exceeds the user-defined threshold, the approval is marked dormant. Revocations are performed sequentially using approve(spender, 0) or setApprovalForAll(spender, false), with progress feedback.

WHAT IT CANNOT SEE

This tool cannot detect usage of approvals that occurred off-chain (e.g., signed messages that were never submitted) or through private mempool transactions that are not indexed. It relies entirely on on-chain transaction history to determine dormancy—if a spender used the approval in a way that did not emit a standard Transfer or Approval event, that usage will not be recorded. The tool does not monitor pending transactions or future usage, and it cannot detect approvals granted through proxy contracts, delegate-call patterns, or non-standard token implementations. It also does not scan across multiple chains simultaneously.

PLEASE NOTE

Dormancy is determined by on-chain activity involving the specific spender and the owner's address. If a spender has been active with other wallets but not with yours, the approval will still be marked dormant. Always verify the results before revoking, and ensure you have sufficient native tokens to pay for the revocation transactions. This tool is for EVM chains only and does not support non-EVM networks.

Similar Apps

Log in to BotGentz

Suggest an App

Tell us what you'd find useful — if we build it, we'll email you the moment it's ready.