Analysing the UTXO set

Artem Lazarev
Whalemap
Published in
3 min readNov 2, 2023

--

What is the UTXO set?

A UTXO set is the full set of infortmation about all Bitcoins currently in circulation

Well if you read the first article you might have an idea already. The way I like to imagine it, is a large table containing all information about all the bitcoins on the blockchain.

more cool transactions here: https://news.bitcoin.com/eight-historic-bitcoin-transactions/

For each UTXO the following (useful) info is stored by the blockchain:

  • Date and time when it was received by the wallet
  • Wallet address to which this UTXO belongs (about >48,000,000 unique non-zero balance wallets currently [1])
  • Value (in BTC terms)

This is it. However, you can make a plethora of charts and useful analytics out of this.

For example, some derivative metrics that you can get out of the above would be

  • Date and time → price at which UTXO was received
  • Date and time → How long have a particular wallet been holding a UTXO (utxo age)
  • Wallet address to which this UTXO belongs → balance of a particular wallet

Taking the above info into account we can get this:

The analysis part

This is where the creative process starts — we can look at the above data and distill a lot of insight from it by looking at it from different angles.

For example we can:

  1. Combine Value+Price column and get the average weighted price at which all bitcoins in existence were obtained by all wallets on the blockchain, i.e. realised price
  2. We can find out what is the total balance of all wallets with balance >10,000BTC (supply belonging to whales), find what is total sum of values of all utxos (circulating supply) and divide the two to get % of supply that belongs to whales, i.e. address waves
  3. We can also find out what UTXOs belong to whales (wallets with balance>10,000) and find realised price only for those UTXOs (realised price of whale cohort). More details here [2]
  4. We can plot a histogram of ages of UTXOs as well. This will be similar to HODL waves. To get to HODL waves you would have to choose categories of ages (>10y, 7–10y, etc), find the supply of BTC that belongs to each category and get that supply as a % of circulating supply.

In 4 points above, by looking at the same dataset we were able to come up with 7 charts already:

🐙 Realised price

🦑 Supply belonging to whales

🦐 Circulating supply

🦞 Address waves

🦀 Realised price of whale cohort

🐡 Histogram of ages of UTXOs

🐠 HODL waves

QA: Comment your suggestion below how we can look at the UTXO set at a different angle

Final (short) part

The UTXO set exists at every block. Hence we can analyse the UTXO set at every block. This way we can find out what was realised price in block 0, block 170, block 57043, block 737175 and plot a line chart of realised price!

Realised price (blue) and Bitcoin price (white) over the entire history of BTC

…continue exploring whale analytics in part 3 here

References

[1] https://app.whalemap.io/analytics/BTC/NOAD?token=BTC&indicator=NOAD&r=1d&scale=log&cohort=from0_to01&priceFrom=2011-01-01T00%3A00&from=2011-01-01T00%3A00&to=default

[2] https://medium.com/whale-map/introducing-cohort-based-on-chain-analysis-part-1-realised-price-c06183874059

--

--

Artem Lazarev
Whalemap

Co-founder @ Whalemap. Bootstrapping tryoval.xyz. Prev Physics @ Imperial College London.