Deciphr Academy
Track 1 · Module 4 · Lesson 2 of 6 · 6 min read

What are the two types of Ethereum account?

Short answer

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

has a private keyhas no private keyPerson's account (EOA)controlled by a private keyContract accountcontrolled by its codetransactioncan start a transactionacts only when it receives oneBoth have an address and can hold ETH and tokens
Fig. 2. A person's account is controlled by a private key. A contract account has no key: its code decides what happens.

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

More on keys

Module 7 covers wallets, keys and seed phrases in detail.

Our viewTwo kinds of account means two kinds of trust. With your own account, you trust whoever holds the key. With a contract account, you trust the code, so it pays to know what the code says.
Sources
  1. Ethereum accounts. ethereum.org developer docs, page updated 6 August 2026.
  2. Ethereum Whitepaper: A Next-Generation Smart Contract and Decentralized Application Platform. ethereum.org (the original paper by Vitalik Buterin).
  3. Introduction to Smart Contracts (the SimpleStorage example and the EVM overview). Solidity documentation, The Solidity Authors.
  4. Gas and fees. ethereum.org developer docs, page updated 24 June 2026.
  5. 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.