611 / 736SOPR

SOPR

Spent output valuation ratio

SOPR compares the valuation of Bitcoin outputs when spent with their valuation when created. It tracks selected on-chain movements over a given interval. It is neither a verified sales balance nor a reliable price forecast; weighting, output selection and any data adjustments are crucial.

SOPR, Spent Output Profit Ratio, in its basic aggregate form is the sum of monetary values of spent UTXOs at spending divided by the sum of values of those same UTXOs at creation. Both sums use the same currency and the denominator must be positive. The dimensionless result is an estimate based on reference prices, not evidence of actual purchases and sales.

Glassnode derives SOPR from the valuations of spent UTXOs at spending and at creation. Our interpretation tracks the same set of outputs in both sums, a common currency and a positive denominator. This is not a valuation of all still-unspent bitcoin, and the result has no currency unit. [1]

The calculation in the Coin Metrics example divides the sum of spending values by the sum of creation values; the documentation distinguishes the unweighted SOPROut variant. From this construction we infer that, when expressed as a weighted average, individual ratios have weights based on their original monetary valuations, not equal weights. [2]

Glassnode uses one as the boundary between higher and lower valuations of spent outputs relative to creation. With a positive denominator, our algebra gives equal sums at one. It says neither that every output had the same outcome nor how many people or what share of holders are in profit. [1]

In its aSOPR explanation, Glassnode notes that relay and change can create movements without a purchase or sale. Our interpretation therefore treats unadjusted SOPR as a price-based estimate: even a movement between one’s own wallets at a different reference price does not establish cash received, actual profit or tax acquisition cost. [3]

Glassnode aSOPR omits outputs with a lifespan shorter than one hour. According to the API, Entity-adjusted SOPR removes transfers within an estimated entity; address clustering uses heuristics. Our use does not confuse these procedures or treat either as an infallible record of actual trades or people’s identities. [3] [4]

Coin Metrics distinguishes SOPR by the age of spent outputs and by weighting method. Our comparison therefore records the included group, price source, interval and smoothing. A simple average of daily ratios is generally not the ratio of sums over the whole period; a calculation for a selected group cannot be presented as the entire market. [2]

Glassnode describes revisions to data, price inputs and address clustering. Our reproduction records methodology, version and data availability time. Today’s recalculated historical value may not match what was known when a decision was made; without this check, a historical test can use future information. [5]

Coin Metrics cautions that historical success of on-chain indicators does not guarantee future results. Our use of SOPR therefore infers neither certain growth from a value below one nor a certain top from a high value. The ratio alone determines neither probability, timing nor the net return of the next trade. [6]

ExampleEXAMPLE · SOPR

The same outputs, two different aggregation methods

Our fictional model includes only two outputs A and B spent in the same interval, not all Bitcoin. Their quantities are [1, 3] BTC and reference prices at creation are [10000, 30000] USD/BTC. Creation valuations are therefore [10000, 90000] USD, totaling 100000 USD. We assume a spending price of 20000 USD/BTC for both outputs, so their spending valuations are [20000, 60000] USD, totaling 80000 USD. SOPR for this subset is 80000 / 100000 = 0.8. For A, B and their total, the chart shows original valuation on the left and valuation at spending on the right, both in USD; this is not a time series. The individual ratios for A and B are 2 and two thirds. Their simple unweighted average, rounded to six decimal places, is 1.333333, above one, while the ratio of sums is below it. Spending minus creation valuation differences are [10000, -30000] USD and total -20000 USD. These differences are not evidence of cash income or actual owner profits. The model does not determine their purchase prices, fees or taxes; it uses neither the aSOPR age filter nor entity adjustment and gives no probability for future price.

For the clearest picture, read this entry together with UTXO, On-chain Analysis, Realized Cap, MVRV, NUPL. The reverse links also lead from NUPL.

01Does SOPR below one mean everyone is selling at a loss?

No. The sum of reference valuations of the selected outputs at spending is lower than the sum at creation. Some outputs may have the opposite ratio, and an on-chain movement itself need not be a sale. The aggregate cannot determine each person’s outcome or the share of holders with losses.

02Can SOPR be replaced by a simple average of individual output ratios?

No, if we want to preserve the basic ratio of sums. Equal weights for individual outputs produce a different statistic and can even change which side of the unit threshold it falls on. When comparing providers and charts, check the exact calculation, included outputs, filters and smoothing.

DOC · 001Glassnode — SOPR (Spent Output Profit Ratio)Documentation DOC · 002Coin Metrics — ValuationDocumentation DOC · 003Glassnode — aSOPR (Adjusted SOPR)Documentation DOC · 004Glassnode — IndicatorsDocumentation DOC · 005Glassnode — Introducing Point-in-Time Data: Addressing the Mutability of On-chain MetricsDocumentation DOC · 006Coin Metrics — Bitcoin On-Chain Indicators PrimerPrimary
Revised: Source-first · No investment advice