Enter hashrate and difficulty
A Bitcoin solo mining calculator answers a narrow but important question: given a certain hashrate and the current network difficulty, what is the statistical chance of finding a block within a chosen period? This is distinct from a pool profit calculator, which estimates earnings under a specific payout method such as PPS+ or PPLNS. A solo calculator models probability; a pool calculator models expected cash flow under an accounting scheme. The two should not be read interchangeably.
The two required inputs are the miner's hashrate and the current Bitcoin network difficulty. Difficulty is a dimensionless value that expresses how much harder the current proof-of-work target is relative to the minimum difficulty defined in the protocol; it is not itself a target value, and a higher difficulty figure means a lower, harder-to-reach target. Difficulty changes every 2,016 blocks based on how long the previous period took to mine, as described in the Bitcoin developer documentation on how Bitcoin mining works.
Hashrate should be entered with care. A miner's rated hashrate is a specification, while its local display and a pool's reported estimate reflect different measurement methods and time windows. Choose a hashrate that represents the operating conditions being modeled, and check whether its averaging window already includes downtime. For this article's calculations, hashrate is treated as a constant input assumption, stated explicitly.
The standard expected-blocks formula, following the mining model set out in Rosenfeld's analysis of Bitcoin pooled mining reward systems, is:
λ = (H × t) / (2^32 × D)
Where H is hashrate in hashes per second, t is the time period in seconds, D is current difficulty, and λ is the expected number of blocks over that period. This is an expected value, not a probability by itself.
Expected time vs probability
A common misreading of solo-mining calculators is to treat the "expected time to find a block" as a deadline. It is a statistical mean, calculated as:
T_expected = (2^32 × D) / H
Under a Poisson approximation of block discovery, the probability of finding at least one block by the expected time is only about 63.21% (1 − e⁻¹). That means there is still a 36.79% chance of having found zero blocks at that exact point. A 50% probability threshold is reached earlier, at roughly 0.693 times the expected time, while a 90% threshold is reached later, at roughly 2.303 times the expected time. No finite hashrate and no finite period produces a literal 100% probability.
The general formulas are:
P(at least one block) = 1 − e^(−λ)
P(zero blocks) = e^(−λ)
These two outputs — not the expected-time figure alone — are what actually describe zero-reward risk: the probability that a solo miner receives no block reward at all during the chosen period.
Calculate a chosen time horizon
The following worked example uses an illustrative Bitcoin network difficulty of 132.72 T (132.72 × 10^12). Because difficulty adjusts roughly every two weeks, a calculation that holds it constant is a scenario, not a long-term forecast. Readers can check current Bitcoin mining difficulty and fee data before running their own numbers.
Assume a single ASIC rated at 200 TH/s (2.00 × 10^14 hashes per second), running continuously, with difficulty held constant for illustration.
| Output | Result |
|---|---|
| Expected time to one block | ≈32,988 days (≈90.3 years) |
| Expected blocks per day | ≈0.00003031 |
| P(at least one block in 24 hours) | ≈0.003031% (about 1 in 32,988) |
| P(at least one block in 365.25 days) | ≈1.1011% |
| P(zero blocks in 365.25 days) | ≈98.8989% |
The practical reading: at 200 TH/s under this difficulty, a calculator may display an expected waiting time of roughly 90 years. That figure does not mean a block arrives after 90 years of mining. It means that, averaged across many identical 200 TH/s mining runs, the mean time to a first block would be about 90 years. Over any single one-year period at this hashrate, the chance of finding no block at all remains close to 98.9%. This is the core meaning of zero-reward risk in solo mining: a miner can operate for an extended period, under unchanged conditions, and receive no block reward whatsoever.
Expected blocks, λ, scale linearly with hashrate, so doubling hashrate halves the expected waiting time. At the low probabilities in this example, it also approximately doubles the one-year probability of at least one block, while still leaving the one-year zero-block probability above 97% at these difficulty levels. The table below illustrates this for the same difficulty assumption.
| Hashrate | Expected time to one block | P(≥1 block in 1 year) | P(0 blocks in 1 year) |
|---|---|---|---|
| 100 TH/s | ≈180.6 years | ≈0.552% | ≈99.448% |
| 200 TH/s | ≈90.3 years | ≈1.101% | ≈98.899% |
| 500 TH/s | ≈36.1 years | ≈2.730% | ≈97.270% |
| 1 PH/s | ≈18.1 years | ≈5.386% | ≈94.614% |
These figures use the same difficulty-based formula and assume continuous, uninterrupted operation at the stated hashrate for one year (365.25 days); they are not adjusted for downtime, which is addressed separately below.
Include downtime
All of the results above assume continuous operation. In practice, a miner's realized runtime over any given year is reduced by maintenance, power interruptions, firmware updates, and other downtime. Because λ scales linearly with operating time, downtime reduces the expected number of blocks in direct proportion to uptime. The probability of finding at least one block must then be recalculated from that adjusted expected value; it does not scale directly with uptime.
If u is the fraction of the calendar period spent mining, and λ assumes continuous operation at the operating hashrate, use:
λ_adjusted = u × λ
P(at least one block) = 1 − e^(−λ_adjusted)
P(zero blocks) = e^(−λ_adjusted)
For example, if the 200 TH/s miner in the table above operates at 95% uptime over a year rather than 100%, the one-year probability of at least one block falls from approximately 1.1011% to approximately 1.0464%, while the probability of zero blocks rises to approximately 98.9536%. Multiplying the original probability by 0.95 gives a close approximation here only because the probability is small.
To account for downtime, either multiply the calendar period by uptime or multiply the operating hashrate by uptime—not both. A calculator using rated hashrate and the full calendar period without an uptime adjustment will overstate the odds when downtime occurs.
When using an observed hashrate, check its measurement window. An average measured only while the machine is running should be paired with an uptime adjustment. An average over the full calendar period that already includes downtime should not receive the same reduction again. Local device displays and pool-reported estimates can use different methods and windows, so choose a representative value and state what it measures.
Compare pooled earnings
A solo-mining probability calculator and a pool earnings calculator answer different questions and should not be merged into a single output. The solo calculator produces a probability of finding a network-valid block within a stated period, together with the statistical expected waiting time. A pool calculator, by contrast, estimates daily or periodic mining earnings under a specific payout method using inputs such as hashrate, network difficulty, block rewards, and pool fees. BTC price converts estimated BTC earnings into a fiat value; a higher BTC price does not by itself increase the amount of BTC mined.
ViaBTC's Profit Calculator is a pool earnings tool, not a solo-mining odds tool. It accepts inputs such as BTC price, difficulty, valid hashrate, and PPS fee rate, and produces an estimated daily earnings figure based on its documented PPS+ methodology, as described in how ViaBTC calculates mining earnings. Under PPS+, the block-subsidy portion of a miner's reward follows Pay-Per-Share accounting, while the transaction-fee portion is distributed under PPLNS; these are two distinct components with different calculation logic, not a single blended rate. ViaBTC's official announcement, published May 18, 2026, states that the SOLO payment method was discontinued across its coin pools as of May 20, 2026 (UTC+8), so the Profit Calculator should not be read as modeling a solo payout mode.
The practical distinction for a reader deciding between approaches is variance, not expected value under simplified assumptions. Solo mining concentrates a miner's entire probability of reward into discrete, infrequent events — as illustrated above, a single machine may go years without finding a block. Pooled mining, under a scheme such as PPS+, converts a miner's share of contributed work into smaller, more frequent payments, smoothing the variance that a solo miner would otherwise bear alone. This does not eliminate underlying mining economics such as electricity cost, hosting cost, pool fees, or BTC price exposure; it changes the timing and variance of receipts, not the full set of financial considerations. Readers evaluating which approach fits their own hashrate and risk tolerance can review ViaBTC's current pool fees and the explanation of why pool hashrate can differ from ASIC hashrate before comparing any pool estimate against a solo-mining probability result.
FAQ
What are the odds of solo mining Bitcoin with a typical ASIC?
Odds depend entirely on hashrate relative to current network difficulty. At 200 TH/s under a difficulty of 132.72 T, the one-year probability of finding at least one block is approximately 1.1%, meaning the probability of finding none is approximately 98.9%. At low probabilities like these, changes in hashrate produce approximately proportional changes in the chance of finding a block; use the probability formula for the actual result.
Does a solo mining calculator predict when I will receive a reward?
No. It calculates an expected (mean) waiting time and a probability distribution. At the expected waiting time itself, the chance of having already found a block is only about 63.2%, not a guarantee.
Why does the calculator need both hashrate and difficulty?
Expected blocks are derived from the ratio of total hashing work performed to the amount of work statistically required to find a block at the current difficulty. Omitting either input makes the probability calculation incomplete.
Is a Bitcoin solo mining calculator the same as a pool profit calculator?
No. A solo calculator estimates the probability of finding a block and the associated zero-reward risk. A pool profit calculator, such as ViaBTC's Profit Calculator, estimates expected earnings under a stated pool payout method and does not model solo-mining probability.
Does downtime affect the calculated odds?
Yes. Expected blocks scale directly with uptime, but the probability does not. If λ is the expected number of blocks at continuous operation and u is uptime, the adjusted probability is 1 − e^(−uλ). Do not apply an additional uptime reduction if the hashrate input already averages downtime across the full calendar period.
References
- Bitcoin Developer Guide — Mining: https://developer.bitcoin.org/devguide/mining.html
- Mempool.space Mining Dashboard: https://mempool.space/mining
- Rosenfeld, "Analysis of Bitcoin Pooled Mining Reward Systems," arXiv: https://arxiv.org/abs/1112.4980
- ViaBTC Help Center — How Are Profits Calculated: https://support.viabtc.com/hc/en-us/articles/7207397084047-How-are-profits-calculated
- ViaBTC Help Center — Pool Hashrate Versus Miner Hashrate: https://support.viabtc.com/hc/en-us/articles/7574354263183-Why-is-the-Hashrate-Shown-in-the-Mining-Pool-Lower-than-that-of-the-Mining-Machine
- ViaBTC Help Center — Announcement on the Discontinuation of SOLO Payment Method for All Coins: https://support.viabtc.com/hc/en-us/articles/16155896619151-Announcement-on-the-Discontinuation-of-SOLO-Payment-Method-for-All-Coins


