A miner earns a share of each day's newly issued bitcoin and transaction fees in proportion to its share of the network's total hashrate. Profit is that revenue, converted at the Bitcoin price, minus the pool fee and the cost of the electricity the machine burned to produce it. Hashrate and power draw are fixed by the hardware you buy; difficulty and price are set by the market and move constantly, so any single profitability figure is a snapshot.
Key points
- Expected BTC per day = hashrate (H/s) × 86,400 × block reward ÷ (difficulty × 2^32). Everything else is a conversion to money.
- Revenue per TH/s falls whenever difficulty rises, even if your machine performs exactly as specified.
- Electricity is the main operating cost. Break-even electricity price = daily revenue ÷ daily kWh.
- A positive operating margin tells you a machine is worth running today. It does not tell you the purchase price will be recovered.
- Use the calculator for current difficulty and price. The numbers in this guide are illustrative.
Your share of the network
Bitcoin's protocol targets one block roughly every ten minutes, about 144 blocks per day, regardless of how much hardware is mining. Each block pays a reward to whoever finds it. Hashrate, measured in hashes per second (1 TH/s = 10^12 H/s), is the number of attempts a machine makes at finding a block.
Because every attempt has the same chance of success, a miner's long-run share of rewards equals its share of all attempts:
expected BTC per day ≈ (your hashrate ÷ network hashrate) × 144 × block reward
Network hashrate is never measured directly. It is inferred from difficulty, which is why the precise formula uses difficulty instead.
Deriving the expected-BTC formula
- A hash "wins" when its value falls below a target. At difficulty 1 the chance per hash is about 1 in 2^32. At difficulty D the target is D times smaller, so the chance per hash is 1 in (D × 2^32).
- The expected number of hashes needed to find one block is therefore D × 2^32.
- A machine running at h hashes per second makes h × 86,400 attempts per day.
- Expected blocks per day = h × 86,400 ÷ (D × 2^32).
- Each block pays the block reward, so:
expected BTC per day = h × 86,400 × block reward ÷ (D × 2^32)
The two views agree. Difficulty is tuned so the whole network needs 600 seconds per block, which means network hashrate ≈ D × 2^32 ÷ 600. Substitute that into the share formula and you get the same expression.
Block subsidy, fees and halvings
The block reward has two parts:
- Subsidy: newly issued bitcoin. It has been 3.125 BTC since the April 2024 halving at block 840,000, and it halves every 210,000 blocks. The next halving is at block 1,050,000. At ten minutes per block, 210,000 blocks take about four years.
- Transaction fees: whatever users paid to have their transactions included in that block. Fees vary from block to block and can be a small or a significant addition to the subsidy depending on demand for block space.
A halving cuts the subsidy part of revenue in half overnight. Difficulty, price and fees may or may not move to offset it; the formula only tells you what happens if they do not.
Difficulty adjustment and why revenue per TH falls
Every 2,016 blocks (about two weeks) the network compares how long those blocks took with the 20,160 minutes they should have taken, and rescales difficulty by that ratio:
new difficulty = old difficulty × (20,160 minutes ÷ actual minutes)
If miners added hashrate and blocks arrived 5% faster than target, difficulty rises by about 5%. The number of bitcoin issued per day returns to normal, but it is now divided among more hashrate. Your machine's hashrate has not changed, so its share and its expected BTC per day fall by a factor of 1 ÷ 1.05, about 4.8%.
This is the central fact of mining economics: revenue per TH/s is inversely proportional to difficulty. New, more efficient machines joining the network push difficulty up and lower the earnings of every machine already running.
Pools, pool fees and payout schemes
The formula gives an expected value, not a schedule. With the illustrative inputs used below, a single 200 TH/s machine mining alone would expect to find one block roughly every 37,000 days. Pools combine many miners' hashrate, find blocks regularly and split the rewards. You prove your contribution by submitting shares, which are hashes that meet a much easier pool-set target. The pool keeps a fee, and the payout scheme decides who carries the variance.
FPPS (Full Pay Per Share). The pool pays a fixed amount for every share, covering both the subsidy and an estimate of transaction fees based on recent blocks. You are paid whether or not the pool finds blocks, so income tracks the formula closely. The pool carries the luck risk and prices that into its fee.
PPS+ (Pay Per Share Plus). The subsidy part is paid per share at a fixed rate, as in FPPS. The transaction-fee part is distributed from the fees the pool's blocks actually collected. Subsidy income is steady; fee income follows the pool's real results.
PPLNS (Pay Per Last N Shares). You are paid only when the pool finds a block, in proportion to your shares within a recent window of N shares. Miners carry the pool's luck, so payouts swing from day to day and converge on the expected value over time. Machines that mine intermittently can be under-represented in the window.
Pool fees and scheme details differ between pools and change, so read the pool's own terms.
Worked example with illustrative inputs
These inputs are round numbers chosen to make the arithmetic easy to follow. They are not current network values.
| Input | Illustrative value |
|---|---|
| Machine | 200 TH/s at 3,500 W (17.5 J/TH) |
| Difficulty | 150 × 10^12 |
| Block reward | 3.125 BTC subsidy + 0.025 BTC fees = 3.15 BTC |
| Bitcoin price | $100,000 |
| Pool fee | 2% |
| Electricity price | $0.06 per kWh |
The 10^12 in the hashrate cancels the 10^12 in the difficulty, leaving 200 × 86,400 × 3.15 ÷ (150 × 4,294,967,296).
| Step | Calculation | Result |
|---|---|---|
| Expected BTC per day | 54,432,000 ÷ 644,245,094,400 | 0.00008449 BTC |
| Gross revenue | 0.00008449 × $100,000 | $8.45 |
| Pool fee | $8.45 × 2% | $0.17 |
| Revenue after pool fee | $8.45 − $0.17 | $8.28 |
| Energy used | 3.5 kW × 24 h | 84 kWh |
| Electricity cost | 84 kWh × $0.06 | $5.04 |
| Operating margin | $8.28 − $5.04 | $3.24 per day |
| Break-even electricity price | $8.28 ÷ 84 kWh | $0.0986 per kWh |
Cross-check with the share view: the implied network hashrate is 150 × 10^12 × 2^32 ÷ 600 ≈ 1,074 EH/s, so 200 TH/s is about 1 part in 5.37 million. The network pays 144 × 3.15 = 453.6 BTC per day, and 453.6 ÷ 5,368,709 = 0.00008449 BTC.
Now hold everything else constant and change one input at a time:
| Change | Revenue after pool fee | Margin at $0.06/kWh |
|---|---|---|
| Base case | $8.28 | $3.24 |
| Difficulty +10% | $7.53 | $2.49 |
| Difficulty +25% | $6.62 | $1.58 |
| Difficulty doubles | $4.14 | −$0.90 |
| Subsidy halves to 1.5625 BTC | $4.17 | −$0.87 |
Revenue moves in proportion to price and in inverse proportion to difficulty. The electricity bill does not move at all, so the margin swings by much more than the revenue does.
Revenue, operating cost and capital cost
Keep three quantities separate.
- Revenue: expected BTC × price, less the pool fee. Driven by hashrate, difficulty, reward and price.
- Operating cost (opex): electricity first, then hosting fees, cooling overhead, internet, repairs and labour. Electricity depends on power draw, so the machine's efficiency in J/TH sets how much of each revenue dollar is spent on power.
- Capital cost (capex): the machine, freight, import charges and whatever electrical and cooling infrastructure you had to build.
Revenue minus opex is the operating margin. While it is positive, running the machine brings in more than it costs; when it turns negative, switching off loses less. Capex plays no part in that daily decision because it is already spent. It decides the earlier question of whether to buy, which depends on how much margin the machine accumulates before rising difficulty erodes it. That calculation is covered in ASIC Miner ROI Explained.