Pearl Pact

Discreet Log Contract desk for PRL · oracle-conditional payouts, sealed by adaptor math

Draft the pact

Two parties, one oracle, 2–8 outcomes with exact payout splits. The desk derives the 2-of-2 Taproot funding address (NUMS internal key — no keypath backdoor) and seals a tamper-evident descriptor. Payout rows must sum to exactly collateral − CET fee; the desk tells you the exact figure.

Fastest way to see the full ceremony: demo parties + demo oracle, everything real crypto.
The descriptor pearl-pact:v1:… is a SHA-256 seal over the canonical terms. Paste the sealed terms into any later step (or the Verify box below) — any alteration breaks the seal.

Verify a pact descriptor

Fund the pact

Both parties send their collateral to the funding address. Plan the joint funding transaction from each party's UTXOs — or fund with separate sends from your own wallets and just record the funding txid below.

Seal the CETs

For each outcome the desk builds the Contract Execution Transaction, then each party adaptor-encrypts their signature to that outcome's oracle announcement point. Every encrypted signature is verified on the spot. Do this before funding — once sealed, neither party can hold the other hostage.

Execute the winning outcome

The oracle attests: it reveals the outcome secret t and signs the attestation. The desk checks t·G against the committed announcement point, verifies the oracle's signature, decrypts both adaptor signatures, re-verifies them as plain BIP-340 signatures, and emits the final CET.

Refund — the insurance leg

If the oracle never attests, the timelocked refund returns each party's collateral. Both parties sign it now, while everyone is cooperative. It becomes valid only after nLockTime — before that, miners will reject it.