Data & API
Bitcoin’s spending, block by block. Sorted by coin age, with profit or loss.
Block by block since September 2012: how much BTC moved, how long those coins had been sitting still, and the profit or loss each age group realized in US dollars. Computed on my own Bitcoin full node from a ledger of every coin created since 2009, and updated as new blocks land. Ready for your own research, charts and products.
See it at work in the live charts.
766,319
blocks with data, from block 200,001 (September 2012) to block 972,566
2 × 100
age bands in each block, in a logarithmic and a calendar layout
306M
values: BTC moved and profit or loss for each band of each block
~3.4B
coins (outputs) in the ledger it is built from: every one created since 2009
Latest block 972,566 at Oct 22, 2026, 04:21 UTC. The counts grow as new blocks land.
What’s in the data
Each row is one block, with:
- Block height and time (UTC)
- BTC moved in the block, change-adjusted: change sent back to the same address doesn’t count as moved
- The net realized profit or loss of those coins, in US dollars
- Both split into 100 coin-age bands, in two layouts: logarithmic and calendar
- A validity flag and an error code, so incomplete blocks are marked rather than hidden
Reference tables give the edges of every band.
Coverage
- Block by block from block 200,000 (September 22, 2012), updated as new blocks land
- The coin ledger behind it covers every coin since January 2009, so old coins count at their full age when they move
- US dollar values use prices from 2012 on. Coins created before 2012 carry a fixed placeholder cost, so their profit or loss is approximate.
Formats
- Full history: compressed CSV or Parquet, with a data dictionary, band edges and checksums
- Weekly and daily updates: the new rows, in the same layout
- Per block: a feed, in early access
Why this data
Independent
Computed on my own Bitcoin full node from a ledger of every coin ever created, not resold from another provider.
Fine-grained
100 age bands per layout, from under an hour to more than a decade: fine enough to set your own cut-off between short- and long-term holders.
Change-adjusted
Change a transaction sends back to the same address doesn’t count as moved, and its cost is scaled to match.
Transparent
Each block carries a validity flag and an error code, and the data dictionary sets out the method’s limits.
Plans and pricing
One price for the full history, and a subscription if you want it kept current. Prices are in US dollars.
Founding customers: The first 10 customers get 30% off: on the full history, or on their first year of live updates.
Personal & research license
For individuals: your own analysis, academic work, and charts you post on your own accounts with credit to over21million.com.
Commercial license
For companies and paid work: funds and trading desks, paid research and newsletters, client work, and apps, dashboards or websites that other people use.
Full history
Block by block since 2012
One-time purchase. Yours to keep.
- Every row from block 200,000 (September 2012) to the day of delivery
- Both band layouts, with BTC moved and realized profit or loss
- Compressed CSV or Parquet, with a data dictionary, band edges and checksums
- Perpetual license: keep the files and use them for good
Personal $1,200 one-time
Commercial $6,000 one-time
Live updates
Weekly
New rows every Monday
Personal $39 per month
Commercial $149 per month
- The previous UTC week of blocks, as files
- Starts with the last 12 months
Daily
New rows every day
Personal $79 per month
Commercial $299 per month
- The previous UTC day of blocks, as files each morning
- Starts with the last 12 months
Per block Early access
Each new block as it lands
Personal $199 per month
Commercial $599 per month
- Each new block’s row by API, as soon as it is computed
- Starts with the last 12 months
- Live plans are billed monthly and can be canceled any time. Pay yearly and get two months free.
- Every live plan starts with the last 12 months. Add the full history for everything back to 2012.
- Neither license allows reselling or sharing the raw data. For redistribution or white-label use, ask for a quote.
- Students and academic researchers get 50% off personal prices.
- Follow @over21m on X and get 5% off: include your X handle when you ask, and I’ll check the follow.
Questions
Can I post charts I make with this data?
Yes. With a personal license you can post charts on your own social accounts, blog or free newsletter, with the credit “Data: over21million.com”. Paid newsletters, client work and products need a commercial license.
What counts as commercial use?
Use by or for a business: funds and trading desks, paid research or newsletters, client work, and any app, dashboard or website that other people use. If you’re not sure which license fits, ask.
Can I share or resell the raw data?
Not under either license. Charts and figures you make from it are yours to publish under your license, but the raw files stay with the license holder. For redistribution or white-label use, ask for a quote.
Why does the history start in 2012?
The per-block rows start at block 200,000, mined on September 22, 2012. The coin ledger behind them goes back to January 2009, so coins created before then still count at their full age when they move. Earlier blocks may be added later.
Why two band layouts?
Logarithmic bands are evenly spaced in log time, each about 15% wider than the one before, so a coin that moves after an hour and one that moves after a decade both get detail. Calendar bands follow familiar units: days, weeks, months, quarters and years. Both layouts share the same block totals.
What does change-adjusted mean?
When a transaction sends part of a coin’s value back to that coin’s own address, that part doesn’t count as moved. Change sent to a new address still counts. The data dictionary explains the method and its limits.
How is profit or loss valued for the oldest coins?
Prices start in 2012. Coins created before 2012 carry a fixed placeholder cost, so their realized profit or loss is approximate. Their BTC amounts and ages don’t depend on price.
How fresh is the data?
Rows are written as each new block is processed on my node, and the newest rows can be revised once all their inputs are in place. Weekly and daily files cover whole UTC weeks and days, sent after each one ends.
Can past values change?
Yes. Recent rows are recomputed as their inputs arrive, and older rows can be recomputed when a bug is fixed or the method improves. Values aren’t kept as first published, so the history is not a point-in-time record.
Is there a free sample?
Yes: one week of rows in the same layout as the full history. Ask for a sample.
How do I pay?
You get an invoice in US dollars. Bitcoin is preferred; if you need another way to pay, ask.
Is this investment advice?
No. It is on-chain data about how coins moved. It is not a forecast, and nothing on this site is investment advice. See Legal & privacy.
Talk to Eric directly
For quotes, questions or a free sample, email data@over21million.com or send a DM to @over21m on X. Inquiries come straight to me, not to a sales team.