04 / 691BLK·0

Genesis Block

Block 0

The block at height 0 from which the Bitcoin main network’s history begins.

Genesis Block is the fixed starting block of Bitcoin mainnet. Its header is dated 3 January 2009. It contains one transaction creating a 50 BTC output that receives special treatment and cannot be spent.

Genesis has no previous block: the corresponding header field is zero. Bitcoin Core constructs its data from network parameters and checks the expected hash. Nodes therefore do not start from an arbitrary block supplied by a peer. The block at height 1 references the genesis hash; changing the starting point would produce a different history. [Bitcoin Core v29.0 — chain parameters]

The header time is 1231006505, meaning 3 January 2009 at 18:15:05 UTC. This is a value supplied by the block’s creator, not an independent record of when mining finished. The newspaper text inside helps establish historical context, but does not itself prove the exact hour or the author’s civil identity. [Bitcoin Core v29.0 — chain parameters] [Bitcoin Developer Reference — Block Chain]

The sole transaction’s input contains the English text of a Times headline about a threatened second bank bailout. The message belongs to the transaction data, rather than being a block explorer’s annotation. Reading it as criticism of bank rescues interprets the choice of text; the protocol derives no political rules from it. [Bitcoin Core v29.0 — chain parameters]

When connecting genesis, Bitcoin Core skips connecting its transactions, so the original output never enters the UTXO set. This is not the ordinary wait for mining rewards to mature, and further confirmations do not unlock it. Even knowing the corresponding private key would not create the missing spendable output. [Bitcoin Core v29.0 — genesis validation exception]

An explorer may show later incoming payments at an address associated with genesis. Those are not block 0’s original output: they have their own transaction identifiers and spending conditions. The special omission of genesis does not automatically apply to them. An address balance must therefore not be confused with spendability of the original 50 BTC. [Bitcoin Core v29.0 — genesis validation exception] [Bitcoin Developer Reference — Block Chain]

On your own mainnet node, getblockhash 0 returns an identifier beginning 000000000019d668. Calling getblock with that hash and verbosity 2 displays the block and its decoded transaction. These data can be compared with Bitcoin Core’s parameters; an explorer screenshot alone does not replace checking the data. [Bitcoin Core — getblockhash RPC] [Bitcoin Core — getblock RPC]

Test networks and regtest have their own parameters and different genesis hashes. Check the network before comparing, not just height 0. A matching genesis establishes a common starting point, but does not itself prove every subsequent block valid, a wallet secure or someone currently in control of keys. [Bitcoin Core v29.0 — chain parameters]

For the clearest picture, read this entry together with Bitcoin, Satoshi Nakamoto, Bitcoin Whitepaper, Block Subsidy, Timechain. The reverse links also lead from Bitcoin, Satoshi Nakamoto, Timechain, Block Subsidy.

DOC · 001Bitcoin Core v29.0 — chain parametersPrimaryDOC · 002Bitcoin Core v29.0 — genesis validation exceptionPrimaryDOC · 003Bitcoin Core — getblockhash RPCPrimaryDOC · 004Bitcoin Core — getblock RPCPrimaryDOC · 005Bitcoin Developer Reference — Block ChainPrimary
Reviewed 1 August 2026Source-first · No investment advice