Methodology — How mergefees measures Bitcoin miners' merge-mining revenue

This document describes, per chain, exactly what is counted as "revenue paid to Bitcoin miners," how it is computed, from what sources, and with what verification. It is the working draft of the site's public methodology page.

The definition (ROADMAP §2): revenue to Bitcoin miners = the block rewards (subsidy + transaction fees, or the miner's share thereof where consensus splits rewards) of blocks that carry valid merged-mining proof — i.e., blocks produced by a Bitcoin miner reusing Bitcoin proof-of-work. Blocks are classified individually; no chain's merge-mined status is ever inferred from height ranges or dates.


1. Common framework (all chains)

Per-block records. Every chain is walked block-by-block into a single frozen schema (BlockRecord): chain, height, block hash, timestamp, is_merge_mined, subsidy_native, fees_native, miner_reward_native, plus extra_json for chain-specific audit data. Records are stored permanently as Parquet in S3 (s3://mergefees-data/blocks/{chain}/), so any figure on the site can be recomputed and audited down to the block, forever.

Exact arithmetic. All monetary values are decimal strings computed through integer base-unit intermediates (satoshis / sela / centis / wei) — floating point never touches a monetary value. For Bitcoin-family nodes, whose JSON-RPC emits amounts as floats, the raw response text is rewritten to quote the amounts before JSON parsing, so the node's exact decimal digits survive end-to-end.

Headline tally. Revenue to Bitcoin miners for a chain = the sum of miner_reward_native over blocks where is_merge_mined = true. Non-merged blocks (early eras, permissionless miners, fallback mechanisms) are fully recorded but excluded from the headline.

Verification. Each chain passes an automated verification before it counts: height continuity from 0 with no gaps or duplicates; per-record schema validation; timestamps never more than 2 hours behind the running maximum (the consensus future-time bound); and, where a theoretical model exists, the summed subsidy must match the chain's emission schedule to within 0.01% (in practice: exactly, to the smallest unit). Reference blocks are additionally spot-checked field-by-field against independent sources, and AuxPoW parent hashes are cross-checked against the Bitcoin chain (mempool.space) — a genuine merge-mined block's parent must be real Bitcoin work with an era-consistent timestamp.

Sources. A chain's history is extracted either from our own fully synced node (local RPC) or from an official public endpoint that the adapter was first validated against block-for-block. Either way the chain's own consensus data — not third-party explorers — is the source of truth.


2. Per-chain methodology

Namecoin (NMC) — the canonical case

Syscoin (SYS) — the masternode chain

Elastos (ELA) — the reward-split chain

Rootstock (RBTC) — fees only, via REMASC

Hathor (HTR) — in progress

Fractal Bitcoin (FB) — syncing


3. USD valuation

Native units are the source of truth; USD is derived at display time in two views (ROADMAP §2): (a) value at time of receipt — each block's reward × its block-day closing price (requires the Phase-4 historical daily price backfill; not yet computed), and (b) current value — all-time native totals × today's spot price. The figures quoted so far use view (b) only. The two views differ enormously (Namecoin especially) and the site will show both. Notes: RBTC is valued at its own market price, which trades within 0.5% of BTC; the current CoinGecko "syscoin" quote ($0.002) appears anomalous relative to SYS's history and is flagged for validation against a second source during Phase 4.

4. Known limitations (stated, not hidden)

Limitation Effect
Syscoin legacy chain (May 2016 – Jun 2019) unreachable undercounts SYS merge-mining revenue; disclosed
Elastos pre-402,680 blocks paid output[1] ≈ 70% recorded as received; era documented
Hathor parent chain not identifiable per-block measured as "SHA-256d parent"; BTC/BCH split planned
Hathor history from a snapshot-bootstrapped node (all other chains: own full-sync nodes or per-block-validated endpoints) mitigated by verification pass + independent spot-checks
RSK maturity: revenue lags the tip by 4,000 blocks (27h) tail always ~1 day behind; structural
Near-tip blocks may reorg dataset finalizes N confirmations deep; the live tail re-verifies (Phase 3)

5. Verification status

Chain Blocks Continuity Subsidy vs theory Status
Namecoin 833,759 0..tip, no gaps exact PASS
Syscoin 2,274,804 0..tip, no gaps exact PASS
Elastos 2,260,468 0..tip, no gaps exact (5 eras) PASS
RSK 9,113,869 0..tip, no gaps n/a (fees only) PASS
Hathor model ready (all eras) extracting
Fractal model ready (incl. Sep 2026 halving) node syncing