Skip to content
NinjaTools
Menu

Reading guide · 7 min read

On-chain metrics in context: NUPL, MVRV, SOPR

Learn what NUPL, MVRV, SOPR, Mayer Multiple and Puell Multiple measure, and why thresholds from past cycles are not rules.

What on-chain valuation metrics measure

On-chain metrics use the public Bitcoin ledger. Every coin sits in an output. Each output has a creation date, and the market price on that date is known. Analysts combine these records with market prices to build valuation measures.

A normal price chart shows only the price at which trades happen now. On-chain metrics add a second view: the price at which coins last moved. This gives an estimate of what holders paid, not only what the market pays today.

Most of these metrics are ratios. They compare the current price with a cost level, or the profit of holders with a reference level. A ratio removes the long-term growth of the price. This lets you compare a reading from one year with a reading from another year.

A metric is a description, not a forecast. It states how the ledger and the price relate on a given day. The sections below define each metric before you look at any reading.

  • NUPL: net unrealized profit or loss as a share of market value.
  • MVRV: market value divided by realized value.
  • SOPR: profit ratio of the coins that moved on a given day.
  • Mayer Multiple: price divided by its 200-day moving average.
  • Puell Multiple: daily miner issuance value divided by its 365-day average.

Each metric answers a narrow question. None of them answers the question of what price will do next.

Realized value and cost basis

Market value is the current price times the coin supply. Realized value uses a different price for each coin. It values each coin at the price on the day the coin last moved.

Realized value is therefore an estimate of the total amount the network paid for its coins. Divide it by the supply and you get the realized price. The realized price is the average cost basis of all holders.

A cost basis is the price at which a holder acquired a coin. A holder with a cost basis below the current price has an unrealized profit. A holder with a cost basis above it has an unrealized loss. “Unrealized” means the holder has not sold.

The method has limits. A coin that moves between two wallets of the same owner looks like a sale at the new price. Lost coins stay in the data at their old cost basis. Exchange wallets pool coins from many owners. These effects add noise, and data providers handle them in different ways.

Because of these limits, two sites can show slightly different values for the same metric on the same day. A difference in method is not an error. Read the method note of the source before you compare numbers.

Realized value is a model of holder cost, built from ledger movements. It is not a survey of what people paid.

Holder cohorts: short-term and long-term

On-chain data lets you group coins by age. Age means the time since the coin last moved. The app uses 155 days as the boundary between the two groups.

Coins held for fewer than 155 days belong to short-term holders (STH). Coins held for 155 days or more belong to long-term holders (LTH). All STH and LTH charts in the app follow this rule.

Other data providers may use a different boundary. Compare cohort values across sources with care.

The split is useful because the two groups carry different cost bases. STH coins were bought recently, so their cost basis stays near recent prices. LTH coins were bought earlier, so their cost basis is often far from the current price. An STH cost basis is a reference for recent buyers. An LTH reading describes older holders.

Age is not identity. A coin that moves between wallets resets its age, even when the owner stays the same. The cohorts describe coins, not people.

A cohort is a rule applied to coin age. Read the rule before you read the chart.

NUPL and MVRV: two forms of one relationship

Net Unrealized Profit/Loss (NUPL) subtracts realized value from market value and divides the result by market value. It shows how large the unrealized profit of the network is compared with its market value. A negative value means market value is below realized value. Holders as a group sit at an unrealized loss.

MVRV is market value divided by realized value. A value above 1 means holders as a group sit in profit. A value below 1 means they sit at a loss. NUPL and MVRV use the same two inputs. They write the same relationship in two ways: MVRV as a ratio, NUPL as a share of market value.

The app also shows an STH version of MVRV. It compares the market price with the STH cost basis. Above 1, recent buyers are on average in profit. Below 1, they are on average at a loss.

These metrics describe how much profit is on the table. They do not say how holders will act. A holder with a large unrealized profit may sell or may hold. The metric cannot separate the two cases.

NUPL and MVRV are not independent of each other. Treat them as one view, not as two confirmations.

SOPR: profit on the coins that moved

Spent Output Profit Ratio (SOPR) looks only at the coins that moved on a given day. For each coin, it compares the price at the time of the move with the price when the coin last moved. It then sums the results into one ratio.

A value above 1 means that the coins moved at a profit on average. A value below 1 means they moved at a loss. A value near 1 means the coins moved close to their previous price.

SOPR differs from NUPL and MVRV in one key way. NUPL and MVRV describe all coins, including coins that sit still. SOPR describes only coins that move. It measures a flow, while the other two measure a stock.

The app shows SOPR for STH and for LTH. The STH series reacts to short price swings. The LTH series moves less often, because long-held coins move less often.

Daily SOPR is noisy. Many analysts smooth it with a moving average. Smoothing reduces noise, but it delays the reading. A coin that moves between two wallets of one owner can also distort the ratio.

