Pearl Burn

Provable-burn desk for PRL · burn addresses by construction, certificates by math

Generate a burn address

Pick a public tag — a cause, a date, a meme. The burn address is derived from it with no secret material anywhere: internal = lift_x(SHA-256("PearlBurnNUMS/v1:" || tag)), then the standard TapTweak to the P2TR output key. Because nobody knows the discrete log of a hash output, the tweaked key is equally unspendable. Same tag always gives the same address — that is what makes the burn provable.

Plan the burn transaction

Enter the PRL to burn and the UTXO that funds it. The desk builds the exact unsigned transaction: one P2TR output to the burn address plus one P2TR change output, with real vByte fee math (154 vB for 2 outputs, 111 vB for 1). The burn output can never be below the 333-grain dust floor, and a dust-valued change is refused loudly — sweep it into the burn instead.

Seal a burn certificate

The certificate binds tag → address → amount → txid under one hash: seal = pearl-burn:v1:<hrp>:SHA-256("pearl-burn:v1:<hrp>:<tag>:<address>:<grains>:<txid>"). Use pending as the txid before broadcast, then re-seal with the real txid after the burn confirms. Anyone holding the certificate can re-verify it offline.

Verify a burn

Two independent checks. Certificate: paste any Pearl Burn certificate — the desk recomputes tag → address and the seal hash, and returns PROVEN only if every field matches. On-chain: paste a txid and the expected burn address + amount — the desk queries Blockbook (GET-only) and confirms the output really exists, with its block height and timestamp.

Certificate check (fully offline)

On-chain check (Blockbook, GET-only)