Mining is a lottery with known odds.
Every mining calculator shows you the average. The Luck Lab shows you the distribution β how long you'll actually wait for a solo block, what your month of pool payouts really looks like, and what happens when the network doubles overnight. All math is the memoryless Poisson model; all chain numbers come from the live Quantus indexer (snapshot fallback when it won't talk to your browser).
Nothing here is financial advice. Luck has no memory: a long drought never makes a block "due".
Network pulse
The numbers every calculation below is anchored to. loadingβ¦
Solo luck β how long until your block?
Your miner finds blocks as a memoryless Poisson process at rate h / D per second. The wait is exponential with mean D / h β the median wait is only 69% of the mean, and 1 in 10 miners wait more than 2.3Γ the average.
Probability tool
Chance of finding at least one solo block withinβ¦
P(β₯1 block) = 1 β eβt/E. At your expected wait E, the chance is 63.2% β not 100%.
Drought odds
The chance your wait runs longer than a multiple of the average.
| Drought | Chance it happens | One in⦠|
|---|
This is not a malfunction β it is the exponential distribution doing its job.
Wait-time distribution Monte Carlo
Simulated solo waits (seeded, reproducible). The gold line is the mean everyone quotes; the green line is the median you should plan around.
Pool variance β the smoothing machine
A fair pool pays you your proportional share of every block it finds, minus fees. The expected income equals solo mining minus the fee β but the variance collapses: instead of rare jackpots you get a steady drip. The simulator below runs real day-by-day draws.
Daily earnings: solo vs pool Monte Carlo
Same hashrate, same period β one histogram per strategy. Solo is a spike at zero with rare jackpots; the pool is a bell around the mean.
Difficulty-shock scenarios
What if the network hashrate jumps today? Difficulty retargets every block (max +1/2048 up, β99/2048 down), so it chases the new reality β fast on the way down, slow on the way up. Your solo expected wait is recomputed at the new steady state.
| Network hashrate | Your solo expected wait | Difficulty catch-up |
|---|
Catch-up assumes the full per-block step is used every block (worst case for miners on the way up). Your expected wait depends only on difficulty and your own hashrate β the network's size matters through difficulty, not directly.
Method, formulas & sources
The math
- Solo block finds: Poisson process, rate Ξ» = h/D per second.
- Expected wait E = D/h; luck quantile tp = βEΒ·ln(1βp).
- P(β₯1 block in t) = 1 β eβt/E; P(wait > kΒ·E) = eβk.
- Your blocks/day ~ Poisson(hΒ·86400/D); pool blocks/day ~ Poisson(blocks/day).
- Retarget catch-up: Γr up β β2048Β·ln rβ blocks; Γr down β βln r / ln(1β99/2048)β blocks.
- Block reward: exact on-chain R = (21,000,000 β total issuance) / 50,000,000.
Honest caveats
- Difficulty, network hashrate, and reward are snapshots β they move every block.
- No orphan/stale rate, no pool downtime, no fee tiers beyond the one you set.
- QTC has no liquid market price used here β figures are in QTC, not dollars.
- Simulations are seeded and reproducible, not predictions.
Chain numbers: live-first GraphQL against the public Quantus Subsquid indexer (sqm.quantus.com), falling back to the builder's same-origin snapshots data/consensus.json + data/supply.json (refreshed 2026-10-02). Difficulty semantics verified against pallet_qpow in Quantus-Network/chain β see the Consensus Lab.