Account Model
The account model is a way of structuring a blockchain's ledger around accounts with balances — like bank accounts — where transactions directly debit the sender and credit the receiver. Ethereum is the canonical example: the chain maintains a global state mapping each address to its balance, a transaction counter (nonce), and, for contract accounts, code and storage. When you send 1 ETH, the protocol subtracts it from your account's balance and adds it to the recipient's.
This contrasts with Bitcoin's UTXO model, where value exists as discrete unspent outputs that must be consumed whole, with change returned. The account model's chief advantage is programmability: smart contracts are simply accounts with code, holding balances and persistent storage that many users interact with — a design that makes DeFi protocols, token contracts, and DAOs natural to express, which is why nearly all smart-contract platforms (Ethereum, Solana, BNB Chain, Tron) use accounts. Its costs are subtler: transactions from one account must execute in nonce order, shared state creates contention that complicates parallel execution, and reusing one address for everything makes activity easier to trace than UTXO chains' fresh-address habit.
Ethereum distinguishes two account types: externally owned accounts, controlled by a private key, and contract accounts, controlled solely by their code — a contract has no key and acts only when a transaction invokes it. A common misconception is that one model is simply better; they are engineering trade-offs, with UTXO favoring simple parallel payments and the account model favoring rich shared-state applications, and some newer chains blend elements of both.
Related terms