The candidate block
Miners gather recent transactions into a new page of the ledger, waiting to be added.
Step 3 of 143 min readUpdated October 5, 2026
A page waiting to be added#
A miner builds a candidate block: a proposed new page of the ledger. They pick transactions from their mempool, usually those paying the highest fees per unit of space, until the block is full. The limit is 4 million weight units, about 1.5 to 2 MB in practice.
The block is only a candidate: it becomes part of the ledger if, and only if, its miner is the first to find a valid hash for it.
What is inside#
A block has two parts:
- a header of 80 bytes: the previous block’s hash, a summary of all transactions, the time, the target and the nonce. This is what miners hash;
- the list of transactions, starting with the coinbase.
Here is a real block, mined on 5 October 2026, as an explorer’s API describes it:
{
"id": "000000000000000000006823c66adca44d6d8172d657bca08c3e83498ade8b1f",
"height": 969985,
"version": 909025280,
"timestamp": 1791191074,
"tx_count": 3949,
"size": 1585803,
"weight": 3997641,
"merkle_root": "b4ae947d0bc7aa9aab59604cfd9024f69a65b87faa2a1a157d18ba41215d68fd",
"previousblockhash": "00000000000000000001e125a4e0db6f8750380480058f1bac0a8d988fbed9f3",
"nonce": 3046848512,
"bits": 386014960,
"difficulty": 132716002350731.27
}Its header is decoded byte by byte on the block header reference page.
The first transaction pays the miner#
The first transaction of every block is special: the coinbase. It has no sender; the miner writes it to pay themselves the block reward, to the address of their choice. If the block is found, this payment becomes valid with it.
One summary for thousands of transactions#
The header does not contain the transactions themselves, only their summary: the Merkle root. Change any transaction, even by one character, and the Merkle root changes, so the header changes, so the hash changes.
Technical details
Transaction identifiers are hashed in pairs, then the results in pairs, and so on until one hash remains: a Merkle tree. A node can prove that a transaction is in a block with only about a dozen hashes, whatever the number of transactions.