Chapter 10 · Beginner guide
Keys and addresses
A secret number, a public key and a prl1 address
On this page 7 sections
Owning PRL doesn’t mean having an account somewhere. It means knowing a secret number.
This page follows that number as your wallet turns it into a public key, then into an address you can hand to anyone.
What is a private key?
Everything starts with a random number. Your wallet picks one between 1 and roughly , a number up to 78 digits long. That number is your private keyPrivate key: A huge random number (256 bits) that only you should know. It lets you sign transactions that spend your coins, so whoever has it controls them..
There are so many possible keys that guessing someone else’s is hopeless. The danger isn’t guessing; it’s a key that wasn’t really random, or one that leaks. So never invent your own key from a birthday or a favorite phrase. Let the wallet’s random number generator do it.
Whoever knows a private key can spend the coins it controls. That’s the whole security model, in one sentence.
What is a public key?
From the private key, your wallet computes a public keyPublic key: A number made from your private key with elliptic-curve math. Anyone can use it to check your signatures, but no one can work backwards from it to the private key., using elliptic-curve math on a curve called secp256k1secp256k1: The particular elliptic curve Bitcoin uses. Pearl uses exactly the same curve for its keys and Schnorr signatures.. It’s the same curve Bitcoin uses.
Think of mixing paint. Yellow and blue make green in seconds, but no one can take green paint and separate it back into yellow and blue. Going from private key to public key is quick and easy; going back is believed to be impossible with today’s computers.
That one-way street is what lets you show your public key to the world while your private key stays secret.
How does a key prove ownership?
With a signatureSignature: Proof, made with a private key, that the key's owner approved one exact transaction. Anyone can check it with the public key, and it is useless for any other transaction.. When you spend, your wallet combines your private key with the exact transaction and produces a 64-byte Schnorr signatureSchnorr signature: The signature scheme Pearl uses to spend coins: 64 bytes, defined in Bitcoin's BIP-340. Pearl transactions never use the older ECDSA signatures..
Anyone can check it against your public key. Nobody can make one without the private key, and a signature for one transaction is useless for any other.
What is an address?
An addressAddress: The text you share to get paid, like prl1p… It holds a 32-byte key or script fingerprint plus a checksum, and every Pearl mainnet address is exactly 63 characters long. is what you give people so they can pay you. A Pearl address looks like this:
prl1pmfr3p9j00pfxjh0zmgp99y8zftmd3s5pmedqhyptwy6lm87hf5sse9xfq3
That one belongs to private key number 1, which is famous precisely because everyone knows it. Never send coins to it: anyone could spend them.
Every Pearl mainnet address is exactly 63 characters, and every one is built from the same five parts.
- prl is the human-readable partHuman-readable part (HRP): The prefix before the 1 in an address, naming its network: prl on mainnet, tprl on the test networks and rprl on regtest.. It names the network: prl for the real one, tprl for test networks.
- 1 is a separator, so software knows where the prefix ends.
- p is the witness versionWitness version: A number at the start of an output's lock that says which spending rules apply. Pearl accepts only version 1 (Taproot, prl1p…) and version 2 (P2MR, prl1z…).. p means version 1, a Taproot address, which is what wallets make by default. A z here would mean version 2, a P2MR address.
- The next 52 characters hold 32 bytes: on a Taproot address, that’s a public key itself, not a hash of one.
- The last 6 characters are the checksum.
The key inside the address isn’t quite your public key. Your wallet first applies a small, standard adjustment called the Taproot tweakTaproot tweak: The step that shifts your public key to the key inside your address, by an amount set by a hash of the key (and of any script tree). Same as Bitcoin’s Taproot (BIP-341, and BIP-86 for key-only addresses)., which mixes in a hash of the key. That’s what lets an address quietly commit to backup spending rules, without showing them.
What does the checksum do?
The last six characters are calculated from everything before them, using a format called bech32mBech32m: The format Pearl addresses are written in: a prefix (prl), the separator 1, data in a 32-character alphabet, and a 6-character checksum that catches typos. Same algorithm as Bitcoin’s bc1p addresses.. Mistype a character, and the checksum almost certainly stops fitting. Your wallet refuses the address before any coins move.
The format also leaves out characters that are easy to confuse. After the separator, you’ll never see the letters b, i or o, or the digit 1.
Try it: change any character of the address below and watch it turn invalid.
Make a guess
You copy an address and accidentally change one character. What happens when you try to send?
Think of your answer first, then check it.
Answer Your wallet refuses to send.
The checksum was computed from the original characters. With one changed, it no longer matches, so the wallet knows the address is wrong. Your coins stay where they are, and you can paste the address again.
How does it all fit together?
Follow one key all the way through, step by step: random number, public key, tweak, address.
What is safe to share?
- Your address: yes. That’s what it’s for. For privacy, wallets usually give you a fresh one each time.
- Your public key: a tweaked version of it is inside your address already.
- Your private key: never, with anyone, for any reason. The same goes for the 12 words that back it up, which the next page explains.
One private key is fine for one address. But wallets juggle hundreds of keys, and nobody wants to back up hundreds of 78-digit numbers. That’s where the 12 words come in.