GoMining, computed.
data as of 2026-08-30You don't need to understand this page to use NetPerHash. This page exists so the formulas, assumptions and sources behind the calculations can be independently checked — by you, or by anyone.
One engine computes everything: mining_calc.py (Python, the reference) and its
byte-parity JavaScript port engine.js that runs in your browser. Both are tested by
automated suites — 28 unit tests (Python), a cross-language parity test, and a
browser-logic test, all passing 2026-08-30 — so the page cannot show a number the tested
model would not produce.
| # | Quantity | Formula | Source (retrieved 2026-08-30) |
|---|---|---|---|
| 1 | Network hashrate | net_TH = D · 2³² / 600 / 10¹² | Bitcoin protocol (difficulty definition) |
| 2 | Gross reward | gross_BTC = TH/net_TH · 144 · block_reward | Vendor docs, Miners/About + net-reward formula |
| 3 | Electricity cost | W/TH · TH · $/kWh · 24 / 1000 | Vendor docs, Energy efficiency — matches their worked examples to the cent |
| 4 | Service cost | $0.0089 · TH per day | Vendor docs, Miners/About ("service charge for 1 TH per day is $0.0089") |
| 5 | Maintenance | (elec + service) · (1 − discount) | Vendor docs, Maintenance fees |
| 6 | Net | net = gross − maintenance, daily floor at zero (negative-rewards protection) | Vendor docs + rewards page |
| 7 | Simple payback | days = cost / net_per_day | definition, not a forecast |
| 8 | Difficulty path | average factor ln(1+g)/g for linear growth g | exact integral; hand-check g=0.2 → 0.91161 in the test suite |
| 9 | Fee repricing | fees are USD-fixed but deducted in BTC at the daily price → over a price path the BTC fee cost scales by ln(1+c)/c | Vendor docs ("recalculated daily at the BTC rate"); validated against account behavior (BTC +23% → net-only +2% across one difficulty step) |
| 10 | Power growth | linear power growth p multiplies gross and per-TH fees by 1 + p/2 on average | observed: account grew 807.06 → 810.13 TH by reinvestment (2026-08-30) |
| 11 | Resale value | user-entered % of purchase price, added as a price-independent USD term | no public default; marketplace prices need an account (checked 2026-08-30); 5% seller fee documented (Academy) |
365-day day-by-day replication of a real account (2025-08-30 → 2026-08-29):
using only public inputs — per-epoch network difficulty, the account's own daily BTC price,
the documented $0.05–0.07/kWh range
(account line implies $0.05), and the account's actual discount (28.26%) — the engine reproduced
the account's daily gross within ±2% on 329 of 357 days over the full year
(mean +0.03%, worst outliers ±12.8%,
all at difficulty boundaries where the platform lags a retarget by 1–2 days). The farm size
was reconstructed day-by-day from the data itself (687 → 812 TH, including an observable
purchase step on 2026-07-27) instead of a fitted growth curve.
Account data: official read-only API, 357 days retrieved 2026-08-30;
full method and scripts: calculator/validate_365d.py; day-by-day table on the Log page.
Two lessons from the calibration are documented as warnings rather than hidden: vendor dashboards can show gross where you expect net (it cost us one wrong "premium" hypothesis), and payout schedules can lag public network events by days.
ln(1+g)/g — hand-checkable:
g = 0.2 → 0.911607784, verified in the test suite. The calculator states this in its assumptions box.ln(1+c)/c along an exponential price path). Cross-check against the account: BTC +23% at constant
gross should lift net ≈14%; the account showed +2% across that window at constant gross — the remainder was
gross-side movement, which the model tracks separately.On the real day shown on the Explained page, the four visible lines do not sum exactly: 94.11 − 31.05 − 15.39 = 47.67 GMT, while the payout line shows 46.60 GMT. The difference, 1.07 GMT (about $0.36 at that day's token price), is attributed by the platform somewhere else that day; its internal accounting does not publish the booking. This site documents the residual instead of smoothing it away, and draws three boundaries around it:
gross − maintenance (formula 6) and claim nothing about that
residual.A cautionary tale, kept visible on purpose. For several weeks this project believed the
platform's pool paid a fixed uplift over pure network physics — a factor somewhere between 1.3× and 2.3×
depending on assumptions (the exact value moving between attempts was itself the warning sign). A calibration
constant to that effect was drafted. The cause was mundane: the account's rewards endpoint returns
gross, before fees, and it had been compared against a net model. Compared like-for-like, the
physics-only engine reproduced the account day-by-day with no calibration factor at all, and the constant was
deleted from the engine (the audit trail of the wrong hypothesis remains in the repository:
calibrate.py, compare_real.py). Lesson for every number on this site: when a model
disagrees with a platform, check the unit and the fee basis before inventing a fudge factor — and vendor
dashboards can show gross where you assumed net.
Every account-derived number on this site comes from exactly one day of one real account (retrieved 2026-08-30 via the official read-only API) plus one 63-day daily series (2026-06-28 → 2026-08-29). This table is the complete inventory — if a figure is not here, it is not account-derived:
| Figure | Value | Used on | Basis |
|---|---|---|---|
| Gross mining reward, that day | 94.11 GMT = $31.64 | Explained | account daily table |
| Electricity line (discounted) | −31.05 GMT = −$10.44 | Explained | account daily table |
| Service line (discounted) | −15.39 GMT = −$5.17 | Explained | account daily table |
| Net payout, that day | 46.60 GMT = $15.67 | Explained | account daily table |
| Day-table residual | 1.07 GMT ≈ $0.36 | Explained, Method | arithmetic between the lines above |
| Token price that day | GMT = $0.3362 | Explained | account's own daily price |
| Share size that day | 810.13 TH | Explained | account miner list |
| Purchase price of TH | $9.99 per TH | Home, Explained | vendor pricing (all collections identical) |
| Combined maintenance discount | 28.26% (VIP portion 4.2%) | Home, Explained, Compare | account fee breakdown |
| Implied electricity rate | $0.05 per kWh | Method (validation box) | account fee lines vs documented formulas |
| Weighted efficiency of the farm | 14.95 W/TH | Method (validation box) | account per-miner data |
| Power trajectory over 63 days | 744 → 816 TH | Calculator | implied series, lag-corrected; = 100% reinvestment (superseded by the 365-day series: 687 → 812 TH) |
| Validation result | 329 of 357 days within ±2% (365-day run) | Home, Log | model vs account, day by day |
| GoBTC Pay reward, that day | 0.00000006 BTC ≈ $0.005 | Explained | account daily table (new app column, observed 2026-08-31) |
Rules: account data appears only with per-figure approval by the account owner; no wallet addresses, deposit addresses or balances anywhere on this site; public figures (fee caps, discount caps, VIP rules, documented rates) carry the vendor's documentation as source with their own retrieval date. Secondary-market observation used once for context: 9,511 active listings, cheapest 28.49 GMT/TH (≈ $9.58/TH at that day's token price), retrieved 2026-08-30 with an account session. GoBTC Pay mechanics claimed from the vendor's launch materials (0.2% merchant fee, split evenly between confirming miners and the paying wallet's provider — press release via Chainwire, May 8 2026; vendor blog gomining.com/blog/gobtcpay, retrieved 2026-08-31); its payout size to tokenized hashrate is not documented by the vendor and is taken as zero by this site's engines — the one observed day (account daily table, 2026-08-31: 0.00000006 BTC on 810 TH) is shown on the Explained page for what it is: a real column, a negligible amount.
A miner's efficiency (W/TH) is not fixed by purchase. Older miners shipped at up to 50 W/TH; the platform's best tier today is 12 W/TH ("Why 12 W/TH Matters Most in a Bear Market", gomining.com/blog/12-w-th, published Jun 16 2026: new miners "starting from $21.99/TH", upgrades "from $2.67/TH per step"). Electricity is charged per watt, so the W/TH tier sets a maintenance floor no discount can remove. The vendor's own docs put the electricity rate at $0.05–$0.07 per kWh (docs.gomining.com, Energy efficiency, retrieved 2026-08-31).
At the current network difficulty and this site's reference BTC price, the resulting margin per TH looks like this (electricity at $0.06/kWh mid-range, service fee $0.0089/TH/day as used site-wide, gross $0.0391/TH/day = the $3.91/day that 100.1 TH net at today's difficulty and price):
| Efficiency | Total maintenance / TH / day | Margin, 0% discount | Margin, 28.26% discount |
|---|---|---|---|
| 50 W/TH (old Greedy tier) | $0.0809 | 0.48× — negative | 0.67× — negative |
| 40 W/TH | $0.0665 | 0.59× — negative | 0.82× — negative |
| 30 W/TH | $0.0521 | 0.75× — negative | 1.05× — knife's edge |
| 20 W/TH | $0.0377 | 1.04× | 1.45× |
| 15 W/TH (site default) | $0.0305 | 1.28× | 1.79× |
| 12 W/TH (platform best) | $0.0262 | 1.49× | 2.08× |
Read this as a treadmill, not a ladder: the gross line falls as network difficulty grows (this site models +20%/year), while the maintenance line per TH stands still. A 50 W/TH miner that was profitable when it was bought drops below its electricity bill within roughly two to four years at modeled difficulty growth — before the BTC price even enters. The platform itself has retired power upgrades on old tiers and makes efficiency upgrades available "up to the best energy efficiency currently available on the platform" (docs.gomining.com, Energy efficiency). Each step costs money — "from $2.67/TH per step" per the vendor blog — so staying alive is a recurring capital expense this site's model does not add to its payback figures.
For scale, the economics of one step at $0.06/kWh: moving 38 W/TH (say 50 → 12) saves $0.0547/TH/day, so a single $2.67/TH step would pay back in ~49 days — while a 1 W/TH step saves only $0.0014/TH/day, ~5.1 years at the same step price. The blog documents only the minimum step price; the real multi-step path from 50 to 12 W/TH is not published. The honest summary: upgrading from an old tier is usually necessary, sometimes cheap, never free — and a calculator that omits it overstates every old miner's return.
Sources: docs.gomining.com/en/product/miners/energy-efficiency (electricity rate range, upgrade mechanics, retrieval 2026-08-31); gomining.com/blog/12-w-th (tier prices, per-step price, Jun 16 2026). Margin table computed by this site's formulas at press-date difficulty and price — it moves when they move.
One calculation, two implementations, zero tolerance for drift: mining_calc.py (Python) is the
single reference; engine.js (JavaScript) runs the same formulas in your browser. Neither may show a
number the other would not. Enforcement, all running against the current build (2026-08-30):
When an engine changes, the parity test gates the change; when this page's formulas change, the tests and this page change in the same commit, and the verification date above moves.
Page state: 2026-08-30.