Dashboard · VantagePlanned

EIP-7702 Delegation Checker: Is Your Wallet Delegated?

Is this wallet delegated under EIP-7702 on any chain, and does its delegate contract sweep incoming funds?

Check one address on every EIP-7702 chain: delegated or not, to which contract, who set it and whether the code sweeps funds.

ShareEmail itvoltfincrypto.com/apps/eip-7702-delegation-checker
Blueprint

What the dashboard will show.

The dashboard as it will open in Vantage. Each figure is named here and arrives with its receipt; until its data is published, its place stays empty.

  • Wallet address
  • Chain

Check a wallet

One address on every covered chain: delegated or not, to what and since when.

Chains where it is delegated

count

Covered chains where the address's code is a delegation designator at the latest block.

Figureaccount_abstraction_dailyAwaiting data

Delegated to sweeper code

count

Covered chains where the address's delegate matches known sweeper code by address or bytecode hash.

Figureaddress_labelsAwaiting data

Authorizations valid on every chain

count

Authorizations recovered to this address that were signed with chain id zero, so they can be submitted on any chain.

Figureaccount_abstraction_dailyAwaiting data

Value in delegated accounts

USD

ETH and major token balances the address holds on the chains where it is delegated, valued at oracle prices at the latest block.

Figurenative_prices_dailyAwaiting data

Delegation on each chain

Each covered chain with the delegate address, its label and class, the block and transaction that set it, the chain id signed and who paid the gas.

Tableaccount_abstraction_dailyAwaiting data

Authorization history

Every authorization recovered to the address, newest first: set, changed or cleared, with its nonce, chain id and transaction.

Tableaccount_abstraction_dailyAwaiting data

Sweepers

Known sweeper code across chains: funds swept, code families and where the funds land.

Value swept, 30 days

USD

Funds forwarded out of accounts delegated to sweeper code in the last 30 days, valued at oracle prices at each sweep block.

Figurenative_prices_dailyAwaiting data

Sweeper code families

count

Distinct runtime bytecode families the registry classifies as sweepers, counted across covered chains.

Figureaddress_labelsAwaiting data

Swept by day and chain

USD

Value swept per day on each covered chain, so a new campaign shows when it starts and where.

Stacked barsnative_prices_dailyAwaiting data

Largest sweeper receivers

The addresses that collect the most swept funds, with their code family, chains, accounts swept and value received.

Tableaddress_labelsAwaiting data

Wallet address
Any EVM address
Chain
Every covered chain that supports EIP-7702
About

What it answers, and for whom.

An EIP-7702 delegation makes an ordinary wallet run a contract's code at its own address. This checker reads an address's code on every covered chain that supports EIP-7702 and answers directly: delegated or not, to which contract, set by which authorization and when. It also says whether the delegate is a known wallet implementation or code that sweeps funds out.

Delegation is how wallets add batching, gas sponsorship and passkeys, and it is also how attackers automate theft. A leaked key can be delegated to a sweeper that forwards every incoming payment to the attacker, so ETH sent to pay gas for rescuing the remaining tokens is gone in the same block. An authorization signed with chain id zero is valid on every chain at once, which is why the check reads each chain separately.

Every answer is read at the latest block, with the authorization transaction as its receipt. A clean result means no delegation is set right now; it says nothing about token approvals or other signatures, which the related checkers cover.

Method

How it will be measured.

Every figure will be read at a block, kept with its source and its exact read, and open a receipt anyone can re-check.

How receipts work →
  1. The checker calls eth_getCode for the address on each covered chain at the latest block: code that is the 0xef0100 designator followed by an address means the account is delegated, and that address is the delegate.
  2. The authorization that set it is found among type 4 transactions whose authorization_list entries recover to the address, with its chain id, nonce, the transaction that carried it and the account that paid its gas.
  3. Delegate contracts are matched against a reviewed registry by address and by runtime bytecode hash, so a fresh copy of known sweeper code is recognised at a new address.
  4. Sweeps are counted when a delegated account sends funds onward in the same block they arrived, to a receiver fixed in the delegate's code, valued at oracle prices at that block.

The data it needs

Read from chain state and history

  • account_abstraction_dailyTo buildSmart accounts and EIP-7702ERC-4337 UserOperations, bundlers and paymasters, and EIP-7702 delegations per chain per day.
  • address_labelsTo buildAddress labelsLabels for known addresses: exchanges, bridges, protocols, funds, treasuries, sanctioned addresses and known attackers.
  • native_prices_dailyTo buildOracle prices by dayReference prices of major assets read from on-chain oracle feeds (Chainlink latestRoundData) at each day's last block, with each round's update time.
  • eth_getCode of the address on each covered chain at the latest block, checked for the 0xef0100 designator
  • Type 4 transactions whose authorization_list entries recover to the address: chain_id, delegate address, nonce and signature
  • Runtime bytecode hashes of delegate contracts, matched against a reviewed registry of wallet implementations and sweeper code
  • Native transfers and token Transfer logs out of delegated accounts in the block the funds arrived
Questions

Questions people ask.

How do I check if my wallet has an EIP-7702 delegation?

Enter the address. The checker reads its code on every covered chain: empty code means no delegation, and code that starts with the 0xef0100 designator means the account runs the delegate contract named after it. Each result links to the authorization that set it.

How do I revoke an EIP-7702 delegation?

Sign a new authorization that delegates to the zero address and include it in a type 4 transaction; once it lands, the account's code is cleared on that chain. Wallets that support EIP-7702 offer this as switching back to a standard account. If someone else set the delegation with your key, the key itself is compromised and clearing it does not make the wallet safe again.

What is an EIP-7702 sweeper?

A delegate contract whose code forwards any ETH or tokens that reach the account to an address the attacker controls. Attackers holding a leaked key delegate the wallet to it so that gas money sent to rescue other assets is swept at once. Most sweepers are copies of a few code families, which is why bytecode matching finds them.

Why does an authorization with chain id zero matter?

EIP-7702 lets a signer use chain id zero to make an authorization valid on every chain. Anyone holding that signature can submit it wherever the delegate address exists, so one phished signature can delegate the same wallet on several chains. The checker shows the chain id each authorization was signed for.

Does a delegation move my funds?

No. Funds stay at the same address, and the private key still controls the account. What changes is the code that runs when the account is called, so a malicious delegate can move funds whenever it is triggered, without a new signature.

Delegation designator
The code EIP-7702 writes to a delegated account: the prefix 0xef0100 followed by the address of the contract whose code the account runs.
Authorization list
The field of a type 4 transaction that carries signed authorizations, each naming a chain id, a delegate address and the signer's nonce.
Sweeper
A contract that forwards funds reaching a delegated account to a fixed receiver, used to empty wallets whose keys have leaked.

Build EIP-7702 Delegation Checker: Is Your Wallet Delegated? on verified data.

Start free in Voltfin Studio: boards, tables and reports where every number opens its receipt. Tell us which data you need first and we will build it next.