SOPR (Spent Output Profit Ratio)

For the coins that actually moved on a given day, this compares the price they sold at with the price they were bought at. Above 1.00 those coins moved at a profit; below 1.00 at a loss. Every point shown is real up to the date on the badge above the chart.

Every coin carries the price it last changed hands at. This takes all the coins that moved today, adds up what they are worth now, and divides by what they were worth when they last moved โ€” one number for the average profit or loss on today's spending.

For example, 1.05 means coins sold that day changed hands for about 5% more than their owners paid, so people were taking profits. 0.97 means the average coin that moved sold at a 3% loss, which people **only** accept when they have given up.

The 1.00 line is break-even for the coins that moved, and the value crosses it constantly โ€” 307 crossings since July 2022, about 72 a year, typically two days apart โ€” because it oscillates around break-even by construction. It describes what the coins that moved did that day, not what price does next.

In words: the value of the coins moved today at today's price, divided by their value at the price they last moved at [selling price รท buying price, across every coin moved that day]. Computed in-house by our own Bitcoin node from every coin spent that day โ€” something only a full read of the chain can give.

Every point on screen was counted by **our own Bitcoin node** โ€” a full copy of the blockchain that we run ourselves โ€” and the line runs up to the date on the badge **above** the chart. A day our node could not count is left as a gap; it is never filled in from another source.

Coins simply shuffled between a person's own wallets look identical to real selling, and one large old holder moving funds can swing a whole day's reading.

Computed by Safu from its own Bitcoin node: every coin spent that day, valued at that day's close and at the close of the day it was created, using the daily BTC closing price we store. One point per day from 2010. A day our node could not fully count is left as a gap, never filled in from another source.

Computed in-house from Safu's Bitcoin node ยท 1 point/day since 2010 ยท recomputed daily