What Is a UTXO?

A UTXO is a discrete, unspent chunk of cryptocurrency that transactions consume whole and replace with new outputs. This explains Bitcoin's accounting model, why there are no balances underneath, and where its constraints live.
Lewis Jackson
CEO and Founder

A UTXO — an unspent transaction output — is a discrete chunk of cryptocurrency that has been received in a past transaction and not yet spent. It's the basic accounting unit of Bitcoin and every chain built on the same model. Bitcoin doesn't track accounts, and it doesn't track balances. The blockchain records transactions, each of which consumes some existing UTXOs and creates new ones. Your "balance" is a derived number: the sum of every UTXO your keys can unlock.

Most confusion about Bitcoin transactions traces back to this one design decision. People assume the system works like a bank account — a number that goes up and down — because that's what wallet software shows them. The wallet is doing you a favor and telling you a small lie at the same time. Underneath, there is no number. There's a pile of separate, indivisible outputs, and understanding how that pile behaves explains fees, change addresses, why consolidating coins costs money, and why a transaction can't partially fail.

How the UTXO Model Works

The closest everyday analogy is cash. UTXOs behave like banknotes: you can't spend half a note. You hand over the whole thing and get change back. The analogy breaks in two places — banknotes come in fixed denominations while a UTXO can be any amount, and your change comes from your own transaction rather than from the counterparty's till — but the core intuition holds. Discrete objects, spent whole.

Here's the mechanism. A transaction lists inputs and outputs. Each input references a specific existing UTXO — identified by the transaction that created it and its position in that transaction's output list — and provides the proof needed to unlock it, usually a digital signature. Each output specifies an amount and a locking condition: a script defining what future proof will be required to spend it, which in the common case means "a signature from the key behind this address."

When the transaction confirms, the consumed UTXOs are gone permanently. They don't get marked "spent" and hang around; they leave the working set. The outputs the transaction created are the new UTXOs, sitting unspent until some future transaction consumes them in turn. Every coin in existence is, at any moment, exactly one unspent output somewhere in this set.

A concrete example. Say your wallet holds a single UTXO worth 0.5 BTC and you want to pay someone 0.1. Your wallet builds a transaction with one input (the 0.5 UTXO, entire) and two outputs: 0.1 to the recipient's address and roughly 0.3999 back to a fresh address you control — the change output. The missing 0.0001? That's the fee. Fees in the UTXO model are implicit: whatever value the inputs carry that the outputs don't claim goes to the miner. This is elegant and occasionally brutal. There have been well-documented incidents of wallets malfunctioning on the change output and turning most of a transaction into an accidental miner donation. The protocol doesn't know what you meant. It only knows inputs minus outputs.

One more piece matters: the UTXO set. Every full node maintains the complete collection of currently unspent outputs — well over a hundred million entries today. This set is Bitcoin's state, in the same sense that account balances are Ethereum's state. Validating a new transaction means checking that each input references an output actually present in the set, that the unlocking proofs satisfy the locking scripts, and that outputs don't exceed inputs. Nothing else about history needs to be consulted. That's why the set has to live in fast storage, and why its size is a live engineering concern — more on that below.

UTXO vs the Account Model

Ethereum and most smart-contract chains use accounts instead: persistent entities with balances that transactions mutate directly, with a per-account counter (the nonce) to order them. Neither model is simply better. They trade different things.

The UTXO model gets you structural double-spend prevention — each output is spendable exactly once, so there's no need for nonces or ordering rules per user — and natural parallelism, since transactions touching disjoint outputs don't interact at all and can be validated independently. It also nudges users toward privacy: because change goes to fresh addresses, activity fragments across many addresses by default, though chain-analysis firms cluster related outputs well enough that this is a speed bump, not a wall.

The account model gets you expressiveness. Smart contracts want persistent, shared, mutable state — a lending pool's balance, an AMM's reserves — and accounts represent that directly. Doing the same in a UTXO system is awkward, which is why Bitcoin's script system is deliberately limited and why chains like Cardano had to extend the model (their eUTXO design attaches data and validation logic to outputs) to support contracts at all. The cost of the account model is that shared mutable state serializes execution and creates the contention that makes things like MEV more acute.

Where the Constraints Live

The hard constraints are consensus rules: inputs must exist in the UTXO set, scripts must validate, no output value from thin air. These are enforced by every validating node and don't depend on anyone's goodwill.

