Ethereum Set-Code Transaction
Abbreviation: EIP-7702
Pronunciation: ih-THEER-ee-um SET-kohd tran-ZAK-shuhn
Also known as: EIP-7702 Set-Code Transaction, Type 4 Ethereum Transaction, EIP-7702
Definition
An Ethereum set-code transaction is the EIP-7702 transaction type that lets an externally owned account authorize persistent delegation to smart-contract code. The transaction carries signed authorization tuples, and each valid tuple writes a delegation indicator into the authorizing account. The account can then execute the referenced code in its own context, enabling batching, gas sponsorship, and restricted subkeys.
Overview
Meaning and scope
An Ethereum set-code transaction is the EIP-7702 transaction type that lets an externally owned account authorize persistent delegation to smart-contract code. The transaction carries signed authorization tuples, and each valid tuple writes a delegation indicator into the authorizing account. The account can then execute the referenced code in its own context, enabling batching, gas sponsorship, and restricted subkeys.
Mechanism and operation
An Ethereum set-code transaction is the typed transaction introduced by EIP-7702. It allows an externally owned account to authorize code delegation without converting the account into a separately deployed contract wallet. Each tuple identifies a chain, delegation target address, nonce, and signature from the account granting authority. When a tuple is valid, the protocol writes a delegation indicator into the authorizing account’s code field. Calls and transactions directed to that account resolve the indicator and execute the referenced contract code in the account’s context. The delegation persists beyond the transaction that created it until a later valid authorization changes or clears it.
Practical payment example
A wallet encounters an Ethereum transaction using a set-code authorization mechanism. Its security review checks which account authority is delegated and avoids treating the signature as an ordinary value-transfer approval.
Operational checks
This enables features associated with account abstraction, including batching, sponsored execution, and limited-permission keys. The transaction sender pays for processing the tuples, but the authorizing accounts can be different from the sender. A tuple can be invalid without making every other tuple invalid, so applications must examine the resulting account state rather than assuming all requested delegations were installed.
Distinctions and limits
The outer transaction is a distinct EIP-2718 typed transaction and includes ordinary fee, destination, value, data, access-list, and signature fields plus the authorization list.
Related reading
Related definitions: transaction, account abstraction.
Example
A wallet encounters an Ethereum transaction using a set-code authorization mechanism. Its security review checks which account authority is delegated and avoids treating the signature as an ordinary value-transfer approval.
Comparison
The outer transaction is a distinct EIP-2718 typed transaction and includes ordinary fee, destination, value, data, access-list, and signature fields plus the authorization list. The transaction sender pays for processing the tuples, but the authorizing accounts can be different from the sender.
Key Takeaway
EIP-7702 set-code transactions add persistent smart-account behavior to EOAs through signed delegation, making target-code security and authorization review critical.
Sources
- EIP-7702: Set Code for EOAs — Ethereum Improvement Proposals (2026-08-02)
- EIP-2718: Typed Transaction Envelope — Ethereum Improvement Proposals (2026-08-02)
- Ethereum Transactions — ethereum.org (2026-08-02)