Query the chain · SOPR
Bitcoin SOPR API for the spent output profit ratio
SOPR, the spent output profit ratio, measures whether the coins moving on-chain are being spent at a profit or a loss. For every spent output it compares the price when the coin was created to the price when it was spent: value realized divided by value at creation. Average that across all spent outputs in a window and a reading above 1 means coins are moving in aggregate profit, below 1 means loss, and 1 is breakeven. The Bitcoin SOPR API computes it from the fully-indexed chain, valuing each spent output against historical market data so you get SOPR, adjusted SOPR, and the realized profit and loss behind it.
Pull the current figure over REST for a dashboard, or run SQL to rebuild the whole series, compute adjusted SOPR that filters very short-lived outputs, or split profit-taking from loss-taking. Because spent outputs, their timestamps and the price series share one schema, every SOPR reading traces back to the transactions that produced it rather than a black-box number. This is informational on-chain data and analytics for research, not a trading signal, a valuation, or investment advice.
REST API · SQL · dashboards · indexed from genesis
Hit Run to query the fully-indexed Bitcoin blockchain.
BTC
30-day trend
informational on-chain data · not financial advice
Indexed from genesis queryable in seconds
On-chain data not financial advice
Why it works
What you get with sopr
SOPR and adjusted SOPR
Get the spent output profit ratio for any window, plus adjusted SOPR that filters outputs spent within about an hour to strip out coins that barely moved, both computed from spent outputs valued at creation and spend on the indexed chain.
Realized profit and loss
SOPR is a ratio; the dollars behind it are realized profit and loss. Split value spent in profit from value spent in loss, so you can see not just whether coins moved in the money but how much profit or loss was realized.
Rebuild and slice in SQL
In SQL you can reconstruct the full daily SOPR series, compute it for a subset of the supply, or join it against realized price, exchange flows and other metrics you already query here, then trace any reading back to its spent outputs.
What it handles
The indexed Bitcoin chain, queryable your way
Look up an address, a transaction, a UTXO, the rich list or an on-chain metric, by REST API, SQL or dashboard. The same authoritative data, reconciled block-by-block against the canonical chain, without running a node.
- Query SOPR and adjusted SOPR for any window
- Split realized profit from realized loss
- Reconstruct the full historical SOPR series in SQL
- Compute SOPR for a cohort or address set
- Trace any SOPR reading to its spent outputs
{
"address": "bc1qxy2k…l0wdv8",
"balance_btc": 68432.10,
"balance_usd": 4612165420,
"tx_count": 1284,
"unspent_outputs": 37,
"first_seen": "2014-02-09"
}
Why BitcoinDatabase
One platform, queryable three ways
Not a raw node to sync, not an indexer to build, and not five vendors to stitch together. The fully-indexed Bitcoin blockchain, available as a REST API, as SQL, and as dashboards, on one authoritative dataset.
REST API
Typed JSON for addresses, transactions, balances, UTXOs and metrics. Drop it into apps, wallets, explorers and agents with curl, Python or our SDKs.
SQL access
Run SQL directly against the indexed Bitcoin dataset for ad-hoc analysis, cohorts and exports, the same data the API and dashboards read from.
Compliance-first
Informational on-chain data and analytics only. Entity labels and flow tracing are framed as tooling to support a regulated team's own review, not accusations.
Good questions
Questions about sopr
Explore more
More ways to query Bitcoin with BitcoinDatabase
Bitcoin API
Query addresses, transactions and balances across the whole indexed chain in one call.
Learn moreBitcoin block explorer API
Power an explorer with blocks, transactions and addresses, no node to maintain.
Learn moreBitcoin address lookup
Look up any Bitcoin address: balance, full history and UTXOs in one query.
Learn moreStop running a node. Just query Bitcoin.
Run your first query now and get on-chain data back by REST API, SQL or dashboard, indexed from the genesis block. Informational on-chain data only, not financial advice.
Indexed from genesis · REST · SQL · dashboards · addresses, transactions, UTXOs, metrics