# Bitcoin halving code

By [willzm.eth](https://paragraph.com/@willzm) · 2021-10-20

---

    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)
    plain
            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;
    }

---

*Originally published on [willzm.eth](https://paragraph.com/@willzm/bitcoin-halving-code)*
