Educational protocol and mining-economics analysis only; not investment advice. A known subsidy schedule does not determine Bitcoin’s future price, miner profitability, fee revenue, hash rate, confirmation conditions or security budget.
Direct answer
A Bitcoin halving is the consensus-enforced change at which the maximum new-coin subsidy permitted for a block falls to the next integer-halved amount. On Bitcoin mainnet, the subsidy epoch changes every 210,000 block heights. The event is defined by height, not a calendar date, miner vote, company announcement or market price. Approximate dates are forecasts because proof-of-work block arrivals are stochastic.
Halving applies to the block subsidy, not to existing balances, transaction fees, the number of transactions, mining difficulty or the total coinbase value mechanically. A valid coinbase transaction may claim no more than the height-specific subsidy plus fees from that block. Bitcoin Core constructs a block template from this sum, and validating nodes reject a block whose coinbase creates value above the permitted amount.
The mainnet schedule began at 50 BTC per block. Integer right shifts in satoshis produced 25, 12.5, 6.25 and, from height 840,000, 3.125 BTC per block. Because amounts are discrete satoshis, later epochs round downward; the subsidy reaches one satoshi at height 6,720,000 and zero at height 6,930,000. Summing the schedule gives 20,999,999.9769 BTC of theoretical subsidy, not a repeatedly evaluated floating-point formula or an independently enforced literal 21,000,000-BTC counter.
The predictable reduction is economically important but does not encode a price result. Miner fiat revenue also depends on BTC price, fees, hash-rate share, pool terms, uptime and costs. Network conditions depend on total hash rate, difficulty, block-arrival randomness and demand for block space. A price claim needs an explicit demand, liquidity and counterfactual model; past post-halving paths are not controlled experiments.
How to analyze a Bitcoin halving
- Fix chain and rule set. Record mainnet, testnet, signet, regtest or another asset; client and consensus version; current canonical height and hash; and the exact subsidy interval. A similarly named event on another chain is not evidence for Bitcoin mainnet.
- Compute the subsidy epoch. Use integer division of block height by the network’s halving interval. Reproduce the subsidy in satoshis, including right-shift truncation, rather than applying decimal rounding to a remembered BTC amount.
- Verify the boundary blocks. Compare the last canonical block before the boundary and the first at or after it. Check height, hash, parent, coinbase outputs and
subsidyfrom an independently operated node; account for a possible reorganization near the tip. - Reconcile coinbase value. Separate subsidy from
totalfee, sum all coinbase outputs and verify that claimed value does not exceed subsidy plus fees. A miner may underclaim; underclaiming does not create a future entitlement or alter the schedule. - Model miner economics. State hash-rate share, luck horizon, pool payout method, fees, BTC price, energy, machine efficiency, curtailment, financing, depreciation and hedges. Distinguish BTC-denominated subsidy from total BTC revenue and fiat margin.
- Trace network adjustment. Observe hash rate, block intervals, mempool and fee pressure before and after the event, then separate the subsidy boundary from the later 2,016-block difficulty retarget. A halving does not itself change the proof-of-work target.
- Test supply, security and market claims separately. Reproduce cumulative issuance with satoshi truncation; stress fees and miner exits; and test price claims against demand, liquidity, rates and prior positioning. Label forecasts and do not infer causation from a small set of historical cycles.
For current Bitcoin Core mainnet, nSubsidyHalvingInterval = 210000. The function GetBlockSubsidy computes halvings = nHeight / nSubsidyHalvingInterval, starts from 50 * COIN, returns zero when the shift would be undefined, and otherwise applies nSubsidy >>= halvings. Block construction uses block_reward = nFees + GetBlockSubsidy(...). These are mainnet implementation facts; alternative networks and future consensus changes must be checked independently.
Worked examples
1. Boundary-height calculation
At height 839999, integer division gives 839999 / 210000 = 3, so the maximum subsidy remains 50 BTC / 2^3 = 6.25 BTC. At height 840000, the quotient becomes 4:
50 BTC / 2^4 = 3.125 BTC
The change applies to the block at height 840,000 itself. It does not wait for a timestamp or reduce outputs already owned by users. A forecasted wall-clock time can move as blocks arrive faster or slower than the long-run target.
2. Subsidy, fees, and coinbase limit
Suppose a boundary-era block contains 0.35 BTC of transaction fees. Immediately before the boundary, the maximum coinbase claim is 6.25 + 0.35 = 6.60 BTC. At and after the boundary it is 3.125 + 0.35 = 3.475 BTC, assuming the same fee total.
Total permitted coinbase value falls by 3.125 BTC, but not by exactly 50 percent because fees were not halved. If a miner claims only 3.40 BTC in the second block, the block can still be valid; the unclaimed 0.075 BTC is not reissued later.
3. Miner expected revenue
Use an illustrative 144 blocks per day, a pool with 2% of network hash rate, a 3.125 BTC subsidy and average fees of 0.25 BTC per block. Ignoring variance and pool terms, expected daily subsidy is 144 * 2% * 3.125 = 9 BTC, expected fees are 144 * 2% * 0.25 = 0.72 BTC, and expected total is 9.72 BTC.
Before the boundary with a 6.25-BTC subsidy and the same assumptions, total expected revenue would be 18 + 0.72 = 18.72 BTC. The BTC-denominated decline is about 48.08%, not exactly 50 percent. Fiat profit still requires price, uptime, pool fees, power, cooling, labor, financing and depreciation.
4. Geometric issuance and satoshi floor
The first 210,000-height epoch permits 50 * 210000 = 10,500,000 BTC; the next permits 25 * 210000 = 5,250,000 BTC. A continuous geometric series suggests 21 million BTC, but consensus arithmetic works in whole satoshis and truncates each right shift.
At height 6510000 the subsidy is 2 satoshis; at 6720000 it becomes 1 satoshi; and at 6930000 it becomes 0 satoshis. Summing every nonzero epoch produces 20,999,999.9769 BTC. Spendable supply is lower for separate reasons, including the unspendable genesis coinbase, underclaimed rewards and lost keys.
Risks and review failures
Protocol and measurement errors
- Treating an estimated date as the consensus trigger instead of verifying canonical block height and ancestry.
- Importing another chain’s interval, initial subsidy, unit precision, tail emission or reward rule into Bitcoin mainnet.
- Applying floating-point halving and ordinary decimal rounding instead of integer satoshi right shifts.
- Confusing subsidy, transaction fees, total block reward, coinbase outputs and pool payouts.
- Assuming a miner must claim the maximum or that an underclaim is carried forward and minted later.
- Reading one explorer without reconciling height, block hash, reorganization status, coinbase outputs, subsidy and fees.
- Calling the 21-million approximation a separate per-block cap check rather than the consequence of the subsidy schedule.
- Treating cumulative issued subsidy, spendable supply, circulating supply, liquid supply and exchange inventory as one quantity.
Miner and network-model errors
- Multiplying subsidy by nominal hash share while ignoring variance, pool payout rules, stale shares, downtime and fees.
- Assuming BTC-denominated block revenue, fiat revenue and operating profit all fall by the same percentage.
- Holding price, fees, hash rate, difficulty, energy cost and machine efficiency fixed without labeling the scenario.
- Claiming the halving directly changes mining difficulty; the separate retarget rule responds later to observed timestamps.
- Inferring permanent hash-rate loss or a precise attack cost from a short post-boundary window.
- Ignoring debt, collateral, hedges, power contracts, curtailment, equipment resale and operator concentration.
- Treating fee revenue as guaranteed to replace subsidy rather than a variable outcome of block-space demand.
Market and policy errors
- Presenting a deterministic supply schedule as a deterministic price, return, volatility or cycle schedule.
- Using a few overlapping historical episodes as proof while ignoring demand, liquidity, rates and prior positioning.
- Equating reduced gross new issuance with an equal reduction in miner selling or net market supply.
- Attributing every move after the boundary to halving without a counterfactual or event window.
- Assuming the present consensus rule is physically immutable rather than socially enforced software that could change only through a contentious protocol transition.
Common misconceptions
- Existing BTC balances are cut in half. Only the maximum new subsidy for subsequent blocks changes; existing UTXOs are untouched.
- The event occurs every four calendar years. It occurs every 210,000 mainnet heights; four years is an approximation based on target block spacing.
- Miner revenue is exactly halved. Fees, price, hash share, pool terms and costs remain separate and can change.
- Difficulty halves with the subsidy. The subsidy boundary and 2,016-block difficulty adjustment are independent consensus mechanisms.
- A known issuance path guarantees higher prices. Price also reflects demand, liquidity, expectations and competing risks; the protocol contains no price rule.
Related topics
Sources
- Blockchain Technology Overview - NIST (accessed: 2026-08-19)
- Bitcoin: A Peer-to-Peer Electronic Cash System - Bitcoin.org (accessed: 2026-08-19)
- Bitcoin Core: validation.cpp - Bitcoin Core (accessed: 2026-08-19)
- Bitcoin Core: chainparams.cpp - Bitcoin Core (accessed: 2026-08-19)
- Bitcoin Core: miner.cpp - Bitcoin Core (accessed: 2026-08-19)
- Bitcoin Developer Reference: Block Chain - Bitcoin Project (accessed: 2026-08-19)
- Bitcoin Core RPC: getblockstats - Bitcoin Project (accessed: 2026-08-19)
- BIP 42: A finite monetary supply for Bitcoin - Bitcoin BIPs (accessed: 2026-08-19)