Blockchain Tx Decoder
Decode raw Bitcoin and Ethereum transaction hex — Bitcoin version, inputs, outputs, scripts, witnesses, TXID/wTXID and weight; Ethereum legacy and typed transactions (EIP-2930, EIP-1559, EIP-4844, EIP-7702) with tx hash, recovered sender and ABI-decoded calldata. All computation runs in your browser.
Follows Bitcoin & Ethereum transaction encodingBIP-141/143/144 · EIP-155/2718/2930/1559/4844/7594/7702·verified Oct 2026· double-checked Oct 2026— txid / wtxid / weight and script types match Bitcoin Core rules, embit and @scure/btc-signer; fields, hash and sender match geth v1.16.4, ethers v6 and viem on thousands of transactions
What the decoder computes
Bitcoin. The raw transaction is the consensus serialization: a 4-byte little-endian version, then — for SegWit (BIP-144) — a 00 01 marker and flag, the inputs (previous txid, output index, scriptSig, sequence), the outputs (value in satoshis, scriptPubKey), one witness stack per input, and the 4-byte locktime. The TXID is the double SHA-256 of the serialization without marker, flag and witnesses, shown byte-reversed as explorers print it; the wTXID hashes the full bytes. Weight is 3 × base size + total size (BIP-141) and vsize is weight ÷ 4 rounded up. A sequence below 0xfffffffe signals replace-by-fee (BIP-125); in version-2+ transactions a sequence without the disable bit is a relative lock-time (BIP-68).
Ethereum. A legacy transaction is an RLP list of nine fields whose v carries the chain id (EIP-155: v = chainId × 2 + 35 + parity; 27/28 means no replay protection). Typed transactions (EIP-2718) are a type byte followed by an RLP list: 0x01 adds an access list (EIP-2930), 0x02 replaces the gas price with a max fee and priority fee (EIP-1559), 0x03 carries blob versioned hashes (EIP-4844) and 0x04 an authorization list that sets code on EOAs (EIP-7702). The tx hash is keccak-256 of the raw bytes (for a blob transaction in network form, of the transaction without its blob sidecar). The sender is not in the transaction: it is recovered from the signature (yParity, r, s) over the signing hash with secp256k1, exactly as a node does. Known selectors are ABI-decoded with the same strict decoder as the Calldata Decoder.
Decoding is strict, like Bitcoin Core and geth: truncated data, trailing bytes, non-canonical RLP or CompactSize encodings and integers with leading zero bytes are reported as errors rather than silently misread. Nothing is sent to a node — the decoder cannot tell you whether a transaction was broadcast, confirmed, or spends coins that exist.