A UTXO is a coin, not a balance
Your bank keeps one number for you and edits it. Bitcoin Cash does not. It keeps a pile of separate coins, and each coin is locked to whoever holds the right key. Each coin is a UTXO: an output of some earlier transaction that nobody has spent yet. Your wallet "balance" is only the sum of the coins your keys can open.
Spending melts coins and mints new ones
A coin is always spent whole. Say you hold a 5 BCH coin and pay someone 3 BCH. Your transaction consumes the 5 BCH coin as an input and creates two outputs: 3 BCH locked to the payee, and about 2 BCH back to you as change. The old coin no longer exists. The two new ones join the UTXO set.
The outputs add up to a little less than the inputs. That gap is the fee, and the miner who puts the transaction in a block collects it. On Bitcoin Cash it is usually about a satoshi per byte: a fraction of a cent.
Every coin has a family tree
Each input points at the exact output it spends, so every coin links back to its parents, and theirs, all the way to a coinbase: the transaction in which a miner created new coins as the block reward. That is what "Follow a coin" walks. Some trails end a few steps back. Others run through years of sleep and cross the August 2017 split, when BCH and BTC still shared one ledger.
Why Bitcoin Cash uses UTXOs
- Parallel checks. Coins are independent, so a node can validate many transactions at once.
- No shared state to drain. A transaction spends specific coins, or it fails. There is no contract balance for a bug to empty.
- Tokens ride along. CashTokens live inside outputs too, so a token moves under the same rules and the same signatures as BCH.
- Better privacy by default. Wallets can use a fresh address for each coin, instead of one account that shows every payment.
The trade-off is that wallets must choose which coins to spend, and many tiny coins make larger transactions. See the glossary for the terms and the wallet chooser for wallets that handle it for you.