Skip to content
Free tool · Ethereum account security

EIP-7702 Delegation Risk Explainer

EIP-7702 lets an Ethereum account hand its execution to a contract by signing one authorization, and signing another that points at the zero address takes it back. The risk is who can make your key sign one. Binance said an attacker used its signing service to give a malicious contract partial execution rights over a hot wallet, and that clearing it was slow because the wallet used MPC. Step through how delegation works, Binance’s account of the sequence, and then plan your own revocation and monitoring.

Free, in your browser, no blockchain calls. Test your signing controls with the Signing Service Controls Checklist; the story is in our Binance hack coverage.

No download, no card

Educational. This page makes no calls to any blockchain or third-party service from your browser, asks for no keys or wallet connection, and contains no exploit code.

Step 1 of 6: The account owner signs an authorization

An authorization is a tuple [chain_id, address, nonce, y_parity, r, s]. The signature covers keccak(0x05 || rlp([chain_id, address, nonce])). "address" is the contract whose code the account wants to run. Only the account’s own key can produce a valid one.

From the EIP: MAGIC = 0x05; authority = ecrecover(msg, y_parity, r, s).

Source EIP-7702

Try the rules on a pretend account

This applies the EIP’s checks to one made-up account in your browser. It makes no network calls and uses no real keys or addresses.

Must equal the account’s current nonce.
Account nonce
7
Account code
empty (code hash 0xc5d24601...)
    TL;DR

    What this explainer covers

    4 points
    • EIP-7702 lets an Ethereum externally owned account (EOA) set code on itself by signing an authorization. After that, calls to the account run a delegate contract’s code, which the EIP says has unrestricted access to the account.
    • It went live on Ethereum mainnet with the Pectra upgrade on 7 May 2025 (ethereum.org). A delegation persists until another authorization replaces it; authorizing the zero address clears it.
    • Binance said an attacker used its signing service to exploit EIP-7702 and that, with an MPC hot wallet, there was no single key to revoke the delegations, so a specialised procedure took time. This explainer walks through that account, labelled as Binance’s.
    • Four parts: how it works with a rules simulator, Binance’s sequence, a revocation planning worksheet by custody model, and a monitoring checklist. Free, in your browser, no chain calls. Markdown and PDF export of your plan.

    Why delegation changes the revocation problem

    Before EIP-7702 an externally owned account was just a key: if you stopped the key from signing, nothing more could happen. With a delegation, authority lives in the account’s code on-chain, and it stays there after the key goes quiet. Stopping the application that sends withdrawals does not remove it. Only another authorization from the account does, and that needs the key (or the quorum behind it) to sign.

    That is the lesson Binance drew from its incident, and it is why this page pairs the protocol facts with a worksheet: who can sign the revoking authorization, how long it takes, and whether anyone has tried. The attack chain before that point started with people, a fake recruiter and a developer workstation; see the Fake Recruiter Checklist and the Fake Recruiter Interview Lab, and our profiles of TraderTraitor and Lazarus Group.

    Frequently asked questions

    What is EIP-7702?

    EIP-7702 ("Set Code for EOAs") adds a new transaction type, 0x04, that lets an externally owned account attach signed authorizations so that a delegation indicator is written into its code. Its status on the EIP site is Final. ethereum.org says the Pectra upgrade that included it went live on 7 May 2025, at epoch 364032 (10:05 UTC).

    How does an account delegate, and what is the delegation designator?

    The account owner signs an authorization tuple [chain_id, address, nonce, y_parity, r, s], and anyone can include it in a set-code transaction. If the checks pass, the account’s code becomes 0xef0100 followed by the 20-byte delegate address. That 23-byte value is the delegation indicator (sometimes called the designator), and calls to the account then run the delegate’s code.

    How do you revoke an EIP-7702 delegation?

    By signing and submitting a new authorization whose address is the zero address. The EIP says that clears the account’s code and writes no delegation indicator. The authorization still needs a valid signature from the account and a nonce equal to the account’s current nonce, and any account can send it. The Ethereum Foundation notes the owner can always create another authorization that revokes or replaces the delegation.

    What can a delegate contract do?

    Whatever its code allows, with the account’s funds and permissions. The EIP says the code an authorization points to has unrestricted access to the account and must be closely audited, and that a poorly implemented delegate can let a malicious actor take near-complete control of the account. Good delegates are meant to add batching, gas sponsorship and spending limits.

    What did Binance say about EIP-7702 in its incident?

    In its 4 November 2026 post Binance said the attacker used its internal wallet signing service to exploit EIP-7702 and give an attacker-controlled smart contract partial execution rights over a hot wallet. It said suspending withdrawals alone could not stop this, because the malicious authorizations existed on-chain independent of withdrawal infrastructure, that the attackers submitted 50 signing transactions to manipulate the account nonce and establish delegations, and that it cleared the delegation at 00:10 UTC on 30 October with a new authorization to the zero address. This is Binance’s account; it is not independently verified and its investigation is ongoing.

    Why does MPC make revocation harder?

    Binance said that because its hot wallet used MPC there was no single private key to revoke the delegations with, so a specialised procedure was needed and it took time. In general, revoking is one more signature, so the question is whether your custody setup can produce it quickly and whether your signing policy allows that message type. The worksheet in this tool turns that into questions to answer and a drill to run.

    Does EIP-7702 make Ethereum accounts unsafe?

    It is opt-in and needs the account’s own signature, and the Ethereum Foundation lists safety checks: delegations are chain-specific by default, can be bound to the account nonce, and can always be revoked or replaced by the owner. The risk the EIP names is signing an authorization for code you have not vetted. For organisations the extra exposure is anything that can make a signing key sign, which is why the signing policy must cover authorization types.

    Does this page connect to a blockchain or my wallet?

    No. It makes no blockchain calls and no requests to third parties from your browser, never asks for keys or a wallet connection, and the simulator uses a made-up account. Your worksheet is kept in this browser’s local storage only.

    Sources

    All pages below were opened on 3 November 2026 unless a note says otherwise.

    The tools people use most on PlayCISO.

    All tools
    🖤 Black Friday: new customers get 3 months of Pro for $5, then $5/month. Ends 30 Nov. Claim 3 months for $5 →