Market price vs average cost · MVRV

Market price divided by the average price the coins our ledger holds (outputs of 0.01 BTC and up) last moved at, the number chartists call MVRV. Both halves are rebuilt from our own copy of the ledger. Bold line = 30-day average.

×1.50 market price ÷ average cost · our own ledger on Oct-22 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 what bitcoin cost that day. Add all of them up at those old prices and you have what the market actually paid — chartists call it realized cap, and per coin, realized price. Divide what the market is worth at the last close (the coins still alive × that day's price) by that, and you get one number for everybody at once: above ×1 the average coin is worth more than was paid for it, below ×1 it is under water. The number comes off our own ledger — we walk every unspent output of 0.01 BTC and up ourselves, so none of this is anyone's estimate. One thing worth knowing before you compare it with someone else's: «realized cap» is not a single definition, and the paragraph below names the three places the definitions part company.

For the pro

legour own copy of the UTXO ledger (it was built once from a public chain archive and has been extended block by block from our own node since 2026-07-23) — every output of 0.01 BTC and up, with the day it was created and the day it was spent (6,797,539 rows on this build, ledger to 2026-10-22) — priced with exchanges' published daily closes (Bitstamp from Aug-18 2011; the Mt.Gox tape before) · MVRV = market value ÷ realized cap, where market value = the coins the ledger says are alive × that day's close, and realized cap = every one of those coins at the price of the day it last moved
cadencedaily, UTC · only closed days are drawn, and the ledger's last closed day on this build is 2026-10-22
since2012-01-01 on this page. Our ledger computes it back to 2010-07-17, and those first years are not drawn on purpose: until the cost basis warms up the number is an artefact of the missing early prices, not a reading of the market — on 2010-07-17 it stands at ×117.50. The rule is here rather than in a silent cut; the raw ledger starts 2009-01-03.
🩸 the same number as our realized capThe denominator is not a second opinion of our realized cap — it is the same series the realized-cap page draws, checked on this build across 6,502 days (worst relative gap 1e-13, float noise). And the two pages are one identity: MVRV = market value ÷ realized cap on every one of the 5,409 days here, checked at build time, so a page that silently stopped agreeing with its own twin would stop the build instead of printing.
🩸 where the definitions part company«Realized cap» is not one definition but a family, and the places providers differ are visible in the number rather than in the method they publish. Three of them, named without a verdict on whose is right: (1) coins with no cost basis — a coin that last moved before 2010-07-17, when bitcoin had no market at all, has no price to carry; we keep it in the supply and count it at zero, 1,553,115 BTC on this build, 7.76 % of the live coins our ledger holds, and a service that drops those coins from the denominator instead prints a higher average cost and a lower ratio for the very same day. (2) Which price — our market value is the coins the ledger says are alive times the Bitstamp daily close; an index built across venues, or a different cut-off hour, differs by whatever the venues differed by that day. (3) Which supply — ours is counted output by output on our own ledger, and a provider that counts its supply another way prints another denominator for the same day. This page says which member of the family you are looking at; that is the whole claim.
🩸 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). Before 2010-07-17 there was no market at all, so coins born earlier carry no cost — we print that rather than fill it, and nothing is backfilled.
policyno backfill · read it here · export: whole history
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,175 hours, 2025-11-16T00:00:00Z → 2026-10-23T19:00:00Z, 340 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. «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,202 BTC, 0.434 % of the coins alive on 2026-10-22, 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 340 days: median 0.4 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 uses the day's close on both sides 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 341 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-23, 14.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-22 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-23 2026 21:59Z.

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

built 21:59Z
🔔 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