Pre-auditThree days of senior audit time for $1,500, credited in full toward your Zealynx audit.3 audit days, credited toward your auditSee how →

Delegation Designator

The 23-byte code, 0xef0100 followed by a contract address, that an EIP-7702 authorization writes to an externally owned account so the EVM runs that contract's code at the account's address.

A delegation designator is what an EIP-7702 authorization leaves behind on chain. When a set-code transaction processes a valid authorization, the EVM sets the signing EOA's code to the 3-byte prefix 0xef0100 followed by the 20-byte address of the delegate contract. From then on, any call to the account follows that pointer and executes the delegate's code, with the account's own balance and the account's own storage.

The authorization that produces it is a signed tuple over a chain id, the delegate address and the account's nonce. A chain id of 0 makes the authorization valid on every EVM chain, which is why wallets should refuse to sign one unless the delegate behaves identically everywhere. Signing a new authorization replaces the designator with a new delegate address, and delegating to the zero address clears it. Storage is not touched by either, so whatever the previous delegate wrote is still there for the next one to read, a storage collision risk that namespaced layouts such as ERC-7201 avoid.

For auditors, the designator is the clearest signal that a caller is a delegated EOA rather than a plain wallet or a regular contract. It also explains why checks such as tx.origin == msg.sender stopped meaning "a human, calling directly": the account still originates the transaction, but it can now run arbitrary code. See tx.origin.

Need expert guidance on Delegation Designator?

Our team at Zealynx has deep expertise in blockchain security and DeFi protocols. Whether you need an audit or consultation, we're here to help.

Get a Quote