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.

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

  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)