Zelcore
Z
Zelcore TeamMulti-Asset Crypto Wallet & Web3 Ecosystem

UTXOs Explained: How Bitcoin Tracks Balances Without Accounts

7 min read
UTXOs Explained: How Bitcoin Tracks Balances Without Accounts

Open a banking app and you see one number: your balance. Open a Bitcoin wallet and you also see one number — but under the hood, there is no balance at all. There is a pile of digital coins of irregular sizes, and your wallet is quietly adding them up for you.

That pile is the UTXO set, and understanding it is the single biggest step from "Bitcoin user" to "Bitcoin literate." The bitcoin utxo model explains why your wallet sometimes needs to send "change" to itself, why fees depend on how you received your coins, and why privacy leaks happen even when addresses look random. If you followed Part 1 on Bitcoin's halving and supply schedule, you already know where new bitcoin comes from. This guide shows how those coins actually move.

Accounts vs. unspent outputs

Most financial systems use an account model. Your bank keeps a row with your name and a running total. When you pay someone, the bank subtracts from your row and adds to theirs. The balance is the primary object; transactions are just edits to it.

Bitcoin flips that around. There is no row with your name on it. Instead, the network tracks a giant, ever-changing set of unspent transaction outputs — UTXOs. Each UTXO is a chunk of bitcoin of a specific size, locked to a specific address, created by some earlier transaction. Your "balance" is simply the sum of every UTXO your wallet can unlock.

Think of it as the difference between a bank passbook (one number, edited over time) and a coin purse (many individual coins, each with its own history). Bitcoin is the coin purse.

To see why this matters, it helps to know what a transaction actually looks like on-chain. We covered the basic structure in how a blockchain transaction works; here we zoom in on the inputs and outputs.

Anatomy of a Bitcoin transaction

Every Bitcoin transaction has two sides:

Three rules tie them together:

  1. Every input must point to a UTXO that has not already been spent.
  2. The sender must produce a valid signature for each input (this is where public and private keys come in — the private key signs, the public key verifies).
  3. The total value of inputs must be greater than or equal to the total value of outputs. Any difference is the miner fee.

When the transaction confirms, every input UTXO is destroyed — marked as spent — and every output UTXO is created. UTXOs are single-use. They are never "partially" spent and never modified. You consume whole coins and mint new ones.

A worked example: Alice pays Bob

Numbers make this concrete. Say Alice's wallet holds three UTXOs:

Her wallet displays 0.58 BTC. She wants to send 0.3 BTC to Bob and is willing to pay a 0.001 BTC network fee.

Her wallet picks inputs that cover the amount. The 0.25 alone is not enough. The 0.15 + 0.18 = 0.33 BTC combination works, so the wallet selects those two UTXOs as inputs.

Now it builds the outputs. Bob needs 0.3 BTC. The inputs total 0.33. The fee is 0.001. That leaves 0.33 − 0.3 − 0.001 = 0.029 BTC left over. This is the change, and the wallet sends it back to a new address Alice controls.

The final transaction:

After it confirms, Alice's original 0.15 and 0.18 UTXOs are gone. She now has two UTXOs: the untouched 0.25 and the new 0.029 change output. Her new balance is 0.25 + 0.029 = 0.279 BTC, exactly what you would expect from 0.58 − 0.3 − 0.001.

Notice what happened: Alice never "edited" a balance. She destroyed two coins and minted two new ones. The ledger only ever appends.

Why change outputs exist

The change output trips up newcomers. "Why did my wallet send money to itself?" Because UTXOs are indivisible at spend time. If your smallest combination of inputs overshoots the amount you want to send, the excess has to go somewhere — and the only safe destination is back to you.

Well-built wallets generate a fresh address for every change output. This is a privacy feature: it keeps observers from trivially linking all your UTXOs to one identity. Old-style wallets that reused a single address gave up a lot of privacy for no real benefit.

If a wallet ever asks you to manually set a change address, that is a red flag. Modern wallets handle this automatically, and getting it wrong can send your change to a stranger or, worse, burn it as an oversized fee.

Why the UTXO model matters in practice

The model is not just trivia. It shows up in three places every user eventually notices.

Fees scale with inputs, not amount. Transaction size on the blockchain is measured in bytes, and each input adds bytes. Sending 1 BTC made of one large UTXO is cheaper than sending 1 BTC made of fifty dust-sized UTXOs, even though the amount is identical. If you receive lots of tiny payments, your future send fees will be higher. This is why crypto transaction fees depend on more than just network congestion.

Privacy is UTXO-level, not address-level. When a transaction spends two inputs, the network learns that whoever controlled input A also controlled input B. This is called a common-input heuristic, and it is how blockchain analysts cluster addresses into wallets. Using a new address for every receipt helps, but if those UTXOs are later combined, the link becomes visible.

Coin control is a real tool. Advanced wallets let you pick exactly which UTXOs to spend. If you received coins from two separate sources and want to keep them unlinked, coin control keeps them in separate transactions. Most users never need this, but it exists because the model makes it possible.

How to hold it in Zelcore

Zelcore is a non-custodial multi-asset wallet, which means your Bitcoin UTXOs live under keys only you control. When you view your Bitcoin balance in Zelcore, the app is scanning the blockchain for every UTXO locked to your addresses and summing them up — the same calculation your wallet did for Alice above.

A few practical notes:

We cover the full custody workflow — seed storage, passphrases, multi-device setup — in Part 6 of this series. For now, the one rule that matters: if you can restore your wallet on a fresh device from your seed phrase alone, your UTXOs are safe.

Key takeaways


Further Reading

What Is a Blockchain, Really?

What Is a Blockchain, Really?

Strips away the hype to explain a blockchain as a shared ledger that no single party controls, using a simple analogy of a public notice board that everyone can read but no one can secretly erase.

5 min read
How Blocks and Chains Actually Work

How Blocks and Chains Actually Work

Walks through exactly what data lives inside a block, why each block references the one before it via a cryptographic hash, and why tampering with one block would visibly break the entire chain.

6 min read
Who Keeps the Ledger? Understanding Nodes and Decentralisation

Who Keeps the Ledger? Understanding Nodes and Decentralisation

Explains what a node is, why thousands of them independently store the same data, and why that redundancy makes the network resistant to shutdown or manipulation.

7 min read

Join Our Newsletter

Get a friendly update from us once a month. No spam, just the latest from Zelcore.

Join Our Newsletter