
An EOA is an externally owned account on Ethereum that a private key controls, and on a single day in late October 2026 about one sender in 16 had pointed theirs at smart-account code through EIP-7702. In crypto, the EOA meaning has nothing to do with the legal, medical or slang senses of the same three letters.
Of the 382,357 Ethereum addresses that sent a transaction on one day in late October 2026, about one in 16 carried EIP-7702 delegation code when the day closed, and none carried ordinary contract code. Delegated or not, every one of those senders signed with a private key, because Ethereum accepts transactions only from EOAs.
EOA at a Glance
|
Item
|
EOA
|
|
What it is
|
An Ethereum account controlled by a private key
|
|
Address
|
0x plus 40 hex characters from the public key's hash
|
|
Cost to create
|
Nothing
|
|
Starts transactions
|
Yes, and a contract account can't
|
|
Smart-account routes
|
ERC-4337 UserOperations, EIP-7702 delegation since May 2025
|
|
On one late-October day
|
About 6.1% of 382,357 senders carried 7702 delegation code
|
|
Main risk
|
Whoever holds the key or seed phrase controls the account
|
What Is an EOA in Crypto?
An EOA is the account type a person runs from outside the chain. Ethereum's accounts documentation names two account types, and it describes the externally owned account as "controlled by anyone with the private keys". The other type, the contract account, answers to code.
Ethereum's formal specification explains the "externally" part. The Yellow Paper's February 2025 Shanghai edition calls a transaction "a single cryptographically-signed instruction constructed by an actor externally to the scope of Ethereum". It adds that "the sender of a transaction cannot be a contract", and the key holder is that outside actor.
The key pair has two halves, and public vs. private keys on Phemex Academy walks through which one you can share.
How Does an EOA Work?
Every EOA starts as a private key, which Ethereum's accounts page describes as "64 hex characters" that most wallet libraries generate at random. The public key comes from it through elliptic-curve math, and the address comes from the public key. A wallet can produce all three offline before the account ever touches the chain.
An Ethereum EOA address is 42 characters long. The accounts page builds it "by taking the last 20 bytes of the Keccak-256 hash of the public key and adding 0x to the beginning". That leaves 40 hexadecimal characters behind the 0x prefix.
Creating one costs nothing, in the accounts page's words. The address can receive ETH before its owner has signed anything, because the network learns the public key only when the first signed transaction arrives.
Each EOA also keeps a nonce, which the accounts page defines as "a counter that indicates the number of transactions sent from an externally-owned account". Only one transaction per nonce can go through, so a signed transfer can't be replayed to move the same funds twice.
When a transaction lands, the Ethereum Virtual Machine runs whatever it calls, and the sender pays gas in ETH for the work.
What Is the Difference Between an EOA and a Contract Account?
The EOA vs contract account split comes down to what holds control. An EOA answers to a private key and can start a transaction. A contract account answers to its own code and acts only when a transaction or another contract calls it.
|
Feature
|
EOA
|
Contract account
|
|
Controlled by
|
A private key
|
Its own code
|
|
Starts a transaction
|
Yes
|
No, it only responds to calls
|
|
Cost to create
|
Nothing
|
A fee, since it uses network storage
|
|
Code on the account
|
None, or a 23-byte EIP-7702 pointer
|
The deployed contract
|
A contract account is the address of a deployed smart contract, so it has no private key at all. EIP-3607, a Final standard created on 10 June 2021, tells clients to reject any transaction whose sender holds deployed code. Its text adds that "a block containing such a transaction MUST be considered invalid".
Plenty of explainers predate one change. Ethereum's accounts page still describes an EOA's code hash as the hash of an empty string, and that held for every EOA until 7 May 2025. Since then an EOA can carry a delegation pointer, so the dividing line runs through the private key. An EOA has one, and a contract account doesn't. A delegated EOA keeps both its key and its address.
What Is an EOA Wallet?
An EOA wallet is the app or device that stores an EOA's private key and signs with it. The coins stay on Ethereum's ledger. In the accounts page's words, "You never really hold cryptocurrency, you hold private keys".
That's why importing the same private key into another wallet app brings back the same address and the same balance. A non-custodial wallet hands you that key, along with a seed phrase that can rebuild it, and the key holder alone signs for the account.
A smart-contract wallet keeps its funds at a contract account, whose code sets the rules for spending. Since May 2025 an EOA wallet can add some of those rules through EIP-7702 without moving to a new address. The Ethereum Foundation's Pectra announcement names transaction batching as one of them.
How Does EIP-7702 Let an EOA Run Smart-Account Code?
EIP-7702, titled "Set Code for EOAs", is a Final standard created on 7 May 2024. It adds transaction type 0x04, which lets EOAs "set the code in their account" through signed authorizations, each naming a delegate contract.
For each authorization that passes its checks and names a nonzero address, the protocol writes a delegation indicator into the account's code. That pointer is 23 bytes long, the prefix 0xef0100 followed by the delegate's 20-byte address, and every call to the EOA then runs the delegate's code.
The private key keeps working as before, because EIP-7702 changes EIP-3607 to let an EOA "whose code is a valid delegation indicator" originate transactions.
Ethereum's Pectra upgrade switched EIP-7702 on. Its first block reached mainnet on 7 May 2025, at the epoch 364032 the Ethereum Foundation had scheduled. The same announcement says that "the owner of the EOA can always create another EIP-7702 authorization that revokes or replaces the existing delegation code".
A signed authorization doesn't guarantee a delegation. The EIP tells clients to skip any tuple that fails a check, such as a wrong chain ID or a stale nonce, and move to the next. The account's code is the only proof that a delegation took hold.
Do ERC-4337 Smart Accounts Still Need an EOA?
They do, at the point where anything reaches the chain. ERC-4337, a Final standard created on 29 September 2021, builds smart accounts in a way that "completely avoids the need for consensus-layer protocol changes".
A user signs a UserOperation, which the standard defines as "a structure that describes a transaction to be sent on behalf of a user".
A bundler, "a node (block builder) that can handle UserOperations", packs many of them into one transaction. A paymaster can cover the fee as "a helper contract that agrees to pay for the transaction".
That one transaction still needs an ordinary sender. EIP-3607 rules out a contract as the sender, so a bundler sends each bundle from an EOA and signs it with that account's private key. The smart account behind each UserOperation doesn't send that transaction itself.
How Many Ethereum Senders Use EIP-7702 Delegation?
On the late-October census day, 23,432 senders ended the day with a delegation indicator, 6.13% of the 382,357 distinct addresses that sent at least one transaction. The other 358,925, or 93.87%, held no code at all.
Those delegated accounts sent 91,068 transactions, 5.91% of the 1.54 million on the chain that day. Their delegations pointed at 271 different delegate contracts, and one contract alone drew 6,522 of the 23,432 accounts, or 27.83%. A flaw in that single contract would reach more than a quarter of the day's delegated senders at once.
Method: the census takes every transaction in the 7,178 Ethereum blocks of that calendar day, failed ones included. It keeps each sending address once and checks the code each one held in the day's last block. A delegation indicator is exactly 23 bytes starting with 0xef0100, so it can't pass for contract code.
What Are the Risks of an EOA?
An EOA has no reset button. Whoever holds its private key or the seed phrase behind it controls the account. A lost phrase locks the owner out for good, and a leaked one hands everything to someone else. The safest setup keeps that phrase offline, and how to back up a seed phrase covers the steps.
EIP-7702 adds a second risk, a delegation to bad code. The EIP's own security notes warn that "a poorly implemented delegate can allow a malicious actor to take near complete control over a signer's EOA". A signed authorization pointing at a hostile contract does the same on purpose.
The chain ID adds a twist. An authorization signed with chain ID 0 passes the EIP's chain check on any network that runs EIP-7702. Anyone holding that signature can submit it on another chain where the account's nonce matches.
How Can You Use an EOA With Phemex?
Your EOA is where ETH lands when you withdraw it from Phemex to self-custody, and a deposit from that wallet starts as a transaction the same key signs. The chain sees only the EOA's address and signature, so the address you paste decides where the coins go.
-
Copy the 42-character address from your own wallet and compare its first and last characters after you paste it.
-
Check that the withdrawal network matches the one your wallet uses, since the same address format works on many EVM chains.
-
Send a small amount first, then the rest once that test transfer arrives.
Trading ETH's price on Phemex doesn't touch your EOA at all. ETH futures there settle inside your Phemex account, so no on-chain transaction or private-key signature takes place. Positions on these contracts use leverage, and Phemex closes one automatically if losses reach its margin.
Frequently Asked Questions
What is EOA in blockchain?
An EOA, or externally owned account, is an Ethereum account that a private key controls. It holds ETH and tokens, starts transactions and costs nothing to create. The other account type, the contract account, runs code and acts only when something calls it.
What is an externally owned account in Ethereum?
It's the account type a person controls from outside the chain through a private key. Its address is 0x followed by the last 20 bytes of the public key's Keccak-256 hash, 42 characters in all, and a nonce counts every transaction it sends.
Can an EOA hold smart contract code?
Since 7 May 2025 an EOA can hold one kind of code, a 23-byte EIP-7702 delegation indicator that makes calls to the account run a chosen contract's code. Under EIP-3607 an account holding any other code can't send a transaction at all.
Can you remove an EIP-7702 delegation?
Yes, the owner can sign a new authorization at any time. Pointing it at the zero address clears the account's code under EIP-7702, and pointing it at another contract replaces the old delegate.
Bottom Line
Smart accounts have arrived on Ethereum by building on the EOA. EIP-7702 adds contract logic to the same address, and ERC-4337 bundles still go out from EOAs, so a private key stays the only thing that can start a transaction.
That raises the stakes on the seed phrase. The key that signs a payment can also sign an authorization that hands the account to a contract, so it deserves more care than any wallet feature built on top of it.
Disclaimer: This article is for informational purposes only and is not financial advice. Cryptocurrency trading involves substantial risk. Always do your own research before making investment decisions.