The soft constraints are economic, and they mostly concern the size and shape of the UTXO set. Every output created and never spent is an entry every full node carries forever. Dust — outputs so small that the fee to spend them exceeds their value — is the pathological case: economically unspendable, practically permanent. And because fees are priced by transaction size rather than value, a wallet holding many small UTXOs pays much more to move its funds than one holding a few large ones. Wallets handle this through coin selection — choosing which UTXOs to combine for a payment — which is a genuinely hard optimization with fee, privacy, and dust tradeoffs pulling in different directions. Consolidating small outputs during low-fee periods is standard hygiene for anyone operating at scale.

What's Changing

The core mechanism hasn't changed since 2009, and that stability is the point. What's shifted is at the edges. SegWit (2017) restructured where unlocking proofs live; Taproot (2021) changed what locking scripts can express. Neither touched the consume-and-create accounting.

The documented pressure is set growth: the inscriptions wave that began in 2023 minted enormous numbers of tiny outputs, and the UTXO set roughly doubled in a couple of years. In response, research like Utreexo — replacing the full set with a compact cryptographic accumulator so nodes wouldn't need to store every entry — has moved from paper to working implementations, though it remains outside mainline production use. That one is early and unresolved.

What Would Confirm This Direction

The model's durability thesis is confirmed by boring outcomes: full nodes remaining runnable on modest hardware despite set growth, consolidation and dust-limit policy absorbing the bloat, and accumulator designs like Utreexo reaching production without consensus changes.

What Would Break or Invalidate It

UTXO-set growth outrunning consumer hardware — pushing full validation toward data-center operators — would break the decentralization property the model exists to serve, even with the accounting intact. A validated double-spend would break far more than the accounting model. And if expressive-contract chains absorbed nearly all economic activity, the model wouldn't be wrong, just increasingly beside the point. Those are different failures, and it's worth keeping them separate.

Timing Perspective

Now: none of this requires action — but fees, change outputs, and consolidation costs affect anyone transacting on Bitcoin today, and they only make sense through the UTXO lens. Next: UTXO-set growth and whether node resource requirements stay flat; watch dust policy debates. Later: Utreexo-style stateless validation, and whether eUTXO systems demonstrate contract expressiveness at meaningful scale.

Boundary Statement

This post explains an accounting model. It is not a recommendation to use any particular chain, a claim that one model is universally better, or tax guidance — even though UTXOs often map neatly onto tax lots, that treatment varies by jurisdiction and is out of scope. The mechanism works as described; what it's worth depends on what you need a ledger to do.

Related Posts

See All
Crypto Research
New XRP-Focused Research Defining the “Velocity Threshold” for Global Settlement and Liquidity
A lot of people looking at my recent research have asked the same question: “Surely Ripple already understands all of this. So what does that mean for XRP?” That question is completely valid — and it turns out it’s the right question to ask. This research breaks down why XRP is unlikely to be the internal settlement asset of CBDC shared ledgers or unified bank platforms, and why that doesn’t mean XRP is irrelevant. Instead, it explains where XRP realistically fits in the system banks are actually building: at the seams, where different rulebooks, platforms, and networks still need to connect. Using liquidity math, system design, and real-world settlement mechanics, this piece explains: why most value settles inside venues, not through bridges why XRP’s role is narrower but more precise than most narratives suggest how velocity (refresh interval) determines whether XRP creates scarcity or just throughput and why Ripple’s strategy makes more sense once you stop assuming XRP must be “the core of everything” This isn’t a bullish or bearish take — it’s a structural one. If you want to understand XRP beyond hype and price targets, this is the question you need to grapple with.
Read Now
Crypto Research
The Jackson Liquidity Framework - Announcement
Lewis Jackson Ventures announces the release of the Jackson Liquidity Framework — the first quantitative, regulator-aligned model for liquidity sizing in AMM-based settlement systems, CBDC corridors, and tokenised financial infrastructures. Developed using advanced stochastic simulations and grounded in Basel III and PFMI principles, the framework provides a missing methodology for determining how much liquidity prefunded AMM pools actually require under real-world flow conditions.
Read Now
Crypto Research
Banks, Stablecoins, and Tokenized Assets
In Episode 011 of The Macro, crypto analyst Lewis Jackson unpacks a pivotal week in global finance — one marked by record growth in tokenized assets, expanding stablecoin adoption across emerging markets, and major institutions deepening their blockchain commitments. This research brief summarises Jackson’s key findings, from tokenized deposits to institutional RWA chains and AI-driven compliance, and explains how these developments signal a maturing, multi-rail settlement architecture spanning Ethereum, XRPL, stablecoin networks, and new interoperability layers.Taken together, this episode marks a structural shift toward programmable finance, instant settlement, and tokenized real-world assets at global scale.
Read Now

Related Posts

See All
No items found.
Lewsletter

Weekly notes on what I’m seeing

A personal letter I send straight to your inbox —reflections on crypto, wealth, time and life.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.