A UTXO is an unspent transaction output, a discrete chunk of Bitcoin that has been received but not yet spent. Bitcoin doesn't use account balances; instead, your "balance" is the sum of all UTXOs your private key can spend, like having specific bills in a wallet rather than a bank balance.
What Is a UTXO (Unspent Transaction Output)?
2 min read
The short version
UTXOs work like physical cash. If you have a $20 bill and want to pay $15, you hand over the whole $20 and get $5 change. Bitcoin works the same way: you spend entire UTXOs and receive change back as a new UTXO. You can't tear a UTXO in half, you consume it whole and create new ones.
How It Works
Every Bitcoin transaction consumes one or more UTXOs as inputs and creates new UTXOs as outputs. Each UTXO is locked by a script (typically requiring a signature from a specific public key). When you spend, you provide the unlocking script (your signature) for the input UTXOs, and create new output UTXOs locked to the recipient's address and (if needed) a change address you control. The UTXO set, all currently unspent outputs across the entire blockchain, is what nodes track to validate new transactions. As of 2024, the UTXO set contains roughly 170 million entries.
Spending with UTXO selection
Alice's wallet holds three UTXOs: 0.3 BTC, 0.5 BTC, and 0.02 BTC. She wants to send 0.6 BTC to Bob. Her wallet selects the 0.3 and 0.5 BTC UTXOs as inputs (total: 0.8 BTC), creates one output of 0.6 BTC to Bob's address, and a change output of 0.1997 BTC back to Alice (the 0.0003 BTC difference is the miner fee). The two input UTXOs are now spent (removed from the UTXO set); two new UTXOs are created.
What People Get Wrong
Bitcoin uses account balances like a bank
Bitcoin has no accounts. Wallets calculate your "balance" by summing UTXOs you control. This is fundamentally different from Ethereum's account model.
You can send partial UTXOs
You must consume a UTXO entirely. To send less than a UTXO's value, you send the desired amount to the recipient and the remainder back to yourself as change.
Having many UTXOs is free
Each UTXO you spend later requires paying fees for the input data. Wallets with hundreds of tiny "dust" UTXOs can be expensive to fully spend.
Keep Reading
Sources & Further Reading
- Bitcoin UTXO Model Explained (Bitcoin.org)
Official developer docs covering UTXO creation, spending, and transaction structure
- UTXO Set Statistics
Live statistics on the Bitcoin UTXO set size and growth
Questions People Also Ask
- What is Bitcoin dust?
- Dust is a UTXO so small that the fee to spend it exceeds its value. Typically UTXOs under 546 satoshis are considered dust and are rejected by most nodes.
- Does Ethereum use UTXOs?
- No. Ethereum uses an account-based model with balances, like a bank ledger. Bitcoin's UTXO model offers better privacy and parallelism but is less intuitive.
- How does UTXO selection affect privacy?
- Spending multiple UTXOs in one transaction links them to the same owner. Good wallet software uses coin control features to minimize unnecessary linkage.