Statistics
Weekly series computed from the chain itself — hashrate, block production, transactions, gas, and both sides of the peg. Every figure here is derived from blocks and Bridge events by a pipeline in this repository, not taken from an explorer.
Series collected 8 Nov 2026 · how
The two independent measurements of bitcoin locked in the peg currently read 1019.69 BTC from Rootstock's events and 1137.85 BTC from Bitcoin itself — a difference of 118.16 BTC.
From the anchor in 2020-05-25 until early 2025 the two agree to within about ten bitcoin on balances reaching three and a half thousand — roughly two parts in a thousand, which for two methods sharing no inputs is close agreement. The gap widens from 2025 onward, and the likely reason is that the two lines do not measure quite the same thing: the Bitcoin line is the balance at the federation's addresses, which includes coins the Bridge does not control.
Bitcoin sent in a transaction the Bridge rejected stays at the address without any RBTC ever being credited against it. It is held in excess of the pegged supply and the Bridge cannot spend it. Those coins raise the Bitcoin line and never touch the event line. Pulling the other way, Flyover peg-ins deposit to addresses derived from the federation's rather than to the federation address itself, so they are credited on Rootstock but are not among the fifteen addresses this site watches. Neither effect is quantified here, and until one of them is, the gap is a measured fact rather than an explained one.
- Hashrate Work committed to Rootstock per second, averaged over each week.
- Cumulative work Total proof of work accumulated since genesis.
- Block interval Average seconds between trunk blocks, per week.
- Uncles per block Average number of uncles referenced by each block, per week.
- Transactions User transactions processed each week.
- Gas per block Average gas consumed per block, per week.
- Peg-ins and peg-outs How many deposits and withdrawals the peg handled each week.
- Net peg flow Bitcoin entering minus bitcoin leaving, each week.
- Bitcoin locked in the peg The same quantity measured two independent ways.
- Bitcoin price For context, and because value metrics need it.
How these are produced
One process, tools/stats.js, in five stages. Each owns an append-only CSV
under data/stats/, and the rule throughout is that a week already computed is
never computed again — a full pass over nine million blocks takes about thirteen hours, so
the second pass has to take minutes.
That is also why the stored figures are sums and counts rather than averages: a sum can be extended by another block, and an average cannot. The averages on these charts are computed at the last moment, from the accumulators, by a stage that touches neither the node nor the network and can be re-run freely.
- Boundaries — the first and last block of every week. Hashrate, cumulative work and block interval are all differences between these, so they need two reads a week rather than nine million.
- Blocks — uncle, transaction and gas totals, which exist only per block. Resumable from a cursor, because a thirteen-hour pass will be interrupted.
- Peg — Bridge events, found by prefix scan over the event index and decoded from receipts here rather than trusted from a helper's output format.
- Bitcoin — every transaction touching all fifteen federation addresses, cached so a re-run costs one request each.
- Price — weekly Bitcoin quotes, from outside the chain.
Two metrics that belong here are deliberately absent, because they need blocks to be
re-executed rather than read: the number of RBTC holders and the number of active addresses.
What they would cost, and why approximating them would be worse than omitting them, is
written up in doc/future-metrics.md.