§ 04

§ 04 · Keys & addresses · Overview

Keys & addresses

From a random number to a prl1 address, and the 12 words that back it up

Owning PRL means knowing a secret number. This group follows that number all the way to the address you hand out, and back to the 12 words that let you rebuild it.

Almost all of it is borrowed from Bitcoin, unchanged: the same curve, the same signatures, the same Taproot tweak and the same checksum algorithm. What Pearl changes is the packaging: one address family, new prefixes, a new derivation path and a few wallet habits worth knowing before you trust a backup.

Try it

Pick any private key and watch it become a public key, a tweaked key and a prl1 address, one step at a time.

Key forge

Private key → public key → Taproot tweak → prl1 address

For learning only. A key shown on a web page is not secret. Never send real PRL to an address made here.

Key 1 is the most famous key there is: its public key is the generator point G itself. Anyone can spend from its addresses.

  1. 1

    Private key d

    A secret number between 1 and n − 1 (n ≈ 1.16 × 10⁷⁷). 32 bytes.

    0000000000000000000000000000000000000000000000000000000000000001

  2. 2

    Public key P = d·G

    Multiply the curve’s starting point G by d. Compressed: a parity byte, then x.

    0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798

    02 · y is even Taproot keeps only x (32 bytes, “x-only”) and assumes the even y.

  3. 3

    Tweak t

    t = TaggedHash(“TapTweak”, P.x)

    3cf5216d476a5e637bf0da674e50ddf55c403270dd36494dfcca438132fa30e7

    BIP-86: no script tree, so the tweak commits to the key alone. It proves there is no hidden script.

  4. 4

    Output key Q = P + t·G

    The key that actually goes on the chain. Its private key is d + t (with d negated first if P’s y was odd).

    da4710964f7852695de2da025290e24af6d8c281de5a0b902b7135fd9fd74d21

  5. 5

    Address bech32m

    Prefix + “1” + witness version 1 (“p”) + Q in 5-bit letters + a 6-letter checksum.

    prl1pmfr3p9j00pfxjh0zmgp99y8zftmd3s5pmedqhyptwy6lm87hf5sse9xfq3

    scriptPubKey 51 20 da 47 10 96… (63 characters)

Runs in your browser · nothing is sent · keys are never saved src/lib/keys.ts · bech32m.ts

What’s the chain from secret to address?

Five steps, each one-way. You can always go down the chain, never back up.

private keydpublic keyP = d·Gtweakt = H(P)output keyQ = P + t·Gaddressprl1p…randomcurve mathtagged hashcurve mathbech32m
From a secret number to an address. Each arrow is easy to compute and impossible to reverse.

Here is a real Pearl address, taken from a payment in block 130,825:

prl1pvt5a5d5z42egswfv7uscht7rv2rj3z4m8n3qp3w35592ydq88v4seuhn70

Every mainnet address is exactly 63 characters, because every Pearl address carries exactly 32 bytes.

What’s in this group?

Read these in order the first time. Each takes five to ten minutes.

Page What you’ll learn
Private key The range of valid keys, how wallets pick them, and the WIF format (identical to Bitcoin’s).
Public key Points on secp256k1; compressed and 32-byte x-only keys; what a Schnorr signature checks.
Taproot tweak Why the key in your address isn’t quite your public key, worked through with real numbers.
Address The five parts of a prl1 address, the prefixes for each network, and the 63-character rule.
Bech32m How the 6-character checksum is computed and why it catches typos.
Mnemonic and seed How 128 random bits become 12 words and then a 64-byte seed. No passphrase on Pearl.
Extended keys zprv and zpub: a key plus a chain code, and why Pearl reuses Bitcoin’s “z” prefixes.
Derivation paths m/86’/808276’/0’/0/i, where 808276 comes from, and Oyster’s 0.8% quirk.

Where does Pearl differ from Bitcoin?

Topic Bitcoin Pearl Explained in
Curve and signatures secp256k1; ECDSA and Schnorr secp256k1; Schnorr only in transactions (plus optional XMSS)
Address types 1…, 3…, bc1q…, bc1p… prl1p… (Taproot) and prl1z… (P2MR) only
Address length bc1p: 62 characters 63 on mainnet, 64 on test networks
Checksum bech32 (v0) and bech32m (v1+) bech32m only
Wallet path m/86'/0'/0'/0/i for Taproot m/86'/808276'/0'/0/i
Extended keys xprv / xpub for Taproot zprv / zpub (Bitcoin uses these bytes for bc1q wallets)
Backup words 12 or 24, optional passphrase 12 words, no passphrase

What should you never share?

  • Share freely: your addresses. That’s what they are for. Wallets hand out a fresh one each time for privacy.
  • Share with care: an extended public key (zpub). It reveals every address in the account, so it costs privacy, not coins.
  • Never share: a private key, a WIF string, a zprv, or the 12 words. Each one is enough to take your coins. No Pearl developer, support person or website will ever need them.

In this group

  1. 04.01 Private key A very large random number
  2. 04.02 Public key A point on the curve that anyone can check signatures against
  3. 04.03 Taproot tweak Why the key in your address isn't quite your public key
  4. 04.04 Address A locking script, written for humans
  5. 04.05 Bech32m The checksum that catches your typos
  6. 04.06 Mnemonic and seed Twelve words that rebuild every key
  7. 04.07 Extended keys A key plus a chain code, which together grow a whole tree
  8. 04.08 Derivation paths The street address of every key in your wallet

The codex

Suggested

Up and down arrows move through the results, Enter opens one, Escape closes. Anywhere on the site, slash or Command K opens this search, and the square brackets [ and ] go to the previous and next page.