What are the two types of Ethereum account?
An Ethereum account has an ETH balance and can send messages on the network.1 Some accounts are controlled by people holding private keys; others are smart contracts controlled by their own code.1
Two kinds of account
An Ethereum account is something with an ETH balance that can send messages on Ethereum.1 There are two kinds.1,2
- Externally-owned account (EOA). It is controlled by anyone who holds its private keys.1 This is the kind people use.3
- Contract account. It is a smart contract placed on the network, and its code controls it.1
Both kinds can receive, hold and send ETH and tokens. Both can use smart contracts that are already on the network.1
How they differ
| Point | Externally-owned account | Contract account |
|---|---|---|
| Who controls it | Whoever holds the private keys1 | Its code; it has no private keys1 |
| Cost to create | Nothing1 | A fee, because it uses network storage1 |
| Can it start a transaction? | Yes1 | No; it only acts after it receives one1 |
A transaction from a person's account to a contract can set off the contract's code. That code can do many things, such as moving tokens or even creating a new contract.1
Addresses
Every account has an address. A person's address is 42 characters long: "0x" followed by 40 letters and numbers.1 It is worked out from the account's public key.1
A contract's address is also 42 characters.1 It is usually worked out from the creator's address and the number of transactions the creator has sent.1,3
What every account stores
Every account has four fields.1
- Nonce. A counter of the transactions an account has sent, or, for a contract, the contracts it has created.1
- Balance. How much ETH it holds, counted in wei. There are 1,000,000,000,000,000,000 wei (a 1 followed by 18 zeros) in 1 ETH.1 Wei is the smallest unit of ETH.4
- Code hash. Points to the account's code. For a contract it can never be changed. A person's account normally has empty code, though since the 2025 Pectra upgrade it can point to contract code.1,5
- Storage root. Stands for everything the account has stored.1
Keys, and why an account is not a wallet
Your private key is what you use to sign transactions, and it gives you control of the funds.1 A public key can be worked out from a private key, but not the other way round.1 As ethereum.org puts it, you never really hold crypto: you hold private keys, and the funds stay on Ethereum's ledger.1
An account is not a wallet. A wallet is an app that lets you use your account.1
Module 7 covers wallets, keys and seed phrases in detail.
- Ethereum accounts. ethereum.org developer docs, page updated 6 August 2026.
- Ethereum Whitepaper: A Next-Generation Smart Contract and Decentralized Application Platform. ethereum.org (the original paper by Vitalik Buterin).
- Introduction to Smart Contracts (the SimpleStorage example and the EVM overview). Solidity documentation, The Solidity Authors.
- Gas and fees. ethereum.org developer docs, page updated 24 June 2026.
- The history of Ethereum. ethereum.org, page updated 26 June 2026.
General education built from the publicly available sources listed above. Not financial, legal, tax or investment advice. Naming a company, project or regulator is not an endorsement either way. Last checked 2026-10-22. Terms and disclaimer.