Genesis Block – The Coinbase Transaction

Everything after the 80-byte header: how the first bitcoins were created

Raw Serialized Form – Coinbase Transaction (204 bytes)

This is the exact byte-for-byte content that appears after the block header and the 1-byte transaction count (01).

Version (4 bytes) 01000000
Input count (1 byte) 01
Input – prev tx hash (32 bytes) 0000000000000000000000000000000000000000000000000000000000000000
Input – output index (4 bytes) ffffffff
ScriptSig length (1 byte) 4d
ScriptSig (77 bytes) 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73
  └─ embedded message: The Times 03/Jan/2009 Chancellor on brink of second bailout for banks
Sequence (4 bytes) ffffffff
Output count (1 byte) 01
Output – value (8 bytes) 00f2052a01000000 (50 BTC = 5,000,000,000 satoshis)
ScriptPubKey length (1 byte) 43
ScriptPubKey (67 bytes) 4104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac
  └─ public key (65 bytes): 04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f
Locktime (4 bytes) 00000000

What is a Coinbase Transaction?

A coinbase transaction is how new bitcoins are created in every block. It has no real “from” address — it mints brand-new coins as a reward for the miner who solved the block puzzle.

In the genesis block there is only one transaction — this coinbase — which created the very first 50 BTC.

Key Properties of the Genesis Coinbase

How the Raw Public Key Becomes the Familiar Address

The genesis block doesn't actually use a modern Bitcoin address in its output script. Instead, it places the full public key directly into the locking script (an old style called Pay-to-Public-Key or P2PK).

However, block explorers and wallets usually display this output as the more familiar address starting with “1”. Here's exactly how that address is derived from the raw public key — step by step.

The Starting Point: Raw Uncompressed Public Key (65 bytes)

04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f

This 65-byte value begins with 04 (the marker for uncompressed format) and is the actual cryptographic public key embedded in the genesis coinbase output.

Step 1: Compute SHA-256 of the public key

261c1eb21fc4708c6acbe1cfc6d4565652e9e768b620782898936b93000a6c02

Step 2: Compute RIPEMD-160 of that SHA-256 result

This produces a 20-byte value called the hash160 (also called pubkey hash):

62e907b15cbf27d5425399ebf6f0fb50ebb88f18

This 20-byte hash is the core of most legacy Bitcoin addresses.

Step 3: Add the version byte (mainnet = 0x00)

0062e907b15cbf27d5425399ebf6f0fb50ebb88f18

The leading 00 tells software this is a standard P2PKH address on the Bitcoin main network.

Step 4: Compute the checksum (first 4 bytes of double SHA-256)

Double-hash the 21 bytes above (SHA-256 twice) and take the first 4 bytes:

First SHA 256 gives:

9b90f16de7f0e580c07735dac15ffe23e2f8f8e103914e509aa91913ffdb9fb6

Second SHA 256 gives:

c29b7d937e3049e279391e62fdf00c12def7444013ddf6215808d10e9f2d5996

First 4 bytes

c29b7d93

Step 5: Append the checksum and Base58Check encode

Combine the version + hash160 + checksum:

0062e907b15cbf27d5425399ebf6f0fb50ebb88f18c29b7d93

Then convert that 25-byte string into Base58Check format (the friendly string that avoids confusing characters like 0/O, I/l):

1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa

This is the confirmed address as seen at: Genesis Block on Mempool

Key Things to Understand

  • The genesis block itself uses the full public key in its script — not the address.
  • The address 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa is what explorers and wallets derive and display for convenience.
  • Any modern P2PKH address is created the same way: public key → hash160 → version + checksum → Base58Check.
  • The original 50 BTC remain unspendable regardless — due to the special genesis rule — not because of the key or address.

This derivation process is why block explorers show the genesis reward as going to 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa, even though the actual blockchain script contains the longer public key.

Why the original 50 BTC can never be spent

Although the output looks normal, Satoshi hardcoded an exception in the original Bitcoin software:

This makes the first 50 BTC a permanent museum piece. Small amounts later sent to the derived address 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa are spendable if someone has the private key — but the original reward cannot move.

Summary

The part of the genesis block after the header is just one carefully crafted coinbase transaction (~204 bytes). It:

This single transaction is the root from which every bitcoin in existence is ultimately derived.