# Bitcoin Block Reward value

How can someone calculate the current/real-time value of a Bitcoin block?

What is the equation/algorithm used to determine this?

I've found a few resource online, but I'm a little confused

• By value, are you asking about the size of the reward, or the rules about whether it's valid? Or are you talking about the value of Bitcoin? Apr 9, 2015 at 18:03
• Reward for valid block
– Mark
Apr 9, 2015 at 18:33

How can someone calculate the current/real-time value of a Bitcoin block?

Steps:

1. run `bitcoin-cli getblockcount` to get current block_height
2. current_block_reward = 50 / [(block_height MOD 210000) + 1]

What is the equation/algorithm used to determine this?

Value the of a Bitcoin block defined here. The default value is 50 * 100,000,000 Satoshis.

After every "SubsidyHalvingInterval" blocks, the reward of each block halved. The SubsidyHalvingInterval is defined here

``````CAmount GetBlockValue(int nHeight, const CAmount& nFees)
{
CAmount nSubsidy = 50 * COIN;
int halvings = nHeight / Params().SubsidyHalvingInterval();

// Force block reward to zero when right shift is undefined.
if (halvings >= 64)
return nFees;

// Subsidy is cut in half every 210,000 blocks which will occur approximately every 4 years.
nSubsidy >>= halvings;

return nSubsidy + nFees;
}
``````
• Actually the block reward is `50/(2**(630001 // 210000))` Mar 18, 2023 at 9:33

You can also use the BlockExplorer API totalbc query: `http://blockexplorer.com/q/totalbc/####`, where `####` can be a past or future block number, and the return value is the total BTC in circulation. bcperblock may also be helpful.

See BlockExplorer.com/q/ for a full list of queries.