NetPerHash

GoMining, computed.

data as of 2026-08-30

Log — the validation record

Every figure on this site rests on a model that was checked day-by-day against a real mining account. This page is the running record: which days, what deviation, which source. New entries are appended monthly; nothing old is quietly rewritten.

Entry 1 — 63-day validation (2026-06-28 → 2026-08-29)

Model vs. real account, pure physics with per-epoch public difficulty, daily BTC fee repricing, observed reinvestment growth (744 → 816 TH), documented $0.05/kWh lower bound, discount 28.26%. 60 of 63 days within ±2%; weekly means below. The three >2% days all sit at the June 27/28 difficulty boundary — the platform applies public retargets with a ~2-day lag.

All 63 days
DayFarm TH (fitted)Model gross (BTC)Account gross (BTC)Deviation

Entry 2 — 365-day validation (2025-08-30 → 2026-08-29)

Model vs. real account over a full year — same physics-only engine, now with the farm size reconstructed day-by-day from the data itself instead of a fitted growth curve (the account grew 687 → 812 TH over the year, including one observable purchase step on 2026-07-27: 767.6 → 796.2 TH, +3.7%, matching the miner count rising 19 → 22). 329 of 357 days within ±2% (92.2%), 346/357 within ±5%; mean deviation +0.03%. All 11 days above ±5% sit 1–2 days after a network difficulty boundary — the platform applies public retargets with a ~2-day lag whose exact length varies by boundary; the two largest outliers (Feb 2026, ±12.8%) sit at the one boundary where the lag appears to be 1 day. Month means stay between −0.57% and +0.31% — no drift over the year. Account data: official read-only API, 357 days retrieved 2026-08-30; method and reproducible scripts: calculator/fetch_rewards_365.py, calculator/validate_365d.py.

Entry 3 — stable-era validation (2025-01-01 → today, 581 days)

The cleanest window we can measure — the same deviation test, extended back to January 2025 and confined to the period after the farm finished building. During the build-out years (2022–2024) days around purchases and miner ramp-ups distort the comparison mechanically (payouts split across old/new TH while the model assumes one farm size), so we exclude that era from the deviation claim instead of polishing it. What's left: 581 days, 95% within ±2%, 98.5% within ±5%, mean deviation ≈ 0. The 9 red days are the same difficulty-boundary effect as Entry 2 — nothing new, nothing hidden. Same account, same engine; boundary = first day after the last observable farm-size step (2024-11-21). retrieved 2026-09-01.

Daily feed — rolling month, appended automatically

Daily gross vs. model — the same validated engine, now run every day against the previous day's account data (read-only fetch, no balances, no addresses). The predicted column carries last week's median farm size as its TH input — the honest, out-of-sample test: the model must hit today using only yesterday's knowledge. Account figures per the site's approval rules; feed added 2026-08-30.

DayTH (pred.)Gross (BTC)DifficultyModel dev.

Upcoming entries

[Placeholder — month 1, month 2 … appended as new account data arrives; each entry: account figures via the official API with retrieval date, model prediction as of that date, deviation, and what changed in the market]

Why do my rewards sometimes differ from your model?

The most common reader question after seeing the tables — answered from the same data the log is built on. Three documented causes, in order of size:

  1. Difficulty epochs (up to ±12% for a day or two). The network adjusts difficulty roughly every two weeks; the model walks a smooth average path, reality moves in steps. The 365-day run showed 28 of 357 days outside ±2%, and the biggest gaps (−12.8%, +12.6%) all sat 1–2 days after an epoch boundary. Over a full month the two paths almost close again (monthly means −0.57% to +0.31%).
  2. The day-table residual (≈1 GMT/day on the reference account). The four app lines (pool reward, electricity, service, payout) do not sum exactly; the difference is booked somewhere the platform does not publish. On the measured day it was 1.07 GMT ≈ $0.36 — real, but an order of magnitude below every claim on this site. Explained documents it instead of smoothing it.
  3. Fee repricing at the daily BTC rate. Maintenance is fixed in dollars but deducted in bitcoin at that day's price — so a rising price leaves fewer BTC in your wallet for the same dollar bill. The engines model exactly this (see Method, formula 6).

What it is not: randomness the model hides. Over 357 days the mean deviation was +0.03% — the two paths diverge on bad days and re-converge, which is what a physics model against real operations should do.

Data rules

Three rules govern every number that enters this record, and they do not bend for a good story:

  1. Account data appears only with per-figure approval. The account owner approves each figure before it is published (as happened for the tables on this page and on Explained); approval of one figure is not approval of the next. What has been ruled out permanently: wallet addresses, deposit addresses, and balances of any kind — they appear nowhere on this site, in any entry, at any time.
  2. Public figures carry their own source and date. Anything not derived from the account — difficulty, BTC price, fee rates, discount caps, block reward — is cited to its documentation or explorer with a retrieval date, and re-verified monthly. Where a public value is only available behind an account login (secondary-market prices, in-app rates), the site either omits it or labels the account-session retrieval explicitly; it never presents a logged-in number as public.
  3. Nothing old is quietly rewritten. A published entry stays as it was written. If a later entry contradicts an earlier one — the model improves, a platform parameter changes, an error surfaces — the correction is appended as a new entry with its own date, and the earlier entry gets a pointer to it. The same rule as for corrected third-party errors: history is updated, not deleted.

Feed for the payout-premium question: these entries, plus any new account windows, are the data behind calibrate.py's continuing question — whether realized payouts ever persistently depart from pure network physics. After the gross-vs-net resolution (see Method), the standing assumption is that they do not; each monthly entry tests that assumption against fresh data, and a persistent departure would get its own documented factor, not a silent one.

Source data: official read-only API, retrieved 2026-08-30.