Insights on Crypto Payments, Infrastructure, and Operations

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. The delegation is powerful and persistent, so wallets must carefully validate the target code and authorization details.

Overview

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. The transaction contains an authorization list. 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. This enables features associated with account abstraction, including batching, sponsored execution, and limited-permission keys.

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

Set-code authorization grants broad power because the delegated code executes with access to the account’s assets and storage context. Wallets should not let arbitrary applications choose delegation code without review. Implementations must protect initialization, storage layout, nonce handling, chain binding, sponsorship, and revocation flows. Integrators should distinguish the signed authorization from the final signed transaction and confirm the resulting account code after inclusion. A successful transaction receipt does not prove that every tuple produced the intended secure configuration.

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

  1. EIP-7702: Set Code for EOAs — Ethereum Improvement Proposals (2026-08-02)
  2. EIP-2718: Typed Transaction Envelope — Ethereum Improvement Proposals (2026-08-02)
  3. Ethereum Transactions — ethereum.org (2026-08-02)