An Externally Owned Account (EOA) is a type of Ethereum account controlled by a private key held outside the blockchain — typically by an end user via a wallet — as opposed to a contract account controlled by smart contract code. EOAs can initiate transactions, sign messages, and hold ether and tokens; they have no associated code. Every Ethereum transaction must originate from an EOA, making them the fundamental actor type in the Ethereum account model.
Overview
- Ethereum distinguishes two account types: EOAs (controlled by private key) and contract accounts (controlled by code). EOAs have no code, only an ETH balance and a nonce.
- The 20-byte EOA address is the Keccak-256 hash of the public key’s last 20 bytes, providing a compact identity derived entirely from Cryptography.
- Loss of the private key means permanent loss of the account and all assets — a fundamental usability and Security challenge addressed by ERC-4337 account abstraction, which allows smart contract wallets to add recovery mechanisms.
- EOAs sign transactions off-chain using Encryption primitives; signatures are verified by all network nodes when the transaction is broadcast.
Key Aspects
- The account nonce prevents replay attacks by requiring each EOA transaction to have a strictly increasing sequence number.
- Gas fees for all Ethereum transactions must be paid by the originating EOA, which historically prevented smart contract wallets from paying their own gas (addressed by ERC-4337 Paymasters).
- EIP-191 and EIP-712 define standards for EOA message signing used in off-chain authentication (sign-in with Ethereum) and typed data signing for DeFi protocols.
- Hardware wallets store EOA private keys in tamper-resistant secure elements, reducing key compromise risk.
Mechanisms
- Transaction signing uses ECDSA over secp256k1: the private key signs a hash of the transaction fields, producing a (v, r, s) signature tuple.
- Recovery of the signer’s public key from the signature allows any node to verify EOA ownership without accessing the private key.
- Off Chain Governance participation involves EOA holders signing governance votes or signalling messages off-chain, aggregated for on-chain execution.
- Session Key delegation patterns (ERC-7715) allow EOAs to temporarily delegate limited signing authority to session keys for improved UX.
Applications
- End-user wallets for holding and transferring ETH, ERC-20 tokens, and NFTs.
- Off Chain Governance voting via signed EIP-712 messages aggregated by Snapshot and similar platforms.
- DeFi protocol interaction where EOAs approve token spending, submit swaps, and provide liquidity.
- Digital Identity bootstrapping using sign-in with Ethereum (EIP-4361) to authenticate to web applications without a centralised identity provider.