BitcoinDev Logo

Block Subsidy

The Bitcoin block subsidy is the amount of new Bitcoin created with each block. It follows a predictable mathematical formula that halves every 210,000 blocks, creating Bitcoin's fixed supply schedule.

Block Reward

The block reward is what the miner receives for mining a valid block: the block subsidy (new bitcoin created) plus the transaction fees from all transactions included in the block. Over time, the subsidy shrinks (halving every 210,000 blocks) and fees will make up a larger share of miner revenue.

The Equation

Mathematical Formula

Block Subsidy = 50 / (2^halvings)

Where:
  halvings = floor(block_height / 210,000)

Bitcoin Core Implementation

In Bitcoin Core (validation.cpp), the subsidy is calculated using bit shifting for efficiency:

CAmount GetBlockSubsidy(int nHeight, const Consensus::Params& consensusParams)
{
    int halvings = nHeight / consensusParams.nSubsidyHalvingInterval;
    // Force block reward to zero when right shift is undefined.
    if (halvings >= 64)
        return 0;

    CAmount nSubsidy = 50 * COIN;
    // Subsidy is cut in half every 210,000 blocks which will occur approximately every 4 years.
    nSubsidy >>= halvings;
    return nSubsidy;
}

The right bit shift (>>=) divides by 2 for each halving, which is equivalent to the mathematical formula but more efficient.

Code Implementation


Halving Schedule

HalvingBlock HeightDateSubsidyTotal Mined
0 (Genesis)0Jan 200950 BTC0
1210,000Nov 201225 BTC10,500,000
2420,000Jul 201612.5 BTC15,750,000
3630,000May 20206.25 BTC18,375,000
4840,000Apr 20243.125 BTC19,687,500
51,050,000~20281.5625 BTC20,343,750
61,260,000~20320.78125 BTC20,671,875

Example Calculations

Block 0 (Genesis Block):

halvings = 0 / 210,000 = 0
subsidy = 50 / (2^0) = 50 BTC

Block 840,000 (Fourth Halving):

halvings = 840,000 / 210,000 = 4
subsidy = 50 / (2^4) = 3.125 BTC

Total Supply

The total Bitcoin supply follows a geometric series that converges to exactly 21 million BTC:

Total Supply = 210,000 blocks × 50 BTC × (1 + 1/2 + 1/4 + 1/8 + ...)
             = 210,000 × 50 × 2
             = 21,000,000 BTC

Why 21 Million?

The limit arises from:

  • Initial subsidy: 50 BTC
  • Halving interval: 210,000 blocks
  • Geometric series sum: 50 × 210,000 × 2 = 21,000,000

After approximately 64 halvings (around year 2140), the subsidy drops below 1 satoshi and becomes zero.


Utility Functions

Calculate Total Supply Up to Block

Find Next Halving


Block Reward Components

The total block reward consists of two parts:

Total Block Reward = Block Subsidy + Transaction Fees
EraSubsidyTypical FeesFee %
2009-201250 BTC< 0.01 BTC< 0.02%
2012-201625 BTC0.1-0.5 BTC0.4-2%
2016-202012.5 BTC0.5-2 BTC4-16%
2020-20246.25 BTC0.5-5 BTC8-80%
2024-20283.125 BTCVariableGrowing

As the subsidy decreases, transaction fees become increasingly important for mining economics and network security.


Inflation Rate

Bitcoin's inflation rate decreases predictably over time:

Annual Inflation = (Blocks per Year × Subsidy) / Total Supply × 100%

Example (2024):
- Blocks per year: ~52,560 (365.25 × 24 × 6)
- Subsidy: 3.125 BTC
- New BTC per year: ~164,250 BTC
- Total supply: ~19,700,000 BTC
- Inflation rate: ~0.83%
PeriodApproximate Inflation
2009-2012> 25%
2016-2020~4%
2020-2024~1.8%
2024-2028~0.8%
After 2032< 0.5%

Key Properties

Predictability

  • Anyone can calculate the exact supply at any block height
  • No central authority can change the schedule
  • Requires network consensus to modify

Scarcity

  • Fixed maximum of 21 million BTC
  • Decreasing issuance over time
  • Eventually deflationary (lost coins exceed new issuance)

Security Transition

  • Early: Security funded primarily by subsidy
  • Current: Mix of subsidy and fees
  • Future: Security must come from fee market

Visual Representation

Subsidy (BTC)
      │
50    │████████
25    │        ████████
12.5  │                ████████
6.25  │                        ████████
3.125 │                                ████████
1.5625│                                        ████████
      │
      └────────────────────────────────────────────────→ Blocks
       0      210k    420k    630k    840k    1050k

Resources