UTXOs: Atomic Units of Value

10 min readarticleIncludes quiz · 4 questions

Bitcoin doesn't track "account balances" like banks. Instead, it uses UTXOs—Unspent Transaction Outputs. Think of UTXOs like cash bills: you can't spend half a $20 bill; you spend the whole thing and get change. Understanding UTXOs is key to understanding how Bitcoin works.

What is a UTXO?

  • Full name: Unspent Transaction Output
  • Definition: A chunk of Bitcoin from a previous transaction that hasn't been spent yet.
  • Your balance: The sum of all UTXOs you control with your private keys.
  • Atomic: Must be spent entirely—you can't spend "part" of a UTXO.
  • Once spent: A UTXO is consumed entirely and creates new UTXOs (outputs).
UTXO Model
UTXO Model

Key Definitions:

  • UTXO: An unspent output from a previous transaction that can be spent as an input.
  • UTXO set: The collection of all unspent outputs on the Bitcoin network (currently ~100M UTXOs).
  • Spent output: A UTXO that has been used as an input in a transaction (no longer spendable).
  • Change output: A new UTXO sent back to yourself when spending more than needed.
  • Dust: UTXOs too small to spend economically (cost more in fees than their value).
  • UTXO consolidation: Combining many small UTXOs into one larger UTXO.

UTXO Model vs Account Model:

Bitcoin (UTXO Model)

  • No account balances
  • Track individual "coins" (UTXOs)
  • Each UTXO spent entirely
  • More privacy (use new addresses)
  • Parallel transaction processing
  • Example: Alice has 3 UTXOs (0.5, 0.3, 0.2 BTC) = 1.0 BTC total

Banks/Ethereum (Account Model)

  • Track account balances
  • Debit and credit accounts
  • Can send partial balances
  • Easier to understand
  • Must process transactions serially
  • Example: Alice has an account with 1.0 BTC balance

How UTXOs Work:

1. Receive Bitcoin: Someone sends you 0.5 BTC. This creates a new UTXO locked to your address. 2. Your wallet sees it: Scans the blockchain, finds UTXOs you can spend. 3. Want to spend: Need to send 0.3 BTC to Bob. 4. Create transaction: Use the 0.5 BTC UTXO as input (must spend it all). 5. Create outputs: 0.3 BTC to Bob, 0.1999 BTC back to you (change), 0.0001 BTC fee. 6. Old UTXO destroyed: The 0.5 BTC UTXO is now spent (can't be used again). 7. New UTXOs created: Bob has 0.3 BTC UTXO, you have 0.1999 BTC UTXO.

UTXO Spending
UTXO Spending

Example: Following the UTXOs

Alice mines a block and gets 6.25 BTC (1 UTXO). → Alice spends 2 BTC to Bob, keeps 4.24 BTC change (fee: 0.01 BTC). → Bob has 1 UTXO (2 BTC). Alice has 1 UTXO (4.24 BTC). → Bob spends 0.5 BTC to Carol, keeps 1.49 BTC change (fee: 0.01 BTC). → Carol has 1 UTXO (0.5 BTC). Bob has 1 UTXO (1.49 BTC). Alice still has 1 UTXO (4.24 BTC).

Each transaction consumes old UTXOs and creates new ones.

UTXO Set Size:

  • Current size: ~100 million UTXOs (as of 2024)
  • Storage: ~8 GB of data (all UTXOs)
  • Full nodes: Must track all UTXOs to validate new transactions
  • Growth: Increases with adoption but can be managed with best practices
  • Pruning: Old spent outputs can be deleted (only UTXOs matter for validation)

Why This Matters:

  • Privacy: Use new addresses for change = harder to track
  • Fees: More UTXOs = larger transactions = higher fees
  • Dust: Small UTXOs might cost more to spend than they're worth
  • Consolidation: When fees are low, combine many UTXOs into one to save on future fees
  • Parallel txs: Multiple people can spend different UTXOs simultaneously

Test Your Knowledge

This lesson includes a 4-question quiz (passing score: 75%).

Quiz functionality available in the mobile app.