Pearl Split

the tavern-ledger desk — group expenses, settled in PRL

Open the tab

Name the occasion, then seat the party: a display name and a prl1… Taproot address for everyone. Every address is validated in-browser (bech32m, v1 Taproot, correct network) — a bad address is refused before it can cost anyone. No keys are collected here; only public receiving addresses.

Members

Chalk up the expenses

Each expense names the payer and a split rule. Equal divides the grains and hands the leftover single grains to the first members by list order, deterministically. Shares splits by integer weights (e.g. 2 : 1), Percent by percentages that must sum to exactly 100. Every split is grain-exact — the lines always sum to the total.

Settle the tab

Net balances are derived from every expense, then the desk matches the largest debtor against the largest creditor, greedily — each transfer zeroes at least one party, so the set is the minimal number of transfers that clears the tab. Transfers below the 333-grain dust floor cannot be chain outputs; they are refused loudly, never rounded away, with the fix spelled out.

Pay the debts

Each debtor settles their own debt in one transaction, signed locally. Point the desk at the debtor's UTXOs — read live from Blockbook (GET-only) or paste them air-gapped — select coins against creditors + the keypath fee, paste the debtor's key, and sign. Every signature is re-verified locally before the hex is shown, the key is wiped after signing, and broadcast waits behind a double-confirm gate. For air-gapped signing, export the unsigned bundle and sign on the offline machine.

The ledger book

Every settled tab is recorded locally in this browser: the tab name and fingerprint, the members, the net balances, the transfers, and each payment's txid once broadcast. Nothing leaves the machine — the ledger is yours alone. Export it as CSV for your own books.

Honest limits