# Bitcoin UTXO Set Size: Unspent Outputs and Dust

> Bitcoin UTXO set size by day: unspent output count, serialized size, outputs created and spent, dust-sized outputs and script types, read from a full node.

Markdown copy of https://voltfincrypto.com/apps/bitcoin-utxo-set-size

**Question:** How large is Bitcoin's UTXO set, and what is making it grow?

- Kind: Dashboard in Voltfin Vantage
- Topic: [Bitcoin](https://voltfincrypto.com/topics/bitcoin)
- Chains: Bitcoin
- Status: Planned. The data is not published yet, so this page states no figure; each figure will open its receipt when it is.

Every full node keeps the UTXO set, the list of all unspent transaction outputs, because it must check that each new transaction spends coins that exist. The bigger the set, the more memory and disk a node needs and the longer it takes to validate. This dashboard reads the set at each day's last block: how many outputs it holds, how much space they take and how they split by script type and value.

The set grows when transactions create more outputs than they spend. Inscription, BRC-20 and runes activity since 2023 has created many small outputs, and some data protocols embed data in fake public keys that can never be spent, so those outputs stay in the set for good. Dust-sized outputs, worth less than it costs to spend them, are shown on their own, since they are the part least likely ever to leave.

## Blueprint

### The set

How big the UTXO set is today and how it splits by script type.

- **Unspent outputs** (count): Outputs in the UTXO set at the latest day's last block.
- **Set size** (GB): Serialized size of the UTXO set at the latest day's last block, as a full node reports it.
- **Dust-sized outputs** (count): Unspent outputs below the default dust threshold for their script type.
- **Change, 30 days** (count): Unspent outputs now minus the count at the last block thirty days earlier.
- **Unspent outputs by script type** (count): Outputs in the set at each day's last block, split into P2PKH, P2SH, P2WPKH, P2WSH, P2TR, bare multisig and other.

### Growth and dust

Outputs created and spent each day, and the small outputs that stay.

- **Outputs created, latest day** (count): Spendable outputs created by transactions in the latest complete day, OP_RETURN outputs left out.
- **Outputs spent, latest day** (count): Outputs spent as inputs by transactions in the latest complete day.
- **Bare multisig outputs** (count): Unspent bare multisig outputs, the form some data protocols use to embed data that is never spent.
- **Dust share of the set** (%): Dust-sized outputs as a share of all outputs in the set at the latest day's last block.
- **Unspent outputs by value band** (count): Outputs in the set grouped by value, from dust-sized to the largest, at the latest day's last block.

Filters: Period (Last 90 days, the last year or since 2009).

## How it will be measured

- Set size comes from the UTXO set at each day's last block: the count of unspent outputs, their total value and their serialized size, as a full node reports them.
- Outputs are classed by script type (P2PKH, P2SH, P2WPKH, P2WSH, P2TR, bare multisig and other) and by value band.
- Dust-sized outputs are those below Bitcoin Core's default dust threshold for their script type: the value at which spending an output would cost more than it holds at the dust relay fee rate.
- Outputs created and spent per day are counted from every transaction, so the daily change in the set equals outputs created minus outputs spent.

## Data it needs

- `bitcoin_supply_daily` (to build): Bitcoin issued, supply by coin age band and by output script type (including coins whose public keys are already exposed), supply last moved long ago, and cost-basis measures.
- `chain_activity_daily` (to build): Transactions, active sending addresses, new addresses, contracts created and gas used on each chain per day, counted from blocks and transactions.
- `bitcoin_inscriptions_daily` (to build): Inscriptions, rune etchings and mints, BRC-20 transfers, and the fees they paid per day.
- `bitcoin_network_daily` (to build): Blocks, hashrate implied by difficulty, difficulty, fees, transaction counts, block weight and miner revenue (subsidy plus fees) per day.
- Source: The UTXO set at each day's last block: count, total value and serialized size
- Source: Script type and value of every unspent output
- Source: Outputs created and spent in every transaction
- Source: Bare multisig outputs used by data protocols, classed by their key patterns

## Questions

### What is the UTXO set?

The list of every unspent transaction output on Bitcoin, which together make up all spendable bitcoin. Every full node keeps it so it can check that new transactions spend coins that really exist.

### Why does UTXO set size matter?

Nodes keep the set on disk and partly in memory to validate blocks quickly. A larger set makes running a node more demanding, which is why changes that add many small or unspendable outputs draw attention.

### What are dust outputs?

Outputs so small that spending them would cost more in fees than they are worth at a low fee rate. Wallets rarely spend them, so they tend to stay in the set; this page counts them by script type.

### Do OP_RETURN outputs add to the UTXO set?

No. OP_RETURN outputs are provably unspendable, so nodes leave them out of the set. Data hidden in fake public keys inside spendable-looking outputs does stay in the set, which is one reason the OP_RETURN debate keeps returning to UTXO growth.

### Does a smaller UTXO set mean less activity?

Not necessarily. Consolidations, where a wallet merges many outputs into one, shrink the set while activity stays high. The created and spent counts show which way each day went.

## Glossary

- **UTXO**: An unspent transaction output: a piece of bitcoin that can be spent by whoever holds its key.
- **Dust**: An output worth less than the fee needed to spend it at a low fee rate.
- **Consolidation**: A transaction that merges many small outputs into fewer, larger ones, shrinking the UTXO set.

## Related apps

- [Bitcoin OP_RETURN Usage After Bitcoin Core v30](https://voltfincrypto.com/apps/bitcoin-op-return-usage)
- [Bitcoin Ordinals, Runes and BRC-20 Activity](https://voltfincrypto.com/apps/bitcoin-ordinals-runes-activity)
- [Bitcoin Daily Transactions, Active Addresses and Block Space](https://voltfincrypto.com/apps/bitcoin-transactions-active-addresses)
- [How Many Bitcoin Addresses Hold 1 BTC: Balance Distribution](https://voltfincrypto.com/apps/bitcoin-address-balance-distribution)
- [Bitcoin HODL Waves: Supply by Coin Age Band](https://voltfincrypto.com/apps/bitcoin-hodl-waves)
- [Bitcoin Halving Countdown and Block Reward](https://voltfincrypto.com/apps/bitcoin-halving-countdown)

Build it in Voltfin Studio: https://app.voltfincrypto.com/signup?next=%2F
