<p>It's there so that the miner can replace the coinbase transaction with their own, possibly to add more outputs.</p>

CC BY-SA 4.0
2022-10-09T12:59:30.387Z
Just to make sure, what exactly do you mean by "replace the coinbase transaction"? If I understand correctly, the block template generated by Bitcoin Core has no coinbase transaction.
Vojtěch Strnad
CC BY-SA 4.0
2022-10-09T14:13:26.107Z
The internal code for block template computation (which uses that `-blockmaxweight` setting) does add a dummy coinbase transaction. The point is just that the block template generation does not yet know what actual coinbase transaction you'll want to plug in before starting mining, so it leaves some slack space for that.
Pieter Wuille
CC BY-SA 4.0
2022-10-09T12:37:30.860Z
2022-10-09T12:37:30.860Z
Pieter Wuille
<p>The configuration parameter <code>-blockmaxweight</code> in Bitcoin Core allows miners to set a maximum block weight they want to mine. Oddly, the default value of this parameter is 3996000 as opposed to the SegWit limit of 4000000 WU. Why is that?</p>

<bitcoin-core><miner-configuration><block-weight>
Why is -blockmaxweight set to 3996000 by default?
Vojtěch Strnad
# Why is -blockmaxweight set to 3996000 by default?

(Asked by: username_0 on 2022-10-09)

The configuration parameter `-blockmaxweight` in Bitcoin Core allows miners to set a maximum block weight they want to mine. Oddly, the default value of this parameter is 3996000 as opposed to the SegWit limit of 4000000 WU. Why is that?

**Tags:** bitcoin-core, miner-configuration, block-weight


---

## 1 answers

### Answer by username_1 on 2022-10-09. Score: 3 | Accepted answer

It's there so that the miner can replace the coinbase transaction with their own, possibly to add more outputs.

> **Comments:**
> **username_0**: Just to make sure, what exactly do you mean by "replace the coinbase transaction"? If I understand correctly, the block template generated by Bitcoin Core has no coinbase transaction.  
> **username_1**: The internal code for block template computation (which uses that `-blockmaxweight` setting) does add a dummy coinbase transaction. The point is just that the block template generation does not yet know what actual coinbase transaction you'll want to plug in before starting mining, so it leaves some slack space for that.  

---

