A UTXO is an amount created by an earlier transaction that has not yet been spent. The letters stand for Unspent Transaction Output. Your wallet may show a single balance, but behind it sit several separate UTXOs, rather like the banknotes making up the cash in your pocket. When paying, the wallet selects which ones to use. One address can receive multiple payments and hold several different UTXOs.
You have two UTXOs: 70,000 sat and 50,000 sat, totaling 120,000 sat. A sat is bitcoin's smallest unit. To pay 90,000 sat with a 1,000 sat fee, the wallet can use both. It creates a new 90,000 sat output for the recipient and a new 29,000 sat output returning to you. Both original UTXOs are consumed completely; nothing is left inside them. It resembles paying with banknotes and receiving change, except the amounts are not restricted to fixed denominations. Even two new outputs sent to the same address remain two separate UTXOs rather than merging. [2]
A wallet adds up the outputs it tracks, but may not be able to spend all of them immediately. A Watch-only Wallet monitors payments without itself holding the private keys needed to sign. Another output may be locked until a certain time. The reward from the first transaction in a block, called the Coinbase Transaction, must first reach its required maturity. A very small amount may be technically spendable but cost more to use than it contains when fees are high. Availability, authority to spend, and economic usefulness are three different questions. [1]
Each UTXO used adds an input and usually more data to the transaction. At the same fee rate and with comparable input types, spending many small amounts therefore costs more than spending one larger amount. Coin Control lets you choose specific UTXOs manually. Consolidating them into fewer, larger amounts can make a future transaction smaller, but requires a fee today. It also affects privacy: combining inputs can suggest to an observer that one person controls them. This is not infallible proof, but it is a reason not to automatically merge funds whose histories you want to keep separate. [2] [4]
An address alone is not enough. Each output is identified by a pair: the transaction identifier txid and the output's index within that transaction. This reference is called an outpoint. The output record contains its amount in satoshis and scriptPubKey, the conditions for spending it. For a confirmed output, the node also keeps its creation block height and whether it came from a Coinbase Transaction, so it can check maturity and time restrictions. Knowing an address or outpoint lets you point to a record, not spend its money; you must still satisfy its conditions. [1] [2]
The confirmed UTXO set corresponds to a history ending at a particular block. A node can also take account of its mempool, the waiting area for unconfirmed transactions: some known outputs are already being spent there, while new ones are being created. A reorganization, in which the network adopts another valid branch of history, can change the state too. Bitcoin Core provides gettxout for a technical check. Its include_mempool option determines whether pending transactions are counted. A null result merely means the output is not available as a UTXO in that view; it does not distinguish an output that never existed from one already spent. When comparing results, both the node's state and the way you query it matter. [3]
Spending a whole output
A wallet selects a 1 000 000 sat UTXO to pay 600 000 sat. If the fee is 1 500 sat, the transaction creates a 600 000 sat payment output and a 398 500 sat change output. The original UTXO is consumed completely.
For the clearest picture, read this entry together with Transaction, Full Node, Private Key, Wallet, Mempool. The reverse links also lead from Full Node, Transaction, Private Key, Wallet.
01Is a UTXO the same as a wallet balance?+
No. A UTXO is one specific output; a wallet calculates its balance from tracked outputs according to their state. The displayed total may not all be immediately spendable. The network tracks outputs and their spending conditions, not one mutable account balance.
02Why do many small UTXOs increase fees?+
Each selected input adds data. With comparable input types and other outputs, spending many small UTXOs takes more virtual bytes than spending one larger UTXO. At the same rate in sat/vB, you therefore usually pay a higher total fee.