Decodificador de Transação Bruta Bitcoin

Cole o hex de uma transação bruta ou um PSBT. Cada saída é convertida em endereço e valor, os endereços de entrada são derivados dos dados de desbloqueio, e txid, vsize e weight são calculados localmente.

Assinada ou não. A decodificação roda no seu navegador; nada é enviado a lugar nenhum, então é seguro para transações não assinadas que você está prestes a assinar.
Exemplos:

Decodificado no seu navegador com JavaScript. Os endereços nunca são enviados nem armazenados.

O que é uma transação Bitcoin bruta?

Uma transação Bitcoin bruta é a serialização em hex de versão, entradas (txid anterior e índice da saída, scriptSig, sequence), saídas (valor em satoshis e scriptPubKey), dados witness SegWit opcionais e locktime. O txid é o SHA-256 duplo da serialização sem os dados witness, e um PSBT (BIP-174) envolve uma transação não assinada com os metadados de que os signatários precisam.

Lendo o resultado

Tipos de script de saída

TipoPadrão do scriptPubKeyEndereçoDados de gasto
P2PKHOP_DUP OP_HASH160 <20 bytes> OP_EQUALVERIFY OP_CHECKSIG1…scriptSig: assinatura + chave pública
P2SHOP_HASH160 <20 bytes> OP_EQUAL3…scriptSig termina com o redeem script
P2WPKHOP_0 <20 bytes>bc1q… (42 caracteres)witness: assinatura, chave pública
P2WSHOP_0 <32 bytes>bc1q… (62 caracteres)witness termina com o witness script
P2TROP_1 <32 bytes>bc1p…witness: assinatura de 64 bytes (key path)
OP_RETURNOP_RETURN <data>nenhum, não gastáveln/a

Exemplo prático: weight e vsize

Uma transação com uma entrada P2WPKH e duas saídas P2WPKH tem 113 bytes de dados não witness (versão, entrada, duas saídas, locktime) e cerca de 110 bytes de dados witness (marker, flag, uma assinatura de 72 bytes e uma chave pública de 33 bytes). Weight = 113 × 4 + 110 = 562 unidades de peso, então vsize = ⌈562 ÷ 4⌉ = 141 vbytes. A 10 sat/vB a taxa é 1.410 sats. O mesmo pagamento a partir de uma entrada legada P2PKH tem aproximadamente 226 bytes, todos contados com peso integral, para 226 vbytes.

De onde vem o hex bruto

Bitcoin Core: getrawtransaction <txid> ou createrawtransaction. Electrum e Sparrow: exportar transação como hex. Exploradores: mempool.space e blockstream.info expõem /api/tx/<txid>/hex. Carteiras de hardware mostram o PSBT que são solicitadas a assinar.

Valide um endereço isoladamente com o validador de endereços Bitcoin, ou inspecione strings bech32 com o decodificador bech32.

Perguntas frequentes

Como o txid é calculado?

SHA-256 duplo da transação serializada sem o marker SegWit e os dados witness, exibido em ordem de bytes invertida. O wtxid faz o hash da serialização completa, incluindo os witnesses. Os dois são calculados nesta página sem contatar um nó.

Por que falta um endereço de entrada?

Gastos Taproot por key-path carregam só uma assinatura no witness; a chave pública está na saída que está sendo gasta, que não faz parte desta transação. Scripts não padrão também são deixados como hex bruto. Todos os outros tipos comuns (P2PKH, SegWit embrulhado em P2SH, SegWit nativo, redeem scripts multisig) são derivados.

O que é vsize e por que importa?

O tamanho virtual é weight ÷ 4, arredondado para cima; as taxas são cotadas por byte virtual. Bytes witness contam um quarto, e é por isso que transações SegWit são mais baratas que transações legadas do mesmo tamanho em bytes.

Posso decodificar um PSBT?

Sim. O decodificador lê o mapa global de um PSBT (versão 0), extrai a transação não assinada e a decodifica. Assinaturas parciais e outros dados por entrada não são interpretados.

O que é RBF e como o decodificador o detecta?

Replace-by-fee (BIP-125) permite que um remetente retransmita uma transação não confirmada com uma taxa maior. Uma transação o sinaliza quando pelo menos uma entrada tem um número de sequence abaixo de 0xfffffffe; o decodificador lê o sequence de cada entrada e marca o sinal.

Suporta Litecoin ou testnet?

Escolha a rede no menu; isso só muda os prefixos de endereço (1/3/bc1 → L/M/ltc1 ou m/n/2/tb1). O formato da transação é idêntico.