UTXO vs. Account Model: Why Bitcoin and Ethereum Count Money Differently
Bitcoin has no balances — only unspent coins. Ethereum and Solana keep accounts with nonce and balance. Two bookkeepings, two fee logics, two privacies — and what that means for your transactions.
Anyone coming from bank accounts expects balances everywhere. Bitcoin thoroughly disappoints that expectation: there are no accounts and no balances — only individual, unspent coins. Ethereum and Solana, by contrast, actually work with accounts. Confuse the two models and you will understand neither fees nor privacy.
UTXO: Bitcoin counts coins, not accounts
UTXO stands for Unspent Transaction Output. Think cash: you own no number in an account, but bills and coins in your pocket. A Bitcoin transaction "spends bills" (inputs) and "gets change back" (outputs, usually including your own change).
Three consequences:
1. Fees are a difference, not a price. There is no fee field to fill in. The fee is simply sum of inputs − sum of outputs. Your wallet computes backwards: it selects inputs so that, after subtracting the desired fee, the change adds up.
2. The amount determines the cost. Sweeping up many small coins needs many inputs — and inputs are the most expensive part of a transaction (signatures). Years of receiving dust means paying extra when spending. Consolidating while fees are low is a craft of its own.
3. Change is privacy. Every transaction creates fresh addresses for change — modern wallets do this automatically. Reusing the same address, on the other hand, glues your entire payment history to a shop window. (How addresses are formally constructed is what the Address Validator checks — format and checksum, locally in the browser.)
Account model: Ethereum and Solana keep accounts
Ethereum and Solana think like a bank database: every address has a balance and — on Ethereum — a nonce, a transaction counter. Each transaction raises the nonce by one; that prevents double-spends and fixes ordering. (What else the nonce controls is covered in What Is a Nonce?.)
The consequences mirror Bitcoin's:
1. Fees are an explicit part of the transaction. Gas limit × gas price, denominated in Gwei. Priced too low, the transaction stalls; priced too high, you overpay. For exact conversion there is the ETH Unit Converter — Wei, Gwei, and Ether with no rounding errors.
2. The amount (almost) doesn't matter. Sending 0.001 or 1,000 ETH — a simple transfer always costs 21,000 gas. It only gets expensive when smart contracts compute: swaps, mints, complex DeFi routes.
3. Address reuse is normal. In the account model your address is your identity — literally so with ENS names or Solana domains. Privacy here comes not from change but from separation: different addresses for different purposes.
The comparison at a glance
| UTXO (Bitcoin) | Account (Ethereum, Solana) | |
|---|---|---|
| Balance | Sum of your coins | Number in the database |
| Fee | Input − output (implicit) | Gas price × usage (explicit) |
| Ordering | irrelevant (coins are independent) | Nonce per address (strict) |
| Privacy | Change addresses | Address separation |
| Typical mistake | Collecting dust, then expensive consolidation | Nonce gap → all later transactions stall |
What changes for you
On Bitcoin you look at your coin selection (coin control in Sparrow & co.) before sending; on Ethereum at gas price and nonce. In both worlds: first a small test transaction, then the rest — and always verify the receiving address instead of copy-and-hope.
Hands-on: the Wallet Generator creates both worlds from the same seed — a bc1… address via BIP84, a 0x… address via BIP44. Same mathematics, two bookkeepings. How randomness becomes keys and addresses at all is explained in How a Wallet Actually Works.
For anything with real amounts, the order from the self-custody guide applies: understand, generate offline, test — and for larger sums or company setups, start a conversation before money moves.
Sources:
Fundamentals
- Satoshi Nakamoto: Bitcoin: A Peer-to-Peer Electronic Cash System (Sections 9–10: coins instead of accounts, change)
- Ethereum Foundation: Accounts (externally-owned vs. contract accounts, nonce)
- Solana Foundation: Account Model (rent, owners, programs as data)
Further on this site