Coins in profit

Share of the coins our ledger holds (outputs of 0.01 BTC and up) worth more at the last close than on the day they last moved. Bold line = 30-day average.

64.2% share of coins in profit on Oct-25 2026, the last day in this build, measured and published by askthetape.com.

For everyone

Every coin our ledger holds remembers the day it last moved, and we know the price that day. Count the coins whose price then was below the price now: that is the share in profit. Coins that last moved before 2010-07-17, before bitcoin had a market at all, have no cost basis and count as in profit at any price.

For the pro

legown UTXO lifecycle ledger (birth day × spend day; it was built once from a public chain archive and has been extended block by block from our own node since 2026-07-23) × daily closes (Bitstamp Jun 2013 →, earlier daily closes from our cache 2011-08-18 →, and the Mt.Gox tape 2010-07-17 → 2011-08-17 before that)
cadencedaily
since2010-07-17 (price era) · ledger from 2009-01-03
🩸 early priceprice before 2011-08-18 is not our own capture: it is the Mt.Gox daily tape, the first market bitcoin ever had — Mt.Gox daily tape (close), an open mirror, sha256 3390e9e9, pulled 2026-09-12, 391 days of it, and our own daily closes take over on 2011-08-18. Before 2010-07-17 there was no market at all, so coins born earlier have no price and no cost basis — we print that rather than fill it: 1,553,115 BTC, 7.76 % of the coins our ledger holds. We include these unpriced coins as in profit at any positive price; they are excluded from the cost-basis wall, not from this share. Nothing is backfilled and no quote from a non-exchange is used.
notecoins that last moved before 2010-07-17, where the market itself begins, sit outside the priced era: the same rule runs on three pages — they count as in profit at any price (coins in profit), they carry a zero cost (realized cap), and they stand outside the wall (cost-basis wall). 1,553,115 BTC are in that state, 7.76 % of the coins our ledger holds — down from 2,167,252 BTC (10.84 %) while our price still started 2011-08-18
hourly window · where it comes fromthe events of this window are read from our own node; the ledger they are added to was built once from a public chain archive and has been extended block by block from our own node since 2026-07-23. The events are every output of 0.01 BTC and up that died and every output that was born, read block by block (getblock … 3 with prevout), with the hour it happened. The carrier holds 8,235 hours, 2025-11-16T00:00:00Z → 2026-10-26T07:00:00Z, 343 days deep from a fixed first day and growing every hour.
hourly window · how the hours foldSTATE: the LAST hour of a stretch is that stretch's value, never an average of hours. «N hours» in the window's own header means BUCKETS WITH DATA, not the distance from the first point to the last — the header prints both. Selected spent-output flows are zero in verified no-block hours; ratios, states and other missing observations remain blank. Block counts are a separate series where present, and describe the native node segment only.
hourly window · what this ledger cannot seethe ledger does not see outputs below 0.01 BTC — that is 87,146 BTC, 0.433 % of the coins alive on 2026-10-25, measured against what our own node counts as mined (the scheduled subsidy of every block header it holds). It is a threshold, not a fault, and it is the same threshold the daily page carries.
hourly window · which pricethe hour is priced with the Binance BTC perpetual of our own capture — the price of THAT HOUR. The daily page uses the Bitstamp daily close. The two were measured against each other on this build over 343 days: median 0.5 bp apart, mean 0.7 bp, worst 42.9 bp. Coins born before this window keep the daily close of their birthday, because the hour of their birth is not in the carrier. Second calibration, hour for hour against the public hourly closes of the spot venue (167 hours, measured 2026-09-19): median -0.05 bp, worst 24.46 bp — so the gap in the first number is the 23:00Z hour against a daily close, not one venue against another. A one-off check, not a captured feed.
hourly window · one line or twoa second, thinner line is drawn: «as the daily page counts» — the thin line compares against the day's close instead of the hour's price. What the two lines differ by is the whole of what the hour adds, and it is drawn rather than argued.
hourly window · judgedThis comparison covers the native node segment from 16 November 2025 only: 🩸 12 birth × spend cells on 3 of 344 closed days differ from the daily ledger of our own node — see the judge log; this window is not vouched for until that is explained. Judge run 2026-10-26, 2.3 hours ago. The judge runs daily against the daily ledger of our own node; a day the 35-day carrier no longer holds is not judged rather than counted as a difference.
this builddata to Oct-25 2026
policyno backfill · read it here · export: whole history

The chart itself is drawn in the browser: turn JavaScript on to hover a day, pick a window and draw your line. The numbers above come from the last build, Oct-26 2026 10:55Z.

What the tape says today · what's new · all 111 metrics

built 10:55Z
🔔 Free alerts in Telegram · two at a time per chat · press 🔔 next to a chart’s numberTerms · Refund · Privacy · askthetape@gmail.comIndependent market-data site. Not an exchange and not affiliated with any exchange. We never ask for exchange keys, wallet seed phrases or passwords.askthetape.com · by @shridlock · notes · what’s new · we never call direction, the data draws, you conclude · NFA