A SOPR reading says what movers did that day. It does not say what the coins that did not move will do.

Mayer Multiple and Puell Multiple

These two metrics do not use the cost basis of holders. They use simple price and issuance records.

The Mayer Multiple is the price divided by its 200-day moving average. It measures how far the price sits from its long-run trend. A value of 1 means the price equals the average.

The Puell Multiple divides the daily USD value of newly issued bitcoin by the 365-day moving average of that value. It compares what miners earn from issuance today with what they earned over the past year. It is a view of miner revenue, not of holder profit.

Both metrics are ratios against their own history, so both remove the trend. The issuance schedule cuts new supply at fixed points. A cut changes the level of the Puell ratio for a time. Keep this in mind when you compare readings across years.

The block below lists the latest dated readings from the app for several of these metrics. Read each value against its definition above.

Why thresholds from past cycles are not rules

Many guides list zones: values above one level are “hot” and values below another level are “cold”. Such zones come from a small number of past cycles. Bitcoin has gone through only a few full cycles with reliable on-chain data.

A threshold drawn from a few cycles has little statistical weight. Each cycle also had a different market structure. The investor base, the share of supply held by funds, the available derivatives and the macro setting all changed from one cycle to the next.

Metrics also drift. As the share of long-held coins grows, realized value changes in structural ways. A level that marked an extreme in one cycle may not mark an extreme in the next.

The app draws threshold lines on some charts. Read each line as a description: past readings above this line have coincided with certain market conditions. This does not predict the next move.

Use a threshold as context. Ask how far the reading is from its own recent range. Ask how the metric behaved in each cycle on its own, not only in the average of all cycles.

  • How many cycles produced this threshold?
  • Has the market structure changed since then?
  • Does the metric use the same definition today?
  • What happened in the cycles where the level did not hold?

A threshold summarises what happened. It does not set what must happen.

Combining independent views

No single metric covers every angle. Combine metrics that use different inputs.

NUPL, MVRV and SOPR all rely on realized value or realized prices. They share one data source and one set of errors. If the realized-value model is off, all three are off in the same way. They are related views, not independent ones.

The Mayer Multiple uses only price. The Puell Multiple uses issuance and price. Both are independent from the realized-value family. Agreement between a realized-value metric, a price-trend metric and a miner-revenue metric tells you more than agreement among three realized-value metrics.

Add context from outside on-chain data: fund flows, derivatives positioning and the macro calendar. The related tools on this site cover each of these areas.

When metrics disagree, do not average them. Ask why. A difference often points to a specific cause, such as a recent large move of old coins or a change in miner revenue. Write down what you observe before you look at the price chart. This reduces the pull of hindsight.

Three metrics built from the same inputs count as one opinion, not three.

Checklist

  • Read the metric definition before you read the chart.
  • Check which holder cohort the metric covers.
  • Compare the reading with its own recent range.
  • Pair metrics that use different inputs.
  • Treat past thresholds as context, not as rules.

Questions

What is the difference between NUPL and MVRV?

Both use market value and realized value. MVRV divides market value by realized value. NUPL subtracts realized value from market value and divides the result by market value. They contain the same information in two forms, so a change in one always appears in the other.

What does the 155-day boundary mean?

The app splits coins by the time since they last moved. Coins younger than 155 days belong to short-term holders (STH). Coins that are 155 days old or older belong to long-term holders (LTH). Other sources can use a different boundary, so values may differ between sites. Always check which boundary a chart uses.

Can on-chain metrics predict tops and bottoms?

No. They describe the relation between price and holder cost, issuance or trend at a given time. Past readings have coincided with market turning points, but the sample is small and each cycle had a different structure. Use the readings as context, not as signals.

Why do on-chain metrics differ between websites?

Sites make different choices. They may use another cohort boundary, treat exchange wallets in another way, or clean lost coins differently. They may also update data at different times. Compare the method notes of each source before you compare numbers, and note the date of each reading.

Tools for this guide

On-chainFree

NUPL

Bitcoin NUPL chart: the share of market value held as unrealized profit or loss across all coins, shown with BTC price and five value ranges.

Latest reading0.324
On-chainFree

Mayer Multiple

Bitcoin Mayer Multiple chart: BTC price divided by its 200-day moving average, with reference lines at 0.8, 1.5 and 2.4.

Latest reading1.11
On-chainFree

Puell Multiple

Puell Multiple chart: daily Bitcoin miner revenue in USD divided by its 365-day moving average, plotted next to the BTC price.

Latest reading1.059
On-chainFree

STH SOPR

STH SOPR chart: the profit ratio of Bitcoin coins held under 155 days when they are spent, with a break-even line at 1.0 and the BTC price.

Latest reading1.001
Open the appApp Store