Decodificador de transacciones Bitcoin en bruto

Pega el hex de una transacción en bruto o un PSBT. Cada salida se convierte en dirección e importe, las direcciones de entrada se derivan de los datos de desbloqueo, y txid, vsize y weight se calculan localmente.

Firmada o sin firmar. La decodificación se ejecuta en tu navegador; no se envía nada a ningún sitio, así que es segura para transacciones sin firmar que estés a punto de firmar.
Ejemplos:

Se decodifica en tu navegador con JavaScript. Las direcciones nunca se suben ni se almacenan.

¿Qué es una transacción Bitcoin en bruto?

Una transacción Bitcoin en bruto es la serialización en hex de la versión, las entradas (txid anterior e índice de salida, scriptSig, sequence), las salidas (valor en satoshis y scriptPubKey), los datos de witness SegWit opcionales y el locktime. El txid es el doble SHA-256 de la serialización sin los datos de witness, y un PSBT (BIP-174) envuelve una transacción sin firmar con los metadatos que necesitan los firmantes.

Cómo leer el resultado

Tipos de script de salida

TipoPatrón de scriptPubKeyDirecciónDatos de gasto
P2PKHOP_DUP OP_HASH160 <20 bytes> OP_EQUALVERIFY OP_CHECKSIG1…scriptSig: firma + clave pública
P2SHOP_HASH160 <20 bytes> OP_EQUAL3…el scriptSig termina con el redeem script
P2WPKHOP_0 <20 bytes>bc1q… (42 caracteres)witness: firma, clave pública
P2WSHOP_0 <32 bytes>bc1q… (62 caracteres)el witness termina con el witness script
P2TROP_1 <32 bytes>bc1p…witness: firma de 64 bytes (key path)
OP_RETURNOP_RETURN <data>ninguna, no gastablen/a

Ejemplo práctico: weight y vsize

Una transacción con una entrada P2WPKH y dos salidas P2WPKH tiene 113 bytes de datos no witness (versión, entrada, dos salidas, locktime) y unos 110 bytes de datos de witness (marcador, flag, una firma de 72 bytes y una clave pública de 33 bytes). Weight = 113 × 4 + 110 = 562 unidades de peso, así que vsize = ⌈562 ÷ 4⌉ = 141 vbytes. A 10 sat/vB la comisión es de 1.410 sats. El mismo pago desde una entrada legacy P2PKH ocupa unos 226 bytes, todos contados a peso completo, para 226 vbytes.

De dónde sale el hex en bruto

Bitcoin Core: getrawtransaction <txid> o createrawtransaction. Electrum y Sparrow: exportar la transacción como hex. Exploradores: mempool.space y blockstream.info exponen /api/tx/<txid>/hex. Las carteras de hardware muestran el PSBT que se les pide firmar.

Valida una dirección por sí sola con el validador de direcciones Bitcoin, o inspecciona cadenas bech32 con el decodificador bech32.

Preguntas frecuentes

¿Cómo se calcula el txid?

Doble SHA-256 de la transacción serializada sin el marcador SegWit ni los datos de witness, mostrado con los bytes en orden inverso. El wtxid aplica el hash a la serialización completa, incluidos los witness. Ambos se calculan en esta página sin contactar con ningún nodo.

¿Por qué falta la dirección de una entrada?

Los gastos Taproot por key path solo llevan una firma en el witness; la clave pública está en la salida que se gasta, que no forma parte de esta transacción. Los scripts no estándar también se dejan como hex en bruto. Todos los demás tipos comunes (P2PKH, SegWit envuelto en P2SH, SegWit nativo, redeem scripts multifirma) se derivan.

¿Qué es vsize y por qué importa?

El tamaño virtual es weight ÷ 4, redondeado hacia arriba; las comisiones se cotizan por byte virtual. Los bytes de witness cuentan una cuarta parte, y por eso las transacciones SegWit son más baratas que las legacy de la misma longitud en bytes.

¿Puedo decodificar un PSBT?

Sí. El decodificador lee el mapa global de un PSBT (versión 0), extrae la transacción sin firmar y la decodifica. Las firmas parciales y otros datos por entrada no se interpretan.

¿Qué es RBF y cómo lo detecta el decodificador?

Replace-by-fee (BIP-125) permite a un remitente volver a difundir una transacción sin confirmar con una comisión más alta. Una transacción lo señaliza cuando al menos una entrada tiene un número de sequence inferior a 0xfffffffe; el decodificador lee el sequence de cada entrada y marca la señal.

¿Admite Litecoin o testnet?

Elige la red en el desplegable; solo cambia los prefijos de dirección (1/3/bc1 → L/M/ltc1 o m/n/2/tb1). El formato de la transacción es idéntico.