TECHNICAL_DOC // BLOCK / GENESIS-BLOCK
GENESIS
BLOCK
BLOCK
Block 0 — the Genesis Block — is the only block in Bitcoin with no parent.
It is hardcoded directly into Bitcoin Core's source code. Its transaction/">coinbase transaction is
unspendable by a quirk of the original implementation, and it carries a famous newspaper
headline that establishes its creation date and political context.
THE_GENESIS_BLOCK_HEADER
BLOCK HEADER — RAW HEX (80 BYTES)
0100000000000000000000000000000000000000000000000000000000000000
000000003BA3EDFD7A7B12B27AC72C3E67768F617FC81BC3888A51323A9FB8AA
4B1E5E4A29AB5F49FFFF001D1DAC2B7C
DECODED
FIELD BREAKDOWN
Version: 01000000 = 1
Prev Block: 000000...000000 = all zeros (no parent)
Merkle Root: 3BA3EDFD...4B1E5E4A (coinbase tx only)
Time: 29AB5F49 = 1231006505 = 2009-01-03 18:15:05 UTC
Bits: FFFF001D = target 0x00000000FFFF...
Nonce: 1DAC2B7C = 2083236893
Block Hash:
000000000019D6689C085AE165831E934FF763AE46A2A6C172B3F1B60A8CE26F
THE_COINBASE_MESSAGE
Embedded Newspaper Headline
TIMESTAMP PROOF
Satoshi embedded the front-page headline of The Times (London) newspaper dated January 3, 2009,
in the coinbase ScriptSig. This proves the Genesis Block was not premined before that date,
and may comment on the financial crisis that motivated Bitcoin's creation.
Coinbase ScriptSig (hex):
04FFFF001D0104455468652054696D65732030332F4A616E2F32303039
204368616E63656C6C6F72206F6E206272696E6B206F6620
7365636F6E64206261696C6F757420666F722062616E6B73
Decoded ASCII:
"The Times 03/Jan/2009 Chancellor on brink of
second bailout for banks"
This is the only block whose coinbase message is universally recognized as a founding document. It cannot be altered — it is immutably anchored to the chain tip of every node/">full node.
WHY_THE_GENESIS_COINBASE_IS_UNSPENDABLE
Implementation Quirk
UNSPENDABLE
The 50 BTC reward from the Genesis Block coinbase transaction can never be spent. This is
not by design — it is a bug in the original Bitcoin client that was never fixed.
Genesis coinbase TxID:
4A5E1E4BAAB89F3A32518A88C31BC87F618F76673E2CC77AB2127B7AFDEDA33B
In normal block processing, coinbase TxIDs are added to a transaction
index. The Genesis Block was never added to this index by the original
code, so it cannot be looked up or spent.
The 50 BTC remain locked at:
1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
(people still send BTC here as tribute — ~72 BTC accumulated)
KEY_FACTS
Timestamp2009-01-03 18:15:05 UTC
Nonce2,083,236,893
Block reward50 BTC (unspendable)
Difficulty1 (minimum)
Previous block hash000000...000000 (all zeros)
HARDCODED_IN_BITCOIN_CORE
The Genesis Block is hardcoded in src/chainparams.cpp in Bitcoin Core. Every
node independently validates that their chain descends from this exact block. Any chain that
does not connect back to the Genesis Block is rejected. It is the single shared anchor of
the entire Bitcoin network.
TERMINOLOGY_INDEX
Genesis Block
Block 0. The first Bitcoin block, hardcoded into every full node. Has no previous block hash.
Coinbase Tx
The first transaction in a block, creating new bitcoin. The Genesis coinbase is permanently unspendable.
chainparams.cpp
Bitcoin Core source file containing hardcoded network parameters including the Genesis Block.
Timestamp Proof
The embedded newspaper headline proves the Genesis Block could not have been created before Jan 3, 2009.
INTERACTIVE — TRY IT YOURSELF
BLOCKS / HISTORY
Genesis Block
Block 0 — the genesis block — is hardcoded in every Bitcoin client. It was mined by Satoshi Nakamoto on January 3, 2009. Its coinbase contains an embedded newspaper headline, its 50 BTC reward is unspendable by protocol rule, and its nonce of 2,083,236,893 represents roughly two billion hash attempts. This page lets you verify every byte.
BLOCK HEADER — VERIFY THE HASH
80-BYTE HEADER → SHA256d HASH VERIFICATION
VERSION4 bytes LE
01000000 = v1
PREVIOUS BLOCK HASH32 bytes
0000000000000000000000000000000000000000000000000000000000000000
MERKLE ROOT32 bytes
3ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a
TIMESTAMP4 bytes LE
29ab5f49 = 0x495fab29 = 1231006505 = 2009-01-03 18:15:05 UTC
NONCE4 bytes LE
b9ed4b7c = 0x7c4bedb9 = 2,083,236,793 (known genesis nonce)
COINBASE TRANSACTION — THE EMBEDDED MESSAGE
The genesis coinbase scriptSig contains an ASCII-encoded newspaper headline: "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks". This was Satoshi's timestamp proof AND commentary on the financial system that Bitcoin was designed to circumvent.
COINBASE SCRIPTSIG — DECODE THE MESSAGE
RAW SCRIPTSIG (HEX)click to decode
04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73
WHY IS THE GENESIS REWARD UNSPENDABLE?
The genesis block coinbase output (50 BTC) is hardcoded to be unspendable. When Bitcoin Core validates transactions, coinbase outputs require 100 confirmations before spending. But the genesis block coinbase transaction is not included in the utxo-set/">UTXO set — Bitcoin Core specifically excludes it. Satoshi likely intended this, though the exact reason is unknown.
GENESIS OUTPUT
OUTPUT VALUE
50 BTC (5,000,000,000 satoshis)
4104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac
P2PK format:
41 (65-byte push) + 04... (uncompressed pubkey) + ac (OP_CHECKSIG). This is the old P2PK format, not P2PKH. The 65-byte uncompressed public key is directly in the scriptPubKey rather than a hash of it.
UNSPENDABLE: Bitcoin Core's
GetTransaction() excludes the genesis coinbase TXID from the UTXO set. Any attempt to spend it returns "bad-txns-inputs-missingorspent". The 50 BTC is permanently locked — adding ~$3M (at current prices) of unspendable supply to the 21M coin maximum.
Block hash vs TXID byte order: The genesis block hash displayed by block explorers is
000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f. This is the SHA256d output with its bytes reversed for display. The internal (little-endian) hash stored in subsequent block headers is the raw bytes in reverse order.