An externally owned account (EOA) is a type of account on the Ethereum blockchain that is controlled by a private key held by a person, company or piece of software outside the chain. It can hold ether and tokens, and it is the only kind of account that can originate a transaction: every action on Ethereum, however complex, begins with an EOA signing a message.
Ethereum has two account types. The other is the contract account, which holds the code of a smart contract and acts only when called. The address most people know from a crypto wallet such as MetaMask or a hardware device is an EOA. The distinction matters for security, for fees and for the long-running effort, known as account abstraction, to give ordinary user accounts the flexibility of contracts.
Externally owned account in plain terms
Think of a bank safe deposit box that opens with one physical key. Whoever holds the key can open the box, move what is inside and sign for deliveries. There is no branch manager to call if the key is lost, and anyone who copies the key has the same power as the owner.
A contract account is more like a vending machine. It holds goods and follows fixed rules, but it never acts on its own; someone has to put in a coin and press a button. On Ethereum, the person pressing the button is always the holder of an EOA key.
How an EOA works
An EOA is created simply by generating a key pair; nothing has to be registered on chain, and creating one costs nothing. The public key is derived from the private key using elliptic-curve cryptography (the secp256k1 curve, as in Bitcoin), and the 20-byte wallet address is the last 20 bytes of the Keccak-256 hash of that public key, written in hexadecimal with a 0x prefix.
The protocol stores four fields for every account: a balance in wei, a nonce, a code hash and a storage root. For a classic EOA the code and storage are empty. The nonce counts transactions sent from the account; each new transaction must carry the next number, which keeps transactions in order and prevents a replay attack in which an old signed message is broadcast again.
To act, the holder signs a transaction with the private key, producing a digital signature. Nodes check that the signature matches the sender's address, that the nonce is correct and that the balance covers the value plus the maximum gas fee. Fees are always paid in ETH from the sending EOA, which is why a user holding only a stablecoin cannot move it without also holding some ether.
EOAs compared with contract accounts
| Feature | Externally owned account | Contract account |
|---|---|---|
| Controlled by | Private key | Its own code |
| Cost to create | Free (off-chain key generation) | Gas to deploy the code |
| Can start transactions | Yes | No; only reacts to calls |
| Custom rules (limits, multiple signers, recovery) | No, one key has full power | Yes, any logic the code defines |
Because one key controls everything, a lost seed phrase means lost funds, and a stolen one means stolen funds. Custody providers work around this with multi-party computation (MPC) wallets, where the key is split between parties, or by holding funds in a contract such as a multi-sig wallet that needs several approvals.
Account abstraction: ERC-4337 and EIP-7702
Developers have long sought to let users enjoy contract-style features without giving up the simplicity of an EOA. Two milestones stand out:
- ERC-4337. ERC-4337 went live on Ethereum mainnet in March 2023 without any protocol change. Users hold a "smart account" contract; their requests, called user operations, are bundled and submitted by third parties. It enables gas paid by a sponsor or in tokens, social recovery and spending limits. A general overview is in the account abstraction standard entry.
- EIP-7702. Part of the Pectra upgrade activated on 7 May 2025, this Ethereum Improvement Proposal (EIP) lets an existing EOA point to a contract's code and run it as its own. The account keeps its address and history, but can batch several actions into one transaction, have fees sponsored or apply custom rules.
EIP-7702 also brought new risks. Because the original private key still has full control, a user tricked into signing a malicious delegation can hand an attacker standing power over the account. Security researchers reported phishing campaigns and "sweeper" delegations soon after Pectra, an extension of older automated crypto theft techniques.
EOAs in payments and compliance
For payment firms, an EOA is the basic on-chain endpoint. Exchanges and custodians generate deposit addresses as EOAs, sweep them to custodial wallets, and screen counterparties with blockchain analytics tools. Regulators often describe an EOA held by the user as an unhosted wallet, which triggers specific Travel Rule and due diligence questions when funds move to or from a regulated firm.
Users of non-custodial wallets should note that an EOA cannot tell a payment from a scam. Checking the full address before sending guards against wallet address poisoning, and reviewing exactly what a signature authorises guards against delegation phishing.