What EIP-7702 changes for EOAs

Ethereum’s EOA (Externally Owned Account) model has always had a rigid boundary: if you control the private key, you control the funds, but you cannot execute complex logic. EIP-7702 shatters this wall by allowing EOAs to temporarily set code in their account. This mechanism bridges the gap to account abstraction without requiring users to migrate to new addresses or adopt entirely new wallet structures.

At its core, EIP-7702 introduces a new transaction type with an "authorizations" field. When an EOA signs an authorization message, it delegates execution rights to a specific smart contract. This contract’s code is then temporarily attached to the EOA’s address for the duration of the transaction. Think of it as lending your smart contract’s "brain" to your standard wallet for a single operation, rather than permanently converting the wallet into a smart contract.

This temporary code setting enables features previously impossible for EOAs, such as transaction batching, paymaster-based gas sponsorship, and multi-sig logic, all while retaining the familiar EOA interface. The authorization is recorded on-chain, ensuring that the delegation is verifiable and enforceable by the network. Once the transaction completes, the code is removed, and the EOA reverts to its default state, maintaining its simple key-based control.

The implementation of EIP-7702 as part of the Pectra hardfork marks a significant shift in Ethereum’s account model. It allows any existing EOA to temporarily access smart contract capabilities, unlocking new use cases for user experience and functionality. Unlike ERC-4337, which requires a separate infrastructure of bundlers and paymasters, EIP-7702 integrates these capabilities directly into the protocol, making account abstraction more accessible to everyday users.

For wallet and dApp developers, this means a new layer of complexity and opportunity. You must now account for the possibility that an EOA might be executing code from a smart contract. This requires updates to signature verification, gas estimation, and transaction simulation. However, it also opens the door to seamless integration of advanced features like social recovery and session keys without forcing users to change their primary wallet address.

How authorization lists work

EIP-7702 introduces a new transaction type that allows Externally Owned Accounts (EOAs) to temporarily set their own code. This mechanism is anchored by an "authorization list" attached to the transaction. Instead of permanently altering the EOA's storage slot, the authorization acts as a transient instruction that the Ethereum Virtual Machine (EVM) executes only for the duration of that specific transaction.

To initiate this process, the EOA owner signs a special authorization message. This message contains the address of the smart contract the EOA wishes to delegate to, along with a nonce and a signature. When the transaction is submitted, the network validates the signature and, if correct, temporarily replaces the EOA's empty code field with the bytecode of the designated smart contract. This allows the EOA to execute complex logic, such as batched transactions or custom validation rules, without permanently becoming a smart contract account.

The transient nature of this code setting is critical for security and simplicity. Once the transaction completes—whether successfully or by reverting—the EOA's code field is cleared, and it reverts to its standard state as a simple key-based account. This means the EOA does not retain any persistent smart contract functionality or storage changes from the delegation. The authorization is effectively "used up," requiring a new signed message to delegate again. This design ensures that EOAs can borrow smart contract capabilities on-demand while maintaining their familiar, low-overhead structure for all other interactions.

Invalid TradingView symbol: ETHUSD

Wallet infrastructure updates needed

Supporting EIP-7702 requires wallet providers to implement a new transaction type: Type 4. This format allows externally owned accounts (EOAs) to temporarily delegate execution logic to smart contracts. Unlike standard transfers, these transactions carry an authorization list that must be validated before execution.

Wallets must parse the authorization_list field in Type 4 transactions. This list contains signed messages where the user grants permission for a specific contract to act on their behalf. The wallet must verify that the signature matches the user's private key and that the target contract is valid. If the authorization is malformed or expired, the transaction should be rejected or flagged for user review.

The update also involves handling the temporary state change. When a Type 4 transaction is processed, the EOA temporarily adopts the code of the authorized contract. The wallet needs to display this state clearly to the user, indicating that their account is currently acting as a smart contract. This transparency is critical for security, as it prevents users from unknowingly interacting with untrusted logic.

Implementing these changes ensures that wallets can safely process EIP-7702 transactions. By correctly parsing authorizations and displaying temporary code states, providers can offer users the benefits of account abstraction without compromising security or clarity. This infrastructure update is essential for the seamless integration of EIP-7702 into existing wallet ecosystems.

Dapp integration and gasless UX

EIP-7702 transforms how decentralized applications interact with users by allowing EOAs to temporarily adopt smart contract logic. For dapp developers, this means you can offer advanced features like gasless transactions and transaction batching without forcing users to deploy new smart contract wallets. The user signs an authorization, and the dapp leverages the EOA's temporary code to execute complex operations on-chain.

