BitcoinDatabase.com
All posts
Guides

What Is a UTXO? The Unspent Transaction Output, Explained

What is a UTXO: an unspent transaction output, the discrete chunk of bitcoin a past transaction paid to an address and that has not yet been spent. How the UTXO model works, why your balance is a pile of UTXOs, and how it differs from an account balance.

By the BitcoinDatabase team

July 2026 · 8 min read

The short answer

A UTXO is an unspent transaction output: a discrete chunk of bitcoin that a past transaction paid to an address and that has not yet been spent. Bitcoin has no running balances the way a bank account does. Instead, your wallet holds a set of UTXOs, and your balance is simply their sum. When you spend, you consume whole UTXOs as inputs and create new ones as outputs, including any change back to yourself. That model is what makes Bitcoin auditable to the satoshi: every coin traces back through an unbroken chain of outputs to the block that minted it.

UTXO stands for Unspent Transaction Output, and it is the single most important concept for understanding how Bitcoin actually moves money. Once it clicks, coin control, transaction fees, change addresses and why a wallet sometimes needs many inputs all make sense.

What does UTXO mean?

UTXO means an output of a past transaction that has not been used as an input to a later one, so it is still spendable. Every Bitcoin transaction takes existing outputs and spends them, creating fresh outputs that sit on the chain waiting to be spent in turn. An output stays a UTXO until someone references it as an input. At that moment it is consumed in full and stops existing as spendable value. The whole set of UTXOs across every address is called the UTXO set, and it is what full nodes track to know, at any instant, exactly which coins can be spent.

How does the UTXO model work?

The UTXO model works like handing over cash rather than adjusting a running tally. Suppose you receive 0.5 BTC in one transaction and 0.3 BTC in another. You now hold two UTXOs worth 0.5 and 0.3. To pay someone 0.6 BTC, your wallet cannot split a UTXO in place, so it spends both (0.8 BTC of inputs), sends 0.6 to the recipient as one new output, and sends roughly 0.2 back to you as a change output, minus the fee. Those two original UTXOs are now spent and gone; two new ones exist in their place. Every payment is a fresh reshuffling of discrete coins, not an edit to a balance field.

Step What happens to UTXOs
You get paid A new UTXO is created at your address for the amount received
You spend One or more of your UTXOs are consumed in full as inputs
Recipient is paid A new UTXO is created at their address
Change returns A new UTXO comes back to your change address for the remainder

Why is my balance a set of UTXOs?

Your balance is a set of UTXOs because Bitcoin never stores a number that says how much an address holds. A wallet computes your balance by finding every unspent output that pays to your addresses and adding them up. This is why the same balance can behave very differently: 1 BTC held as a single UTXO is cheaper to spend than 1 BTC scattered across a thousand tiny UTXOs, because each input you include makes the transaction larger and therefore costs more in fees. Managing which coins you hold, sometimes called coin control or UTXO consolidation, is a real part of running a wallet efficiently, and the smallest outputs of all are called dust when they cost more to spend than they hold. To see the exact set of unspent outputs behind any address, you can query Bitcoin UTXO data directly rather than reconstruct it from transaction history.

UTXO model vs account model

The UTXO model and the account model are two different ways to represent ownership on a blockchain. Bitcoin uses UTXOs; Ethereum and most smart-contract chains use accounts with running balances. In the account model, a transaction simply debits one balance and credits another, like a database update. In the UTXO model, there are no balances to edit, only outputs to spend and create. Each approach has trade-offs, and the difference is not academic when you build software against either chain.

Aspect UTXO model (Bitcoin) Account model (Ethereum)
Balance Sum of unspent outputs A stored number per account
A payment Consume UTXOs, create new ones Debit sender, credit receiver
Privacy New addresses per output are easy Reused account addresses are common
Parallelism Independent outputs verify in parallel Sequential nonce per account

What is the difference between a UTXO and a coin?

A UTXO is a coin in the way Bitcoin defines one: there is no such thing as a whole indivisible bitcoin sitting in your wallet, only outputs of varying sizes. People say "coin" loosely, but every spendable unit on the chain is a UTXO with a specific value, a locking script that says who can spend it, and a location (the transaction that created it and the output index within it). When you hear that Bitcoin is like digital cash, the UTXO is the bill or coin: a fixed-denomination object you either spend whole or break into change.

Why the UTXO model matters for fees and taxes

The UTXO model matters for fees because transaction size, and therefore cost, depends on how many inputs you spend, not on the amount you send. Sending a large payment from one big UTXO can be cheaper than sending a small one assembled from many dust outputs. It also matters for accounting: because each UTXO can be acquired at a different price and on a different date, spending it can be a separate tax lot with its own cost basis. Anyone reporting gains has to track which specific coins were disposed of, and keeping a clean record of that is its own chore that a good income and earnings tracker can take off your plate. On the data side, reconstructing precise cost basis starts with pulling the exact inputs and outputs of every transaction, which is a straight query against indexed chain data.

How do you look up UTXOs for an address?

You look up UTXOs for an address by querying the chain for every output paid to it that has not been spent. Doing this from a raw node means scanning and maintaining the full UTXO set yourself. An indexed data service does it in one call: give it an address and it returns each unspent output with its value, the transaction that created it and the confirmation count, so you can total the balance or select coins to spend. If you are building a wallet or reconciliation tool, an address lookup that returns balance, history and UTXOs together saves you from stitching the picture from raw transactions, and a broader Bitcoin data provider gives you the same over REST, SQL and dashboards.

The UTXO is the atom of Bitcoin. Your balance is a pile of them, every payment reshuffles them, and every fee and cost-basis question traces back to which specific outputs you spent. Understand the UTXO and the rest of the chain stops being a mystery.

Query Console
btc
try:

Hit Run to query the fully-indexed Bitcoin blockchain.

BTC

30-day trend

informational on-chain data · not financial advice

REST API · SQL · dashboards, one indexed dataset. Querying the indexed Bitcoin blockchain ...

Query the Bitcoin blockchain yourself

Pull balances, UTXOs, transactions, on-chain metrics and fund flows from the fully indexed Bitcoin blockchain by REST API, SQL and dashboards. Indexed since 2009, new blocks within seconds, no node to run.

Query the whole Bitcoin blockchain

BitcoinDatabase indexes the public Bitcoin blockchain block by block and returns balances, UTXOs, transactions, on-chain metrics and fund flows by REST API, SQL and dashboards, with no node to run.

REST + SQL + dashboards · indexed since 2009 · new blocks within seconds

Informational on-chain data only · not financial, investment or legal advice · AML features are compliance tooling to support your own review.