What Is a Bitcoin Block? Structure and Contents Explained
Bitcoin block explained: the 80-byte block header, the coinbase transaction paying the miner, the Merkle root and the 4 million weight unit limit.
A Bitcoin block is a data package with two parts: a block header of exactly 80 bytes and a list of transactions. The first transaction in every block is the coinbase transaction, with which the miner pays itself its reward. The header points to the previous block and condenses all transactions into a single fingerprint, the Merkle root. Since 2017, what fits into a block is no longer limited by one megabyte but by a weight of 4 million units.
A Bitcoin block in plain words
Picture a ledger that gets a new page glued in every ten minutes. At the top of each page is a short header: the number of the previous page, the date, a checksum over all entries below. Then come the entries. A Bitcoin block is built exactly like that, except that the "page number" is a hash and the checksum is cryptographic.
Why blocks are needed at all and why their header is so hard to produce is explained in Proof of Work explained simply. How a single transaction is built from inputs, outputs and change is covered in How does a Bitcoin transaction work?. Where transactions wait until a miner packs them into a block is described in What is a mempool?. This article is about the package itself: what exactly is inside.
As of 13 November 2026 the chain has around 975’600 blocks. Every one of them follows the same structure as the first one from 3 January 2009.
The block header: 80 bytes, six fields
The block header is the most important part of the block, even though it is tiny. It is the only thing miners hash. A block's hash, its identifier, is the double SHA-256 hash of these 80 bytes and nothing else.
| Field | Size | What it contains |
|---|---|---|
| Version | 4 bytes | Rule version; individual bits let miners signal upgrades |
| Previous block hash | 32 bytes | The hash of the block before: the link in the chain |
| Merkle root | 32 bytes | A fingerprint over all transactions in the block |
| Timestamp | 4 bytes | Seconds since 1 January 1970, entered by the miner |
| Bits (target) | 4 bytes | The target the block hash must be below, in compact form |
| Nonce | 4 bytes | The number the miner counts up while trying |
Version: more than a number
The version states which rules the block was built under. Since BIP 9, miners use individual bits in it to signal support for a soft fork, as they did for Taproot in 2021. Since BIP 320, 16 further bits are released for mining devices to vary. That is why the version field of today's blocks often looks like a random number.
Previous block hash: the link in the chain
This field turns many blocks into a chain. If someone changes a transaction in an old block, that block's hash changes. Then the field in the next block no longer matches, its hash changes too, and so on up to the newest block. A forger would have to redo the work for all of those blocks while outpacing the rest of the network.
Timestamp: roughly exact
The miner enters the time itself. So that nobody can cheat by much, two rules apply: the timestamp must be later than the median of the last eleven blocks, and it may be at most two hours in the future, measured by the clocks of the validating nodes. Block times can therefore appear slightly out of order: a block can carry an earlier time than its predecessor. For the difficulty adjustment every 2’016 blocks, this precision is enough.
Bits and nonce: the puzzle and the attempt
"Bits" is the target in a compact notation. A block is only valid if its hash, read as a number, is smaller than this target. The nonce is the field the miner changes to get a new hash. It has only 4 bytes, about 4.3 billion values. A modern mining device runs through them in a fraction of a second. Then something else has to change: the free version bits, the timestamp or, via the coinbase transaction, the Merkle root.
The genesis block header, field by field
Block 0, created on 3 January 2009 at 18:15:05 UTC:
- Version: 1
- Previous block hash: 32 bytes of zeros (there was no predecessor)
- Merkle root: 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b
- Timestamp: 1231006505 (seconds since 1 January 1970)
- Bits: 0x1d00ffff
- Nonce: 2083236893
Decoding bits: The first byte (0x1d = 29) is an exponent, the other three (0x00ffff) the mantissa.
Target = 0x00ffff × 256^(29 − 3) = 0xffff × 2²⁰⁸
This is the target of difficulty 1. The block hash must be smaller, which is why it starts with at least 8 hexadecimal zeros:
000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
Today's targets are around 150 trillion times smaller (difficulty stood at about 148 trillion on 12 November 2026), and hashes start with around 19 zeros.
The Merkle root: one fingerprint for thousands of transactions
The block header contains not a single transaction, yet it binds them all. That is the job of the Merkle root, named after the cryptographer Ralph Merkle.
This is how it is built: every transaction is hashed. Then pairs of hashes are joined and hashed again. 4’000 hashes become 2’000, then 1’000, then 500 and so on until one is left. If a level has an odd number, the last hash is doubled. The final hash is the Merkle root.
This has two consequences. First, nobody can swap, remove or reorder a transaction in the block without changing the root and therefore the block hash. The miner's work would be worthless. Second, you can prove that a particular transaction is in the block without showing the whole block. The hashes along the path from the transaction to the root are enough.
Satoshi Nakamoto already described this method in the 2008 white paper as "Simplified Payment Verification". The headers of all roughly 975’600 blocks together take up only about 78 MB. The full blockchain, by contrast, is about 782 GB.
The coinbase transaction: how new bitcoin are created
The first transaction in every block is special. It has no sender, no previous output it spends and no signature. It is called the coinbase transaction (not to be confused with the exchange Coinbase, which named itself after it). With it, the miner pays itself its reward, and it is the only way new bitcoin come into existence.
How much the miner may pay itself
The reward has two parts:
- The subsidy: newly created bitcoin. Since the halving in April 2024 it is 3.125 BTC per block. When and why it halves is explained in The Bitcoin halving.
- The fees: the sum of the fees of all transactions in the block. Each fee is the difference between a transaction's inputs and outputs, and the coinbase transaction collects exactly these differences.
The outputs of the coinbase transaction may together be at most subsidy plus fees. More makes the block invalid and every node rejects it. Less is allowed, but the remainder is never created. Block 501’726 from December 2017 is such a case: the miner claimed nothing, and 12.5 BTC were never created. That is one reason why there will end up being slightly fewer than 21 million bitcoin.
What else is in the coinbase
Instead of a signature, the coinbase transaction has a free field of 2 to 100 bytes. Since BIP 34 (proposed in 2012, mandatory from block 227’931 in March 2013) it must begin with the block height. The background: in 2010 two blocks contained a coinbase transaction identical byte for byte to an older one. The identical identifier overwrote the older one each time, and those 50 BTC have been unspendable ever since.
The rest of the field is free. Pools write their name into it, and this is where the extranonce sits: extra bytes the miner changes once the nonce and version bits are exhausted. Each change produces a new Merkle root and with it a fresh round of attempts.
The most famous text is in the genesis block: "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks", a headline from the British newspaper The Times. The 50 BTC of that first block, incidentally, cannot be spent; the software never adds them to the set of coins.
Since SegWit, the coinbase transaction also carries an extra output with no value: the witness commitment. It contains a fingerprint over the signature data of all transactions, which is not part of the Merkle root.
100 blocks of waiting
The miner may only spend bitcoin from a coinbase transaction once 100 further blocks have followed, about 16 hours. The reason: if a block drops out of the chain during a short split, its reward disappears. Anyone who had already passed it on would drag all recipients down with it.
The transactions in the block
After the coinbase transaction come the normal transactions, in an order the miner chooses. One rule applies: if a transaction spends the output of another in the same block, that other one must come first. Which transactions the miner takes is decided in practice by the fee rate in satoshis per vbyte. The article on the mempool covers this in detail.
As of November 2026 a block usually contains a few thousand transactions. To look at a block yourself, open it in a block explorer such as mempool.space: the header fields at the top, the coinbase and the transactions below.
- Block 975’857Previous fingerprintPaymentsOwn fingerprint
- Block 975’858Previous fingerprintPaymentsOwn fingerprint
- Block 975’859Previous fingerprintPaymentsOwn fingerprint
How big is a Bitcoin block? From 1 MB to 4 million weight units
Block size is one of the most fiercely contested numbers in Bitcoin's history.
Until 2010 there was no fixed limit other than a technical ceiling of 32 MB per message. Satoshi Nakamoto quietly introduced a 1 MB limit in 2010, presumably as protection against spam blocks.
From 2015 to 2017 the community argued over whether the limit should rise. The outcome in 2017 was SegWit (BIP 141) as a soft fork. It replaced the megabyte with a weight.
Since August 2017: a block may weigh at most 4’000’000 weight units (WU). Every byte outside the signature data counts 4 WU, every byte of signature data (witness) only 1 WU. Older nodes see only the part without signature data, and that stays below 1 MB. This kept the upgrade backward compatible.
Weight, vbytes and actual size
Weight = non-witness bytes × 4 + witness bytes × 1 ≤ 4’000’000 WU
A virtual byte (vbyte) is 4 WU, so at most 1’000’000 vbytes fit into a block.
Example of a SegWit transaction: 110 bytes without witness, 110 bytes of witness
- Weight = 110 × 4 + 110 × 1 = 550 WU = 137.5 vbytes
- Actual size: 220 bytes
The transaction uses 137.5 vbytes of block space even though it is 220 bytes in size. The more witness data a block contains, the larger it gets in bytes at the same weight.
Edge cases:
- Only non-witness data: 4’000’000 ÷ 4 = 1’000’000 bytes = 1 MB
- Almost only witness data: just under 4 MB. The largest block so far, no. 774’628 from February 2023, came close to 4 MB with a large inscription.
On average: The blockchain grows by about 80 to 90 GB a year. With 52’560 blocks a year that is about 1.6 MB per block.
For you, weight matters for the fee: you pay per vbyte, and transactions from SegWit and Taproot addresses weigh less than older ones. What else Taproot changed about size is covered in Taproot and Schnorr.
What a node checks in every block
A block is not valid because a miner sends it. It is valid because every node checks it itself before passing it on. The main checks:
- The header hash is below the target, and the target in "bits" matches the current difficulty.
- The previous block hash points to a known block.
- The timestamp obeys both time rules.
- The Merkle root matches the transactions supplied, and so does the witness commitment.
- The weight is at most 4’000’000 WU.
- The first transaction is a coinbase transaction, and only the first. It pays out no more than subsidy plus fees and starts with the correct block height.
- Every other transaction is valid: its inputs exist and are unspent, the signatures check out, no output is spent twice.
If any check fails, the node rejects the whole block, however much work went into it. That is why even a miner with a great deal of hashrate cannot create bitcoin out of thin air or spend other people's coins: the nodes would not accept the block.
What this means for you as a Bitcoin holder
You don't need to read a block header to save in bitcoin. Three things still help in everyday use.
One confirmation means your transaction is in a block. Every further block on top makes it more expensive to remove it again. Why six confirmations are often used for large amounts is worked through in the article on the Bitcoin transaction.
Block space is scarce and fixed. About 1’000’000 vbytes every ten minutes, no matter how many people want to send right now. That is why fees fluctuate and why it pays to consolidate small amounts before moving them into your own custody.
The money supply is in every coinbase transaction. Every node checks in every block that the miner takes no more than the allowed subsidy. The 21 million cap is not a company's promise but this one check, about 144 times a day.
Frequently asked questions
What is a Bitcoin block in simple terms?
A data package appended to the blockchain about every ten minutes. It consists of an 80-byte header, which points to the previous block and proves the work, and a list of transactions starting with the miner's coinbase transaction.
How big is a Bitcoin block?
The limit is a weight of 4’000’000 weight units. In bytes that is between 1 MB and just under 4 MB, depending on the share of signature data. On average, blocks today are about 1.6 MB.
What is the coinbase transaction?
The first transaction in every block. It has no sender and pays the miner the subsidy (3.125 BTC since April 2024) plus the fees of all transactions in the block. It is the only way new bitcoin are created.
How many transactions fit into a block?
That depends on their size. A simple SegWit transaction uses about 140 vbytes; at 1’000’000 vbytes per block that would be a little over 7’000. Because many transactions are larger, a block usually contains a few thousand.
What is the difference between the block hash and the Merkle root?
The Merkle root is a fingerprint over all transactions and sits in the block header. The block hash is the fingerprint of the entire header, including the Merkle root, and serves as the block's identifier.
Can a block be changed afterwards?
Any change would alter the block hash and invalidate every later block. An attacker would have to redo the work for that block and all following ones and overtake the rest of the network. For blocks that already have a few confirmations, that is practically impossible.
Sources
- Satoshi Nakamoto: Bitcoin white paper (2008), sections 4, 7 and 8
- Bitcoin Developer Guide: Block Chain
- Bitcoin Developer Reference: Block Headers
- BIP 34: Block v2, Height in Coinbase
- BIP 141: Segregated Witness (block weight and witness commitment)
- BIP 320: nVersion bits for general purpose use
- mempool.space: Genesis block
Not financial, legal or tax advice. Models are no guarantee.
The Bitcoin Power Law newsletter
An email when we publish a new article or calculator. Every issue has a one-click unsubscribe link.