# EIP-7702 Delegation Checker: Is Your Wallet Delegated?

> Check any address for EIP-7702 delegations on every chain that supports them: the delegate contract, the authorization behind it and known sweeper code.

Markdown copy of https://voltfincrypto.com/apps/eip-7702-delegation-checker

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

- Kind: Dashboard in Voltfin Vantage
- Topic: [Security and risk](https://voltfincrypto.com/topics/security)
- Chains: Ethereum, Base, OP Mainnet, Arbitrum, BNB Chain, Unichain, Ink, Gnosis
- Status: Planned. The data is not published yet, so this page states no figure; each figure will open its receipt when it is.

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.

## Blueprint

### 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.
- **Delegated to sweeper code** (count): Covered chains where the address's delegate matches known sweeper code by address or bytecode hash.
- **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.
- **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.
- **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.
- **Authorization history**: Every authorization recovered to the address, newest first: set, changed or cleared, with its nonce, chain id and transaction.

### 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.
- **Sweeper code families** (count): Distinct runtime bytecode families the registry classifies as sweepers, counted across covered chains.
- **Swept by day and chain** (USD): Value swept per day on each covered chain, so a new campaign shows when it starts and where.
- **Largest sweeper receivers**: The addresses that collect the most swept funds, with their code family, chains, accounts swept and value received.

Filters: Wallet address (Any EVM address); Chain (Every covered chain that supports EIP-7702).

## How it will be measured

- 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.
- 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.
- 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.
- 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.

## Data it needs

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

## Questions

### 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.

## Glossary

- **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.

## Related apps

- [EIP-7702 Adoption: Delegated EOAs and Top Contracts](https://voltfincrypto.com/apps/eip-7702-adoption)
- [Wallet Drainer Tracker: Phishing Losses by Month](https://voltfincrypto.com/apps/wallet-drainer-tracker)
- [Token Approval Checker: Open Allowances by Wallet](https://voltfincrypto.com/apps/token-approval-checker)
- [Crypto Address Checker: Flagged, Sanctioned or Hacked](https://voltfincrypto.com/apps/crypto-address-checker)
- [Address Label Lookup: Who Controls This Wallet?](https://voltfincrypto.com/apps/address-label-lookup)
- [North Korea Crypto Hacks: Lazarus Group Theft Tracker](https://voltfincrypto.com/apps/north-korea-crypto-hacks-tracker)

Build it in Voltfin Studio: https://app.voltfincrypto.com/signup?next=%2F
