Pearl Mesh

MuSig2 collaborative keypath desk for PRL · many weavers, one key

Gather the weavers

A mesh holds 2–7 members. Each member contributes an x-only (32-byte) public key — pasted from any wallet, or derived here from a fresh local BIP-86 mnemonic (m/86'/808276'/0'/0/i). Only members whose key was derived on this device can sign in the guided ceremony below; pasted-key members sign on their own machines and paste their bundles back.

Add a member

Or derive a local member key

Generates a mnemonic in this page's memory only and derives one BIP-86 member key from it. The mnemonic and secret never leave your device and are wiped when you leave the page.

Members (0 of 2–7)

No members yet — add at least two above.

The woven key

Every member key is sorted, hashed into L, and weighted by its own key coefficient — this is what makes MuSig2 secure against rogue-key attacks. The weighted sum is normalized to even-y (the aggregate internal key), then TapTweaked into the final key the address pays to. Funds sent here look exactly like a single-key Taproot payment.

Aggregate address

Sealed descriptor

Members & coefficients

KeyAgg hash L
Aggregate internal key
TapTweak t
Parity flags

Canonical descriptor (byte-identical everywhere)


      

Recompute & compare

Paste a descriptor someone sent you. Pearl Mesh re-derives everything from the member keys and tells you whether the address and sealed commitment match — no trust required.

Fund the mesh

Send PRL to the aggregate address. It behaves like an ordinary Taproot address — no script is revealed and no observer can tell it is a mesh. This page only looks up balances; it never moves funds.

Balance lookup (GET-only, optional)

Air-gapped UTXOs

No network? Paste UTXOs (one per line: txid:vout value address) and the balance is tallied locally.

The signing ceremony

Three rounds, coordinated here: ① every member commits a pair of public nonces (a bundle) · ② the coordinator aggregates them into one challenge ③ every member signs locally with their secret key and the coordinator aggregates the partials into one BIP-340 signature. Members with local key badges commit and sign on this device; everyone else does it on their own machine and pastes their bundles back.

Message to sign

Round ① — Nonce commitments

Round ② — Partial signatures

Local simulation demo-grade — throwaway keys, learning only

Runs the entire ceremony in-page with fresh random keys for every member. Proves the math end-to-end; it is not a real ceremony and its keys must never hold funds.

Verify, trustlessly

Two standalone verifiers. They recompute everything from first principles — hand them a descriptor or a signature from any source and they rule PROVEN or NOT PROVEN, loudly.

Descriptor verifier

Signature verifier