Welcome to the P2PK playground, where you can create a P2PK output on one of bitcoin's testnets! Click here for FAQs.
What is a P2PK output?
Don't ask that yet! First ask "what's an output?" It's easier that way.
Okay...what's an output?
An output is basically another name for a "recipient" in a bitcoin transaction. Every transaction contains two sections, Inputs and Outputs. Inputs are essentially the senders; outputs are essentially the recipients. Normally, an output in a bitcoin transaction contains two things: (1) the recipient's bitcoin address (2) an amount sent there in that transaction.
Now can I ask what a P2PK output is?
Yes!
This is the weirdest FAQ I've ever read.
That's not a question.
Why is this the weirdest FAQ ever?
Because I thought it would be funny if I wrote it this way.
What is a P2PK output?
P2PK means "pay to pubkey." A P2PK output is an output like normal except instead of sending money to a bitcoin address, the transaction sends money to a "raw pubkey." So the output looks funny -- there's just a public key there, not a normal bitcoin address.
Wait, you can send someone bitcoin without having their bitcoin address?
Yes!
I don't know, Rick, sounds fake.
No, really! In the early days of bitcoin, it was common to send money directly to your recipient's public key, by requesting a new one from their node whenever you wanted to send them money. Eventually, it became popular to use bitcoin addresses instead, because they were designed for "offline" usage -- you could just stick them on a website somewhere without needing to run a node and keep it online to dole out pubkeys. But bitcoin still supports the old ways because devs are sticklers about backward compatibility.
Do people still use P2PK outputs?
The short answer is no. The long answer is yes. If you visit Clark Moody's Bitcoin Dashboard and go to the section "Output Type Counts (90 Days)" you can see that people do occasionally use them:
But hardly ever.
Can I make a P2PK output?
Yes! Just follow the instructions below and you'll make a P2PK output of your own.
Step 1
Use bitcoin's "signet" network to send fake bitcoins (also known as "signet coins") to this signet bitcoin address:
If you don't have signet coins, send them using this faucet:
Choose whether you want to use a "compressed" pubkey or an "uncompressed" one. Compressed pubkeys are the norm in bitcoin because they are about half the size of uncompressed ones, and thus, cheaper; but in the early days of bitcoin, I'm not sure Satoshi knew compressed pubkeys were a thing, so he made uncompressed ones the default, til someone came along later and fixed it. But for the sake of backwards compatibility, uncompressed ones still work. Make your choice!
Step 3
Enter a pubkey (one that starts with 02 or 03). If you don't have one, click "Generate pubkey" to make one.
Your pubkey
Step 4
Click the Submit button. When you do, several things will happen at once:
The previous steps will disappear (including this one)
A bitcoin transaction will be created that sends money from the address in step 1 to the raw pubkey in step 2
Some new steps will appear, displaying your transaction and telling you what to do next
Step 5
Here is your transaction:
Go to this site and broadcast it by pasting it into the field that says "Broadcast Transaction" and then clicking the Broadcast Transaction button.
Step 6
View your transaction here to see how weird it looks:
NOTE: the above link won't work til you've completed step 5.
Step 7
Now it's time to spend from your raw pubkey. Enter a bitcoin address (NOT a raw pubkey) where you want to send the money that's currently in your pubkey.
If you don't know where to send it, try pasting my signet address:
You're done! There is no Step 9. If you followed the above steps correctly, you sent money to a raw pubkey and then "spent from" that raw pubkey to send the money somewhere else. You're an expert bitcoiner!
View your transaction here:
NOTE: the above link won't work til you've completed step 8.