Pearl Sighash Studio

BIP-342 Taproot sighash digest explorer for PRL · every byte of the signature message, on the drafting table

FIG. 1 Build the spending scenario

Draft a small transaction: N inputs, M outputs, the input being signed, the spend type and the sighash flag. The desk assembles the exact BIP-341/BIP-342 signature message and hashes it with the TapSighash tag.

The demo uses invented txids — clearly marked, never presented as a real transaction.

Transaction

Inputs

#txid (64 hex)voutamount (grains)scriptPubKey (hex)nSequence

Outputs

#amount (grains)scriptPubKey (hex)

Spend type

Sighash flag

FIG. 2 Digest anatomy

The full walkthrough: every intermediate hash in preimage order, each with its exact preimage bytes and the hash step applied. Omitted components are shown as struck-through — ANYONECANPAY and NONE drop fields, they don't zero them.

Always computed fresh from the Build tab inputs.

Full preimage

Final digest — taggedHash("TapSighash", preimage)

BIP-340 tagged hash: SHA256(SHA256("TapSighash") ‖ SHA256("TapSighash") ‖ preimage).

FIG. 3 Compare two sighash flags

Two flags, one scenario, side by side. The desk shows which intermediates differ, which are dropped, and why — e.g. NONE zeroes nothing but omits sha_outputs; ANYONECANPAY replaces the four all-input hashes with this input's own data.

ComponentABSame?Why

All seven digests on this scenario

FlagDigest

FIG. 4 Sign & verify (BIP-340)

Sign the digest with a fresh or pasted key using BIP-340 Schnorr, then verify the signature. Keys never leave the page.

Verify a signature

FIG. 5 Verify

Two independent checks. First, the desk replays the official BIP-341 wallet test vectors (all 7 sighash flags, byte-exact preimages and digests) live in your browser. Second, paste any sealed descriptor — the digest is recomputed and the verdict is PROVEN or NOT PROVEN, loud on tamper.

Official BIP-341 vectors — live replay

Source: bitcoin/bips bip-0341/wallet-test-vectors.json, keyPathSpending[0].

Sealed descriptor verifier