Tool · Transactions
Transaction decoder
Paste a raw transaction and see what every byte means
What it does
Pick one of eight real mainnet transactions, or paste raw hex from a node (getrawtransaction) or an
explorer. The decoder splits it into fields, colors each one, and rebuilds the structure: who is spent, who is
paid, and the witness that proves the spend was allowed.
How to read it
- Hover or focus the bytes (arrow keys walk the fields) and the box under them names the field, its byte range, its value and what it does. Open All fields for the full table; click a row to jump to its bytes.
- Hover an input or output card and all of its bytes light up together.
- txid is SHA256d of the transaction without its witness; wtxid includes the witness. Both are shown byte-reversed, the way explorers print them.
- vsize is the base size plus a quarter of the witness bytes, rounded up. Fees are paid per vbyte.
- The fee is inputs minus outputs. A raw transaction doesn’t say what its inputs were worth, so the fee is only shown for the built-in examples.
Pearl specifics
- Only three output types are valid at all: Taproot (
prl1p…), P2MR (prl1z…) and OP_RETURN. The decoder flags anything else, which nodes would reject. - Spends use the witness only: a Pearl input’s scriptSig is empty except in the coinbase.
- Pearl counts size in vbytes (limit 1,000,000 per block), not Bitcoin’s weight units. The vsize rule is the same arithmetic.
- Every coinbase after genesis starts with its block height (BIP-34), and a block with witness data carries a witness commitment in an OP_RETURN output, as in Bitcoin.
Under the hood
Runs entirely in your browser: nothing you paste is sent anywhere. Parsing, txids and sizes come from
src/lib/tx.ts, the same parser that draws the byte views across the codex. Its unit tests check every example
here against the txid, size and vsize the Pearl Blockbook reports, plus hand-built test vectors with known
signatures, control blocks and witness commitments.