The most immediate win for user experience is gasless interaction. Instead of requiring users to hold ETH for every single transaction, dapps can use EIP-7702 to batch operations or pay fees on behalf of the user. As highlighted by Circle, this capability is already being utilized to enable gasless USDC transactions, significantly lowering the barrier to entry for retail users who might otherwise be deterred by gas fees.

To implement this, your dapp needs to handle the new authorization flow. The user signs a specific authorization message that grants your smart contract permission to execute on their behalf. Once this authorization is recorded, the EOA can execute transactions that would normally require a smart contract account, such as batched transfers or signature-based approvals.

Understanding the difference between standard EOA transactions and EIP-7702 authorized transactions is critical for seamless integration.

FeatureStandard EOAEIP-7702 Authorized
Gas PaymentUser pays ETHDapp or sponsor can pay
Transaction BatchingNot nativeSupported via delegated logic
User SetupNoneSign authorization message

By adopting EIP-7702, your dapp can offer a smoother, more intuitive experience. Users retain control of their keys while enjoying the flexibility of smart contract accounts. This hybrid approach balances security with usability, making blockchain interactions feel as simple as traditional web applications.

EIP-7702 vs ERC-4337 differences

While both standards enable account abstraction, they operate on completely different layers of the Ethereum stack. Confusing them often leads to architectural missteps. EIP-7702 modifies the core protocol to allow Externally Owned Accounts (EOAs) to temporarily execute smart contract logic. ERC-4337 is a user operation mempool standard that works with existing EOAs and smart accounts without changing the blockchain's consensus rules.

Protocol-Level Upgrades vs. Mempool Standards

EIP-7702 requires a hard fork to implement. It introduces a new transaction type with an "authorizations" field, allowing an EOA to delegate execution to a smart contract. This gives the EOA temporary code and storage capabilities, effectively turning it into a smart account for the duration of the transaction.

ERC-4337, by contrast, operates entirely outside the consensus layer. It defines a standard interface for user operations that are collected by bundlers and executed via a dedicated entry point contract. No protocol upgrade is needed to adopt ERC-4337, making it easier to deploy across different chains.

Implementation and Compatibility

The key distinction lies in where the abstraction lives. EIP-7702 embeds abstraction directly into the EOA's state, allowing it to sign and execute smart logic natively. ERC-4337 relies on a separate smart contract account and a relay infrastructure to handle gas payments and validation.

FeatureEIP-7702ERC-4337
LayerProtocol (Consensus)Mempool / User Operation
DeploymentRequires Hard ForkNo Protocol Upgrade
Target AccountEOAs (temporarily)Smart Accounts & EOAs
Gas PaymentNative ETHRelayers / Paymasters

Why the Distinction Matters

Understanding this difference is critical for wallet and dapp developers. EIP-7702 offers a more seamless experience for users who want smart wallet features without deploying a new contract, but it requires network-wide adoption. ERC-4337 provides flexibility and immediate deployability but introduces complexity in managing relayers and paymasters.

Invalid TradingView symbol: ETHUSD

Migration checklist for 2026

Full adoption of EIP-7702 requires updating how wallets and dApps handle authorization signatures. The Pectra hardfork introduced a new transaction type that allows EOAs to delegate execution to smart contracts, fundamentally changing account management. To ensure your stack is ready, follow this verification sequence.

EIP-7702 Migration in
1
Update transaction parsers

Integrate support for the new type 4 transaction format. Your parser must correctly interpret the authorizations field, which contains the delegation signatures. Without this update, transactions involving 7702-enabled accounts will fail validation or be rejected by the network.

EIP-7702 Migration in
2
Implement signature expiration logic

EIP-7702 authorizations are not permanent. They expire based on the validUntil and validAfter fields included in the signature. Your backend must validate these timestamps against the current block time to prevent stale or unauthorized delegations from being processed.

EIP-7702 Migration in
3
Audit smart contract compatibility

If your dApp interacts with user accounts as if they were smart contracts, verify that your interface functions correctly with 7702-delegated accounts. Ensure that any logic relying on extcodesize or similar opcodes accounts for the temporary code state introduced by these authorizations.

EIP-7702 Migration in
4
Update wallet signing interfaces

Wallets must clearly display delegation requests to users. The UI should explain that signing an authorization allows a specific contract to act on the user’s behalf. Transparency is critical to prevent user confusion regarding the temporary nature of these permissions.

EIP-7702 Migration in
5
Test against mainnet fork environments

Before deploying to production, run comprehensive tests on a mainnet fork that includes the Pectra upgrade. Verify end-to-end flows for both new 7702-enabled accounts and legacy accounts that have not yet delegated. This ensures backward compatibility while validating the new delegation mechanics.

Invalid TradingView symbol: ETHUSD

Frequently asked: what to check next

Sources: EIP-7702, Safe Docs, OpenFort