What a UTXO Actually Is
In the Ethereum model, an account has a balance stored in global state: "Alice: 3.5 ETH." Bitcoin does not work that way. Instead, every Bitcoin transaction produces one or more outputs — chunks of BTC assigned to specific addresses. Those outputs sit on the blockchain waiting to be spent. Once spent, they are gone forever and new outputs take their place.
Your "balance" is not a number stored anywhere. It is the sum of every UTXO your wallet's addresses control. If someone paid you 0.3 BTC last month and another 0.2 BTC last week, your wallet holds two UTXOs (0.3 and 0.2) that together display as 0.5 BTC.
How a Send Actually Works
Say you have three UTXOs — 0.10, 0.05, and 0.02 BTC — and you want to send 0.12 BTC. Your wallet must consume whole UTXOs. It picks the 0.10 + 0.05 = 0.15 BTC, sends 0.12 to the recipient, and creates a change UTXO of 0.03 BTC back to a fresh address you control. The 0.02 BTC UTXO stays untouched.
| Field | Value |
|---|---|
| Inputs (UTXOs consumed) | 0.10 + 0.05 = 0.15 BTC |
| Output to recipient | 0.12 BTC |
| Change output | 0.03 BTC − fee |
| Fee | Depends on vBytes, not dollars |
This is why Bitcoin transactions have "change addresses" — the protocol has no concept of partial spending. See our transaction fees guide for how vBytes translate into cost.
UTXOs, Fees & Coin Control
Each spent UTXO adds bytes to your transaction. Rough sizes:
- Legacy input (P2PKH): ~148 vBytes
- SegWit input (P2WPKH): ~68 vBytes
- Taproot input (P2TR): ~57 vBytes
A send that consumes 20 SegWit UTXOs is ~20× larger than a send consuming a single UTXO. During a fee spike (100 sats/vB), that difference can turn a $2 send into a $40 send.
Coin control — the ability to hand-pick which UTXOs a transaction spends — is a power feature in wallets like Sparrow, Electrum, and Wasabi. It lets you avoid mixing labeled UTXOs (privacy), spend dust before a fee spike (economy), or preserve large UTXOs for future use.
UTXOs and Privacy
The UTXO model is public: every input and output is visible on-chain forever. Chain-analysis firms cluster addresses by identifying UTXOs that were spent together in the same transaction — a heuristic called common-input ownership.
Best practices to keep UTXOs private:
- Never merge UTXOs from different sources unless you accept they will be linked.
- Use a fresh address for every receive — modern wallets do this by default.
- Consider CoinJoin (Wasabi, Samourai/JoinMarket) for mixing large UTXOs, understanding the trade-offs.
- Move small spends to Lightning — see our Lightning Network guide — where individual amounts are not chain-visible.
Understanding UTXOs is the difference between casually using Bitcoin and actually controlling how your coins move.
Sponsored
“Bitcoin's UTXO model is one of its most underappreciated design choices — it makes verification cheap, scaling parallel, and privacy at least defensible.”
Frequently Asked Questions
Related Calculators
Run these concepts with your own numbers, live.
