<p>All transactions, including coinbase transactions must have at least one input and one output. since the output value is encoded in a fixed number of bytes, not claiming the block subsidy does not make the coinbase transaction any smaller.</p>
<p>The smallest coinbase transaction is the same as the smallest regular transaction except it needs to include the block height as the first element of its scriptsig (BIP34). It also means the size of the smallest possible block increases with the block height.</p>
<p>Therefore the smallest possible coinbase transaction at the current block height is 8 (version, locktime) + 2 (input and output count) + 40 (input prevout and sequence) + 5 (scriptsig with size prefix) + 8 (output value) + 1 (empty scriptpubkey) = 64 bytes long.</p>
<p>Adding 81 bytes of header, it makes the smallest possible block at the current block height 145 bytes long.</p>

CC BY-SA 4.0
2024-05-09T18:46:51.833Z
Where does the extra 1 byte come from in your 81 bytes of header? Isn't a block header only 80 bytes? https://en.bitcoin.it/wiki/Block_hashing_algorithm
bigjosh
CC BY-SA 4.0
2024-05-09T20:20:05.597Z
@bigjosh The number of transactions is serialized too, which is often considered part of the header.
Pieter Wuille
CC BY-SA 4.0
2024-05-09T09:27:30.910Z
2024-05-09T09:27:30.910Z
Antoine Poinsot
<p>Let's say that, for some ununderstandable reason, a miner does not care about receiving the block reward. Rather, the miner cares only about achieving the smallest ever block.</p>
<p>What would be the size of the smallest possible coinbase transaction (that would be accepted as valid by the Bitcoin network)?</p>
<p>Can the output fields be omitted?</p>
<p>What, by extension, would be the size of the smallest possible Bitcoin block?</p>
<hr />
<p>See Also</p>
<p><a href="https://bitcoin.stackexchange.com/questions/20721/what-is-the-format-of-the-coinbase-transaction">What is the format of the coinbase transaction?</a></p>
<p><a href="https://bitcoin.stackexchange.com/questions/119496/what-fields-of-a-coinbase-transaction-can-be-empty">What fields of a coinbase transaction can be empty?</a></p>

<block><mining-reward><coinbase-transaction><blocksize>
What's the smallest possible coinbase transaction / block size?
Lee
# What's the smallest possible coinbase transaction / block size?

(Asked by: username_0 on 2024-05-09)

Let's say that, for some ununderstandable reason, a miner does not care about receiving the block reward. Rather, the miner cares only about achieving the smallest ever block.

What would be the size of the smallest possible coinbase transaction (that would be accepted as valid by the Bitcoin network)?

Can the output fields be omitted?

What, by extension, would be the size of the smallest possible Bitcoin block?

---

See Also

[What is the format of the coinbase transaction?](https://bitcoin.stackexchange.com/questions/20721/what-is-the-format-of-the-coinbase-transaction)

[What fields of a coinbase transaction can be empty?](https://bitcoin.stackexchange.com/questions/119496/what-fields-of-a-coinbase-transaction-can-be-empty)

**Tags:** block, mining-reward, coinbase-transaction, blocksize


---

## 1 answers

### Answer by username_1 on 2024-05-09. Score: 6 | Accepted answer

All transactions, including coinbase transactions must have at least one input and one output. since the output value is encoded in a fixed number of bytes, not claiming the block subsidy does not make the coinbase transaction any smaller.

The smallest coinbase transaction is the same as the smallest regular transaction except it needs to include the block height as the first element of its scriptsig (BIP34). It also means the size of the smallest possible block increases with the block height.

Therefore the smallest possible coinbase transaction at the current block height is 8 (version, locktime) + 2 (input and output count) + 40 (input prevout and sequence) + 5 (scriptsig with size prefix) + 8 (output value) + 1 (empty scriptpubkey) = 64 bytes long.

Adding 81 bytes of header, it makes the smallest possible block at the current block height 145 bytes long.

> **Comments:**
> **username_2**: Where does the extra 1 byte come from in your 81 bytes of header? Isn't a block header only 80 bytes? https://en.bitcoin.it/wiki/Block_hashing_algorithm  
> **username_3**: @username_2 The number of transactions is serialized too, which is often considered part of the header.  

---

