On-chain · Profit and loss

NUPL (Adaptive), explained

How much of Bitcoin's market value is an unrealized gain, as a single number. How NUPL is worked out, why the fixed levels stopped fitting, how the overheated and value lines adapt to the last three and a half years, and what it can and cannot tell you.

By Menno van Ravels, Founder of Blockchain DecodedUpdated 1 October 20267 min readFree to read
Measures
NUPL

the share of market value that is an unrealized gain

Lines
10th · 90th

percentile lines over a trailing 3.5 years

History from
2012

daily, Bitcoin only

Updated
Daily

each day adds the previous day's reading

NUPL = (MARKET CAP −REALIZED CAP) ÷ MARKET CAPthe share of market value thatis an unrealized gainTIME →CLASSIC 0.7OVERHEATED LINEBREAKEVEN, 0VALUE LINECLASSIC -0.15
Schematic. Made-up values to show how the lines relate, not live data
01

What is NUPL?

Every coin was last moved at some price. If today’s price is higher, that coin holds an unrealized gain. If it is lower, it holds an unrealized loss. NUPL adds all of those up and expresses the total as a share of Bitcoin’s market value.

It is a single number for how much of the market’s value is paper profit. Above zero, the average coin is worth more than the price it last moved at. Below zero, it is worth less.

02

How the line is worked out

Each day we take the market cap and subtract the realized cap, which values every coin at the price on the day it last moved. We divide the result by the market cap. The answer can never go above 1, and it falls below zero when the market is worth less than what its coins last cost.

NUPL is drawn on the left axis, with Bitcoin’s price on the right. You can set the price scale to linear or log. The data is computed daily by Blockchain Decoded from the public Bitcoin blockchain, and the chart starts in 2012.

03

The classic levels, and why they stopped fitting

Two fixed levels are widely published: 0.7 for euphoria and -0.15 for capitulation. Measured on our own data, NUPL’s cycle tops have fallen every cycle: 0.869 in 2011, 0.837 in 2013, 0.796 in 2017, 0.747 in 2021 and 0.639 in 2024. The reading last reached 0.7 in April 2021, and the latest cycle peaked below it.

The lows were -0.76 in 2015, -0.44 in 2018, -0.14 in 2020 and -0.32 in 2022. The 2020 low never reached -0.15, so a fixed -0.15 line was never reached in the March 2020 crash. As Bitcoin has grown into a larger market, swings away from the average cost basis have generally been smaller, so a level fitted to one era misses the next.

04

The overheated and value lines

So this chart draws lines that move. The overheated line is the 90th percentile of NUPL over the last three and a half years, and the value line is the 10th. They are recomputed every day using only data up to that day, so a past line is never redrawn with hindsight.

By construction the reading sits beyond each line on roughly one day in ten, so being beyond a line is not rare, and it does not tag every turn. Because the lines follow recent history, the value line can sit above zero. That is not an error: it means the reading is low for this era even while holders are in aggregate profit.

The chart also shades the days on which the reading sits at or beyond a line: blue at or below the value line, red at or above the overheated line. The shading follows the moving lines, so it describes where the reading has sat against its own recent past and nothing more.

05

The Risk Level

Next to the chart is a Risk Level from 0 to 100. It is our own scaling and not part of the original indicator. The lowest reading of the last three and a half years maps to 0, the value line to 20, the overheated line to 80 and the highest reading to 100, along straight lines in between. A reading on the overheated line reads 80, and one on the value line reads 20.

It rescales the same reading and adds nothing new, and it is not an input to either Heatmeter. The zone names on the chart, value, neutral and overheated, only say which side of those two lines the reading sits on.

06

What the chart does not tell you

A profit-and-loss reading feels like a verdict, which is when it is easiest to over-read. Five things to keep in view.

The lines are relative to the last three and a half years

The overheated and value lines come from the chart's own recent readings, so they say how extreme a reading is for this era, not whether holders are in profit or loss. When holders have been in profit for most of the last 3.5 years, the value line itself can sit above zero, and a reading on it is low for this era while holders are still in aggregate profit.

The lines do not tag every turn

On our data the reading sits beyond each line on roughly one day in ten, and being beyond a line says little on its own. At the peak of the 2024 cycle the reading was 0.639, just under the overheated line at 0.645 on that day. A line is a reference for where the reading has sat, not a detector of turning points.

It counts every coin that moved

Realized cap values a coin at the price on the day it last moved. A coin that moves between two wallets of the same holder counts as a move, and a coin that is lost never moves at all. Adjusting for that is called entity adjustment, and this chart does not apply it, so it can read a little differently from versions that do.

The earliest readings are left out

The chart starts in 2012. In late 2011 the realized cap data was thin and the reading fell to implausible levels, below -1, so those months are not drawn. The lines still use every earlier day when they are worked out.

It describes unrealized profit and says nothing about timing

The reading can sit in a stretched or a cheap range for a long time before anything changes. It tells you how large the gain on the whole supply is compared with its own recent past, not when that changes.

NUPL shows how large the paper gain is. It cannot show when that changes.

An unrealized-profit reading describes where holders stand, not what happens next
07

Where it fits

This is an on-chain profit and loss chart. The other NUPL chart on the site, Supply in Profit and Loss, draws the fixed levels and has its own guide. This one is separate: it does not feed either Heatmeter. It is most useful next to MVRV and the other cost-basis charts, since they are built from the same two numbers, market cap and realized cap.

08

Common questions

What is NUPL?

Net Unrealized Profit and Loss. It takes Bitcoin's market cap, subtracts the realized cap, and divides by the market cap. The result is the share of Bitcoin's value that is an unrealized gain. Above zero the average coin is worth more than the price it last moved at, and below zero it is worth less.

What is realized cap?

Every coin valued at the price on the day it last moved, added together. It reads as an aggregate cost basis for the whole supply. Market cap values every coin at today's price.

What are the classic 0.7 and -0.15 levels?

The published fixed levels for this indicator, 0.7 for euphoria and -0.15 for capitulation. They can be switched on in the chart for comparison. They have fitted later cycles less well: the reading last reached 0.7 in April 2021, and the March 2020 low was -0.142, so it never reached -0.15.

What are the overheated and value lines?

The overheated line is the 90th percentile of NUPL over the last 3.5 years, and the value line is the 10th percentile. They are recomputed every day using only data up to that day, so a past line is never redrawn with hindsight.

What is the Risk Level next to the chart?

It is our own scaling of the reading onto 0 to 100. The lowest reading of the last 3.5 years maps to 0, the value line to 20, the overheated line to 80 and the highest reading to 100, along straight lines in between. A reading on the overheated line reads 80, and one on the value line reads 20. It is not an input to either Heatmeter.

How is this different from the other NUPL chart?

The other NUPL chart on the site is Supply in Profit and Loss. It draws the fixed levels and has its own guide. This one draws the adaptive lines and our own risk scaling, and is computed by Blockchain Decoded from the blockchain. They are separate charts.

How often does it update?

Once a day. Each day the series adds the previous day's reading, and the days already on the chart do not change.

Is this a buy or sell signal?

No. It describes how large the unrealized gain on Bitcoin's supply is compared with its own recent past. Readings near the lines have shown up around past cycle turns, but those are historical observations and not a guide to what happens next.

09

Related guides

Others in on-chain — What the blockchain itself says about holders, miners, and what people paid for their coins.

Every indicator we track — the full glossary.

Open the chart

Everything above is the method. On the chart you can read NUPL against the overheated and value lines, switch on the classic 0.7 and -0.15 levels for comparison, check the Risk Level, and set the price scale to linear or log.