Skip to main content

UTXO | Bitcoin Glossary | Mapping Bitcoin

UTXO

Protocol

Also known as: Unspent Transaction Output

Unspent Transaction Output, the fundamental unit of bitcoin ownership. Each UTXO represents a specific amount of bitcoin locked by a script that defines who can spend it. Bitcoin's accounting model tracks the set of all UTXOs rather than account balances.

Overview

A UTXO (Unspent Transaction Output) is the fundamental building block of Bitcoin's accounting system. Unlike traditional banking systems that track account balances, Bitcoin tracks discrete chunks of value — each UTXO represents a specific amount of bitcoin locked by a spending condition. To send bitcoin, a wallet selects one or more UTXOs as inputs, unlocks them by satisfying their conditions, and creates new UTXOs as outputs.

The UTXO Model

Account-Based Model (banks):      UTXO Model (Bitcoin):
┌─────────────────────┐           ┌─────────────────────┐
│ Alice: $500         │           │ UTXO 1: 0.3 BTC → Alice │
│ Bob:   $300         │           │ UTXO 2: 0.15 BTC → Alice│
│                     │           │ UTXO 3: 0.5 BTC → Bob   │
│ (single balance)    │           │ (discrete coins)         │
└─────────────────────┘           └─────────────────────┘

Alice's balance = sum of her UTXOs = 0.45 BTC

UTXO Lifecycle

  1. Creation: A UTXO is created as an output of a transaction, locking a specific amount of bitcoin to a script (e.g., requiring Alice's signature).
  2. Existence: The UTXO sits in the UTXO set, available to be spent.
  3. Spending: When Alice creates a new transaction, she references the UTXO as an input and provides the data (signature, etc.) to satisfy its spending condition.
  4. Destruction: Once spent, the UTXO is removed from the UTXO set. It no longer exists; new UTXOs created by the spending transaction take its place.

A UTXO can only be spent entirely — there is no way to spend a partial UTXO. If Alice has a 0.3 BTC UTXO and wants to send 0.1 BTC, her transaction creates two outputs: 0.1 BTC to the recipient and approximately 0.2 BTC back to herself as change (minus the transaction fee).

Why the UTXO Model Matters

  • Parallelism: UTXOs can be validated independently, enabling efficient parallel verification.
  • Privacy: Each UTXO can use a different address, making it harder to link transactions.
  • Deterministic verification: Every full node can independently verify that no UTXO is spent twice.
  • No global state: There are no "account balances" to corrupt — the UTXO set is the complete state.

Edge Cases

  • Dust: Very small UTXOs may cost more in fees to spend than they are worth, effectively making them unspendable.
  • UTXO bloat: Creating many small UTXOs increases the size of the UTXO set that all nodes must store in memory, which has costs for the network.
  • Coin selection: Wallets must choose which UTXOs to spend, balancing fee efficiency, privacy, and UTXO management.