P2PK (Pay to Public Key)
An older script type locking coins directly to a public key, mostly replaced by P2PKH.
P2PK - "Pay to Public Key" - is the script format Bitcoin's earliest blocks used. It locks an output to a raw public key (not a hash of one), and unlocks via a signature over the spending transaction.
Notable history:
- Used in the genesis block. Satoshi's first 50 BTC coinbase output is a P2PK: a 65-byte public key followed by
OP_CHECKSIG. The format also dominates the chain's first year; more than 99% of the outputs created in 2009 were P2PK. - Used by Satoshi's early mining. The original client paid every coinbase reward to a raw public key, so the roughly 22,000 early blocks that researcher Sergio Lerner attributes to Satoshi (close to 1.1M BTC) sit at P2PK outputs, and 99.9% of them have never been spent.
- Faded during 2010. Bitcoin addresses, which lock to a key hash (P2PKH), were part of the first release too; Satoshi's code calls them the "short account number" form. The original client used P2PK for coinbase rewards, for payments sent to an IP address, and for its own change. As coins started changing hands by address, P2PK fell from 99.5% of new outputs in 2009 to 30% in 2010 and 2.5% in 2011.
What P2PK has against it:
- Public key visible on-chain immediately. Defeats the quantum-defense-in-depth that hash-based addresses provide. The public key is on chain from output creation, meaning P2PK outputs are exposed to a future Shor's-algorithm-capable quantum computer for as long as the coins sit there, with nothing protecting them in the meantime.
- Bigger outputs. A 33-byte compressed pubkey (or the 65-byte uncompressed kind the early blocks used) is larger than a 20-byte hash.
- No address format. P2PK never got a checksummed address; explorers show the output as the public key itself in hex. Easy to fat-finger.
P2PK outputs are still spendable - Bitcoin Core still recognizes the script type - but wallets stopped creating them long ago: P2PK rounds to 0% of new outputs in 2026. They mostly live on as a historical artifact and a vector for academic curiosity. The Satoshi-era P2PKs, in particular, come up in every quantum discussion: BIP 360 names "Satoshi's coins" as its first example of exposed outputs.
See P2PKH for the format that replaced it.
Key takeaways
- Locks funds to a raw public key, not a key hash
- Visible in Satoshi's early mined blocks but now uncommon
- Less private and flexible than current script forms
Related chapters
Corrected
-
Was: The entry said P2PK was mostly abandoned by about 2010 because P2PKH 'replaced it for new receives once the community recognized that revealing the public key only at spend time was strictly better', presenting hashed addresses as a later invention.
Now: Both script types shipped in Bitcoin's first release; Satoshi's code calls P2PKH the 'short account number' form. The original client used P2PK for coinbase rewards, pay-to-IP payments and its own change, and P2PK's share of new outputs fell from 99.5% in 2009 to 30% in 2010 and 2.5% in 2011 as coins changed hands by address. Details
Sources (7)
- Satoshi Nakamoto - Bitcoin v0.1.5 main.cpp (the first commit in the Bitcoin Core repository, August 2009): the genesis block and every coinbase reward from the built-in miner pay a public key followed by OP_CHECKSIG, and the client uses the same script for payments sent to an IP address and for its own change
- Satoshi Nakamoto - Bitcoin v0.1.5 script.cpp: the two standard templates are 'sender provides pubkey, receiver adds signature' (P2PK) and the 'short account number' form, 'sender provides hash of pubkey, receiver provides signature and pubkey' (P2PKH)
- mempool.space - the genesis block's coinbase transaction (API): a single 50 BTC output of type p2pk, a 65-byte public key followed by OP_CHECKSIG, with no address field
- mainnet-observer - Output Types by Count (daily CSV read October 14, 2026): P2PK was 99.5% of outputs created in 2009, 30% in 2010, 2.5% in 2011, and rounds to 0% in 2026
- Sergio Lerner - The Return of the Deniers and the Revenge of Patoshi (April 2019): about 22,000 blocks, close to 1.1M BTC, 99.9% of Patoshi blocks unspent
- BIP 360 (Draft, Pay-to-Merkle-Root): P2PK outputs ('e.g. Satoshi's coins, CPU miners') are fundamentally vulnerable to long-exposure quantum attacks, which give an attacker unlimited time as long as funds remain in the output; its table gives P2PK's address prefix as 'Varies' and a hex public key as the example
- Bitcoin Core - src/script/solver.cpp: a P2PK script is a 65- or 33-byte public key followed by OP_CHECKSIG, still recognized by the script solver as output type 'pubkey'
Related terms (9)
Published . Revised . One correction logged for this page.
Edit this page on GitHub