Method 2026-09-04.37
How the measurements work.
StratumStats measures several independent parts of pool performance and summarizes them in a transparent 0–100 score. The underlying measurements remain visible because no score makes one pool universally best.
Dashboard metrics
Median block delay
The median delay until one configured endpoint sends its first clean previous-block-hash transition, compared with the earliest transition seen for the same Bitcoin block and region. Scout timestamps the first readable byte before waiting for the rest of the message or parsing it, then forwards the block hash, endpoint timestamp, and only the coinbase source needed by displayed payout fields. Lower is better. The dashboard uses the latest 24 hours.
P95 block delay
The 95th-percentile delay. Ninety-five percent of measured deliveries were this fast or faster, so P95 exposes occasional stalls that the median may hide.
Availability
Observed clean block transitions divided by eligible block measurements for that configured endpoint during the latest 30 days. Every configured endpoint is eligible once a block window is confirmed, even if it is disconnected, because a down server cannot provide mining work. Scheduled measurements enter this calculation only after their complete atomic block sample is received. A regional cohort is excluded when at least 20% of eligible endpoints across at least five pools miss together, because that correlated failure indicates an unhealthy observer rather than independent pool downtime. Neither the misses nor the surviving measurements in that cohort contribute to dashboard metrics or scores; the raw evidence remains stored. The dashboard shows availability directly; estimated mining loss carries the color bar.
First to block
First-to-block percentage is the share of eligible block measurements in the latest 24 hours where this endpoint had a zero relative delay: it was the first observed clean block transition in that region’s cohort. Gold bars in the latency graph mark those first-to-block arrivals. This is an observation of template arrival, not proof of who mined or solved the Bitcoin block.
Estimated mining loss
The unavailable share of eligible template deliveries plus median relative delay during available time, using Bitcoin’s 600-second target block interval. This estimates idle and stale-work time; it is not measured payout or revenue loss.
TCP connection
Time to establish the basic network connection to a pool, including local name lookup.
TLS handshake
Time to establish an encrypted connection and verify the pool’s certificate, hostname, validity period, and trusted issuer.
mining.subscribe
The Stratum request that starts a mining session.
mining.authorize
The Stratum request that asks the pool to accept the worker identity.
Region freshness and block height
Each results section repeats one region-wide update time and block height. The update time is the observation time of the selected region’s latest successfully accepted atomic block sample, not a separate timestamp for that pool group. Local collections use the newest displayed pool observation when no regional sample status exists.
The height is decoded from BIP34 data in the latest available coinbase observed from that region. It is not an independent Bitcoin node chain-tip query and may lag until the selected vantage completes another block sample containing a decodable coinbase. All visible height pills flash together when a later height arrives after the page’s initial render.
Overall score
The 0–100 score weights availability at 40%, estimated mining loss at 25%, P95 block delay at 20%, connection and Stratum setup responsiveness at 10%, and observed fee stability at 5%. Mining loss below 0.1% receives the full component score and is displayed as <0.1%. Availability is graded steeply near 100% because a missed eligible delivery means no clean new-block transition was received.
A score requires recent median and P95 measurements, except that a solo pool whose worker wallet is not found receives a score of 0 immediately. Responsiveness and fee stability are included only when observed; their missing weights are redistributed across the measured components rather than counted as failures. Fee stability requires at least two matched solo-pool fee samples. A newly observed fee increase subtracts up to 15 additional points, tapering evenly to zero over 30 days. An observed fee above 2.5% subtracts 2.5 points per excess percentage point, capped at 10 points; fees through 2.5% receive no level penalty. An invalid TLS certificate subtracts 10 points. Shared-pool fees remain unobservable and do not affect their score.
The scoring math
Each measured input becomes a component score from 0 to 100. Values between the listed points use straight-line interpolation; values beyond either end are clamped to the nearest endpoint.
Component curves
| Component | Measurement → component score | Calculation detail |
| Availability (A) | ≤90%→0 · 95%→20 · 98%→60 · 99%→80 · 99.5%→90 · 100%→100 | Uses eligible deliveries from the latest 30 days. |
| Mining loss (L) | ≤0.1%→100 · 0.25%→90 · 0.5%→75 · 1%→50 · 2.5%→10 · ≥5%→0 | Uses the combined mining-loss equation above. |
| P95 delay (P) | ≤250ms→100 · 500ms→90 · 1,000ms→75 · 2,000ms→50 · 5,000ms→10 · ≥10,000ms→0 | Uses the rolling 24-hour P95. |
| Responsiveness (R) | 0ms→100 · 100ms→95 · 250ms→80 · 500ms→60 · 1,000ms→30 · ≥2,500ms→0 | Average curve score of observed median TCP, TLS, subscribe, and authorize timings. |
| Fee stability (F) | clamp(100 × (1 − changes ÷ (samples − 1)), 0, 100) | Included for solo pools with at least two matched fee samples. |
How endpoints are compared
Block-template delay is compared only for the same previous-block hash observed from the same region. This reduces differences caused by geography and clock timing. Median, P95, history, and Stratum response timings use a rolling 24-hour window. Observations older than 30 days are excluded from availability, counts, and scores.
Only the first clean transition for a hash counts. Later jobs with the same hash are ignored even when their transaction set changes.
Coinbase payouts and fees
For the first accepted notification per endpoint and block, Scout forwards only the split coinbase, subscribed extranonce context, and a SHA-256 hash of its generated worker output script. StratumStats reconstructs the transaction, derives the webpage fields, and discards the forwarded source before storage.
For a solo pool with a matched worker output, the observed effective fee is 100 × (total coinbase value − worker payout) ÷ total coinbase value. Donations or configured payout splits may be included in that percentage.
Shared-pool miner fees cannot be measured from the block coinbase because participant balances and later payouts are handled separately. StratumStats therefore does not display a fee for shared pools.
A non-worker destination is a positive-value coinbase output that did not match the probe worker script. It may be a pool fee, donation, witness commitment, payout split, or another participant; it does not prove ownership.
Pool groups
Free solo pools have a consistently matched worker payout and a latest observed fee of 0%. Paid solo pools have a matched payout and either a nonzero or not-yet-measured fee. Pools whose worker wallet was absent from decoded coinbase payouts are shown separately from pools that still need payout evidence.
PPLNS means Pay Per Last N Shares: rewards are based on work submitted during a recent share window. Other shared pools use different payout methods.
What is excluded
Pool size, popularity, sponsorship, paid placement, subjective reputation, operator-advertised fees, unobservable shared-pool fees, and vantage-wide unhealthy regional cohorts.
Privacy and disclosures
Operational details that could identify measurement traffic are intentionally withheld. Published results are aggregated to protect measurement integrity.
- Reports use automated endpoint observations only; no pool pays or applies for placement.
- Latency is relative within the same block and vantage, reducing geographic bias.
- Regional Scout arrival is timestamped at the first readable Stratum byte, before message completion, parsing, and block-transition filtering.
- Combined-vantage reports reduce regional latency observations to one median per Bitcoin block before computing history, median, and P95.
- No observation older than 30 days is used; block-template latency, latency history, and protocol timing use a rolling 24-hour window.
- Eligible block and protocol-attempt counts are published directly with their measurements.
- Scheduled block measurements affect scores only after their complete atomic block sample is accepted.
- A scheduled regional block cohort is excluded when at least 20% of eligible endpoints across at least five pools miss together, indicating a vantage-wide measurement failure rather than independent pool availability.
- When the same block has broad observer failures in multiple regions, that block is excluded from every regional view so rolling collector maintenance cannot be scored as pool downtime.
- The probe uses pseudonymous miner credentials, but a pool can still observe its source IP.
- Observed solo-pool fee is inferred only when a decoded coinbase output matches the generated worker script; optional donations or splits may be included.
- Matched worker payout destinations are reduced to aggregate verification and fee evidence; their address and script are never published.
- Coinbase destinations identify decoded output scripts, not who controls a non-worker address.