Dashboard · VantagePlanned

Bitcoin UTXO Set Size: Unspent Outputs and Dust

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

How many unspent outputs every Bitcoin node must keep, how much space they take, which script types they use and how many are dust-sized.

ShareEmail itvoltfincrypto.com/apps/bitcoin-utxo-set-size
Blueprint

What the dashboard will show.

The dashboard as it will open in Vantage. Each figure is named here and arrives with its receipt; until its data is published, its place stays empty.

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.

Figurebitcoin_supply_dailyAwaiting data

Set size

GB

Serialized size of the UTXO set at the latest day's last block, as a full node reports it.

Figurebitcoin_supply_dailyAwaiting data

Dust-sized outputs

count

Unspent outputs below the default dust threshold for their script type.

Figurebitcoin_supply_dailyAwaiting data

Change, 30 days

count

Unspent outputs now minus the count at the last block thirty days earlier.

Figurebitcoin_supply_dailyAwaiting data

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.

Stacked areabitcoin_supply_dailyAwaiting data

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.

Figurechain_activity_dailyAwaiting data

Outputs spent, latest day

count

Outputs spent as inputs by transactions in the latest complete day.

Figurechain_activity_dailyAwaiting data

Bare multisig outputs

count

Unspent bare multisig outputs, the form some data protocols use to embed data that is never spent.

Figurebitcoin_supply_dailyAwaiting data

Dust share of the set

%

Dust-sized outputs as a share of all outputs in the set at the latest day's last block.

Figurebitcoin_supply_dailyAwaiting data

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.

Bar chartbitcoin_supply_dailyAwaiting data

Period
Last 90 days, the last year or since 2009
About

What it answers, and for whom.

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.

Method

How it will be measured.

Every figure will be read at a block, kept with its source and its exact read, and open a receipt anyone can re-check.

How receipts work →
  1. 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.
  2. Outputs are classed by script type (P2PKH, P2SH, P2WPKH, P2WSH, P2TR, bare multisig and other) and by value band.
  3. 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.
  4. Outputs created and spent per day are counted from every transaction, so the daily change in the set equals outputs created minus outputs spent.

The data it needs

Read from chain state and history

  • bitcoin_supply_dailyTo buildBitcoin supply and holding ageBitcoin 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_dailyTo buildChain activity by dayTransactions, active sending addresses, new addresses, contracts created and gas used on each chain per day, counted from blocks and transactions.
  • bitcoin_inscriptions_dailyTo buildOrdinals, runes and BRC-20Inscriptions, rune etchings and mints, BRC-20 transfers, and the fees they paid per day.
  • bitcoin_network_dailyTo buildBitcoin network by dayBlocks, hashrate implied by difficulty, difficulty, fees, transaction counts, block weight and miner revenue (subsidy plus fees) per day.
  • The UTXO set at each day's last block: count, total value and serialized size
  • Script type and value of every unspent output
  • Outputs created and spent in every transaction
  • Bare multisig outputs used by data protocols, classed by their key patterns
Questions

Questions people ask.

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.

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.

Build Bitcoin UTXO Set Size: Unspent Outputs and Dust on verified data.

Start free in Voltfin Studio: boards, tables and reports where every number opens its receipt. Tell us which data you need first and we will build it next.