<blockquote>
<p><code>assert coinbase_amount == block_reward + total_tip</code></p>
</blockquote>
<p>That's not correct. The actual consensus rule would be <code>coinbase_amount &lt;= block_reward + total_tip</code> (in other words: miners are allowed to burn funds).</p>
<blockquote>
<p>I guess if that's true, it's fine, since the miner I guess just dropped .01000001 on the floor.</p>
</blockquote>
<p>Correct.</p>
<blockquote>
<p>I'm just wondering if I'm interpreting that block right.</p>
</blockquote>
<p>Indeed, that's exactly what happened.</p>
<blockquote>
<p>And how often does this happen?? And why??</p>
</blockquote>
<p>Due to buggy miner software, generally. The case in block 124724 was later explained by its presumed author (see <a href="https://bitcointalk.org/index.php?topic=7253.msg184414#msg184414" rel="nofollow noreferrer">this post</a>), though there are around 1000 other instances later, collectively burning around 19 BTC. I have some more information about these and other cases of burnt coins in <a href="https://bitcoin.stackexchange.com/a/38998/208">this post</a>.</p>

CC BY-SA 4.0
2022-02-06T20:03:44.110Z
2022-02-07T13:08:06.543Z
2022-02-07T13:08:06.543Z
Pieter Wuille
<p>Just for my own educational purposes, I'm writing something that verifies the blocks on the blockchain. I had in my code this line:</p>
<p><code>assert coinbase_amount == block_reward + total_tip</code></p>
<p>And it succeeded until it hit block <a href="https://www.blockchain.com/btc/block/0000000000004c78956f8643262f3622acf22486b120421f893c0553702ba7b5?page=1" rel="nofollow noreferrer">124724</a>, at which point it said coinbase_amount was 49.99999999 BTC and that the block_reward + total_tip was 50.01 BTC. (So, it complained that 49.99999999 != 50.01)</p>
<p>I guess if that's true, it's fine, since the miner I guess just dropped .01000001 on the floor. I'm just wondering if I'm interpreting that block right. (And how often does this happen?? And why??)</p>
<p>Thanks!</p>

<blockchain><mining-reward><consensus><verification>
Verifying Block 124724
bnsh
# Verifying Block 124724

(Asked by: username_0 on 2022-02-06)

Just for my own educational purposes, I'm writing something that verifies the blocks on the blockchain. I had in my code this line:

`assert coinbase_amount == block_reward + total_tip`

And it succeeded until it hit block [124724](https://www.blockchain.com/btc/block/0000000000004c78956f8643262f3622acf22486b120421f893c0553702ba7b5?page=1), at which point it said coinbase\_amount was 49.99999999 BTC and that the block\_reward + total\_tip was 50.01 BTC. (So, it complained that 49.99999999 != 50.01)

I guess if that's true, it's fine, since the miner I guess just dropped .01000001 on the floor. I'm just wondering if I'm interpreting that block right. (And how often does this happen?? And why??)

Thanks!

**Tags:** blockchain, mining-reward, consensus, verification


---

## 1 answers

### Answer by username_1 on 2022-02-06. Score: 6 | Accepted answer

> `assert coinbase_amount == block_reward + total_tip`

That's not correct. The actual consensus rule would be `coinbase_amount <= block_reward + total_tip` (in other words: miners are allowed to burn funds).

> I guess if that's true, it's fine, since the miner I guess just dropped .01000001 on the floor.

Correct.

> I'm just wondering if I'm interpreting that block right.

Indeed, that's exactly what happened.

> And how often does this happen?? And why??

Due to buggy miner software, generally. The case in block 124724 was later explained by its presumed author (see [this post](https://bitcointalk.org/index.php?topic=7253.msg184414#msg184414)), though there are around 1000 other instances later, collectively burning around 19 BTC. I have some more information about these and other cases of burnt coins in [this post](https://bitcoin.stackexchange.com/a/38998/208).


---

