Blockchain & Web3 explorers

Wallet Permission Explorer

Who can move your tokens? Allowances, Permit2, NFT operators and EIP-7702 delegation, with risk.

One token address per line (added to USDC/USDT/WETH/DAI on this chain).

One address per line, e.g. a contract you once approved.

One collection address per line; checked with isApprovedForAll against marketplace operators and your extra spenders.

Array of {address, topics, data, blockNumber?, logIndex?} as returned by eth_getLogs.

Array of {token, spender, allowance} overriding the log values (e.g. after partial spending).

Try an example: Approval history of a wallet (offline)

How it works

Checks a wallet's live token permissions straight from the chain: ERC-20 allowances for the major tokens against a verified list of well-known spenders (Uniswap Permit2 and routers, 1inch, 0x, CoW, Aave, OpenSea), Permit2 sub-allowances with expiry, NFT operator approvals for collections you list, and EIP-7702 account delegation. Flags unlimited approvals, approvals to plain wallets and to unverified contracts, and shows how much of your balance is exposed.

  • ERC-20: allowance(owner, spender) via eth_call for USDC/USDT/WETH/DAI (official addresses per chain) plus your extra tokens, against a list of spenders whose addresses were checked against official deployment lists and Sourcify-verified contract names (Permit2, Uniswap Universal Router / V2 / V3 routers, 1inch v5/v6, 0x Exchange Proxy / AllowanceHolder, CoW VaultRelayer, Aave V3 Pool, Seaport, OpenSea Conduit) plus your extra spenders.
  • Permit2: for tokens approved to Permit2, Permit2.allowance(owner, token, spender) returns (amount, expiration, nonce); only unexpired, non-zero sub-allowances are reported.
  • NFTs: isApprovedForAll(owner, operator) for each collection you list against Seaport, the OpenSea Conduit and your extra spenders.
  • EIP-7702: an account whose code is 0xef0100‖address is delegated to that address's code.
  • Risk: unlimited = allowance ≥ 2^255 (ERC-20) or ≥ 2^159 (Permit2 uint160); spenders without code (EOAs) or without verified source are high risk; NFT operator approvals always carry at least medium risk.
  • Exposure = min(allowance, current balance) × current DefiLlama USD price. Offline mode replays Approval/ApprovalForAll logs (latest value per token+spender wins, current values override).

For scripts and AI agents

  • JSON API: POST https://walletpermissionexplorer.usefulweb.site/api/v1/calculate (same calculation as this page)
  • Interface description: OpenAPI 3.1 · AI guide: llms.txt
  • MCP server (Streamable HTTP): https://walletpermissionexplorer.usefulweb.site/mcp · tool name wallet_permission_explorer
Example request
curl -s -X POST https://walletpermissionexplorer.usefulweb.site/api/v1/calculate \
  -H 'content-type: application/json' \
  -d '{…see OpenAPI examples…}'

Related tools

Feedback