Référence des types de clés PSBT de Bitcoin (BIP-174, BIP-370, BIP-371)
Chaque portefeuille matériel, coordinateur multisig et signeur isolé (air-gapped) parle PSBT — mais le format lui-même n’est que trois cartes clé-valeur, et cette page présente ces cartes au complet. Les 58 types de clés PSBT enregistrés avec leurs octets de type, les règles d’inclusion v0 vs v2 et le contenu des valeurs, directement de BIP-174, BIP-370 et BIP-371. Pour la langue de portefeuille dont les PSBT transportent les clés, voir la référence des descripteurs de sortie. Les descriptions sont conservées en anglais.
Réponse rapide
Un PSBT (transaction Bitcoin partiellement signée) est une carte clé-valeur en trois sections — globale, par entrée, par sortie — que portefeuilles, coordinateurs et appareils de signature se passent jusqu'à ce que la transaction soit complète. Cette référence liste les 58 types de clés du registre officiel : le nom, l'octet de type, la portée, la règle d'inclusion v0 (BIP-174) vs v2 (BIP-370), et ce que contient la valeur — champs taproot du BIP-371 inclus. Fait notable : la version 1 de PSBT n'existe pas, elle a été délibérément sautée. Chaque ligne est vérifiée contre sa spécification — y compris les champs MuSig2 (BIP-373), paiements silencieux (BIP-375/376, en brouillon), preuve de réserves (BIP-127), message BIP-322 et DNSSEC BIP-353, transcrits des textes bruts des BIP. Les descriptions sont conservées en anglais.
La règle v0-vs-v2 qui déroute le plus : en v2, la transaction non signée globale (0x00) disparaît — remplacée par des champs explicites (txid précédent, index, montants, scripts) qui rendent la construction incrémentale possible. Un lecteur PSBT doit vérifier PSBT_GLOBAL_VERSION d'abord. CSV/JSON gratuits sous CC BY 4.0.
Télécharger le CSV Télécharger le JSON API REST →
Carte globale 12
| Type de clé | Hex | Versions | Valeur | BIP |
|---|---|---|---|---|
PSBT_GLOBAL_UNSIGNED_TX | 0x00 | v0 (required; MUST be excluded in v2) | The transaction in (pre-segwit) network serialization with empty scriptSigs and witnesses. | 174 |
PSBT_GLOBAL_XPUB | 0x01 | both | Keydata is a 78-byte BIP-32 xpub; value is the 4-byte master fingerprint plus the 32-bit LE derivation path indexes for keys used in this transaction. | 174 |
PSBT_GLOBAL_TX_VERSION | 0x02 | v2 (required; excluded in v0) | 32-bit LE signed integer: version number of the transaction being created (not the PSBT version). | 370 |
PSBT_GLOBAL_FALLBACK_LOCKTIME | 0x03 | v2 only (excluded in v0) | 32-bit LE unsigned locktime to use if no input specifies a required locktime. | 370 |
PSBT_GLOBAL_INPUT_COUNT | 0x04 | v2 (required; excluded in v0) | Compact size uint: number of inputs in this PSBT. | 370 |
PSBT_GLOBAL_OUTPUT_COUNT | 0x05 | v2 (required; excluded in v0) | Compact size uint: number of outputs in this PSBT. | 370 |
PSBT_GLOBAL_TX_MODIFIABLE | 0x06 | v2 only (excluded in v0) | 8-bit bitfield: bit 0 = inputs modifiable, bit 1 = outputs modifiable, bit 2 = has SIGHASH_SINGLE signature whose input/output pairing must be preserved. | 370 |
PSBT_GLOBAL_SP_ECDH_SHARE | 0x07 | v2 only (excluded in v0) | Keydata is the 33-byte scan key; value is a 33-byte ECDH share computed as a*B_scan, where a is the sum of all private keys of all eligible inputs and B_scan is the recipient's scan key. | 375 |
PSBT_GLOBAL_SP_DLEQ | 0x08 | v2 only (excluded in v0) | Keydata is the 33-byte scan key the proof covers; value is a 64-byte BIP-374 DLEQ proof computed for the matching ECDH share. | 375 |
PSBT_GLOBAL_GENERIC_SIGNED_MESSAGE | 0x09 | both | No keydata; value is the UTF-8 encoded message to be signed — coordinates BIP-322 multisig message signing through PSBT. | 322 |
PSBT_GLOBAL_VERSION | 0xFB | both (required and set to 2 in v2; 0 if omitted — version 1 was deliberately skipped) | 32-bit LE unsigned PSBT version number. | 174 |
PSBT_GLOBAL_PROPRIETARY | 0xFC | both | Keydata: compact-size identifier length, identifier, compact-size subtype, subkeydata; value: any data defined by the proprietary user. | 174 |
Carte par entrée (per-input) 33
| Type de clé | Hex | Versions | Valeur | BIP |
|---|---|---|---|---|
PSBT_IN_NON_WITNESS_UTXO | 0x00 | both | Full previous transaction in network serialization; should be present for non-segwit spends, may coexist with WITNESS_UTXO. | 174 |
PSBT_IN_WITNESS_UTXO | 0x01 | both | The spent transaction output (64-bit LE amount + scriptPubKey) for segwit spends, including P2SH-embedded ones. | 174 |
PSBT_IN_PARTIAL_SIG | 0x02 | both | Keydata is the pubkey; value is a valid ECDSA signature as it would be pushed to the stack. | 174 |
PSBT_IN_SIGHASH_TYPE | 0x03 | both | 32-bit LE uint sighash type this input's signatures must use; finalizers must reject mismatching signatures. | 174 |
PSBT_IN_REDEEM_SCRIPT | 0x04 | both | The redeemScript for this input if it has one. | 174 |
PSBT_IN_WITNESS_SCRIPT | 0x05 | both | The witnessScript for this input if it has one. | 174 |
PSBT_IN_BIP32_DERIVATION | 0x06 | both | Keydata is a pubkey needed to sign this input; value is master fingerprint + 32-bit LE path indexes. | 174 |
PSBT_IN_FINAL_SCRIPTSIG | 0x07 | both | Fully constructed scriptSig with signatures and scripts needed for validation. | 174 |
PSBT_IN_FINAL_SCRIPTWITNESS | 0x08 | both | Fully constructed scriptWitness with signatures and scripts needed for validation. | 174 |
PSBT_IN_POR_COMMITMENT | 0x09 | v0-era (BIP-174 input map; no v2 rule stated) | Value is the UTF-8 proof-of-reserves commitment message. Wallets MUST check the prevout txid equals the SHA-256 of the prefixed commitment message, assume input value 0, and SHOULD display the message before signing. | 127 |
PSBT_IN_RIPEMD160 | 0x0a | both | Keydata is the 20-byte hash; value is the preimage hashing to it under RIPEMD160. | 174 |
PSBT_IN_SHA256 | 0x0b | both | Keydata is the 32-byte hash; value is the preimage hashing to it under SHA256. | 174 |
PSBT_IN_HASH160 | 0x0c | both | Keydata is the 20-byte hash; value is the preimage under SHA256 then RIPEMD160. | 174 |
PSBT_IN_HASH256 | 0x0d | both | Keydata is the 32-byte hash; value is the preimage under double-SHA256. | 174 |
PSBT_IN_PREVIOUS_TXID | 0x0e | v2 (required; excluded in v0) | 32-byte txid (standard byte order, not display order) of the transaction whose output is being spent. | 370 |
PSBT_IN_OUTPUT_INDEX | 0x0f | v2 (required; excluded in v0) | 32-bit LE index of the output being spent in the PSBT_IN_PREVIOUS_TXID transaction. | 370 |
PSBT_IN_SEQUENCE | 0x10 | v2 only (excluded in v0) | 32-bit LE sequence number; assumed final (0xffffffff) if omitted. | 370 |
PSBT_IN_REQUIRED_TIME_LOCKTIME | 0x11 | v2 only (excluded in v0) | 32-bit LE uint >= 500000000: minimum Unix timestamp this input requires as the transaction locktime. | 370 |
PSBT_IN_REQUIRED_HEIGHT_LOCKTIME | 0x12 | v2 only (excluded in v0) | 32-bit LE uint > 0 and < 500000000: minimum block height this input requires as the transaction locktime. | 370 |
PSBT_IN_TAP_KEY_SIG | 0x13 | both | 64 or 65 byte Schnorr signature for key-path spending a taproot output (no keydata). | 371 |
PSBT_IN_TAP_SCRIPT_SIG | 0x14 | both | Keydata is x-only pubkey + 32-byte leaf hash; value is the 64/65-byte Schnorr signature for that pubkey-and-leaf combination. | 371 |
PSBT_IN_TAP_LEAF_SCRIPT | 0x15 | both | Keydata is the BIP-341 control block (merkle path); value is the leaf script followed by its single-byte leaf version. | 371 |
PSBT_IN_TAP_BIP32_DERIVATION | 0x16 | both | Keydata is a 32-byte x-only pubkey; value is a compact-size count of leaf hashes, the leaf hashes, then fingerprint + 32-bit LE path (internal key uses count 0). | 371 |
PSBT_IN_TAP_INTERNAL_KEY | 0x17 | both | The x-only pubkey used as the taproot internal key of the spent output. | 371 |
PSBT_IN_TAP_MERKLE_ROOT | 0x18 | both | The 32-byte taproot merkle root hash. | 371 |
PSBT_IN_MUSIG2_PARTICIPANT_PUBKEYS | 0x1a | both | Keydata is the 33-byte compressed MuSig2 aggregate public key from KeyAgg; value is the list of participants' compressed public keys in the order required for aggregation (sorted order if sorting was done). | 373 |
PSBT_IN_MUSIG2_PUB_NONCE | 0x1b | both | Keydata is the participant's 33-byte compressed pubkey + the 33-byte aggregate pubkey + the BIP-341 tapleaf hash of the leaf script to sign (omitted for the internal/output key); value is the 66-byte public nonce from NonceGen. | 373 |
PSBT_IN_MUSIG2_PARTIAL_SIG | 0x1c | both | Keydata is the participant's 33-byte compressed pubkey + the 33-byte aggregate pubkey + the BIP-341 tapleaf hash signed (omitted for the internal/output key); value is the 32-byte partial signature from the Sign algorithm. | 373 |
PSBT_IN_SP_ECDH_SHARE | 0x1d | v2 only (excluded in v0) | Keydata is the 33-byte scan key; value is a 33-byte ECDH share computed as a*B_scan from this input's prevout private key. | 375 |
PSBT_IN_SP_DLEQ | 0x1e | v2 only (excluded in v0) | Keydata is the 33-byte scan key the proof covers; value is a 64-byte BIP-374 DLEQ proof for the matching input ECDH share. | 375 |
PSBT_IN_SP_SPEND_BIP32_DERIVATION | 0x1f | v2 only (excluded in v0) | Keydata is the 33-byte spend public key; value is the 4-byte master fingerprint plus the spend key's 32-bit LE derivation path. Updaters SHOULD add it when spending a silent-payment output; Finalizers remove it after the final scriptwitness. | 376 |
PSBT_IN_SP_TWEAK | 0x20 | v2 only (excluded in v0) | No keydata; value is the 32-byte BIP-352 spending tweak (shared-secret hash, optionally plus the label hash). The Updater MUST add it when an input spends a silent-payment output; Finalizers remove it after the final scriptwitness. | 376 |
PSBT_IN_PROPRIETARY | 0xFC | both | Proprietary use: identifier + subtype keydata, arbitrary value data. | 174 |
Carte par sortie (per-output) 13
| Type de clé | Hex | Versions | Valeur | BIP |
|---|---|---|---|---|
PSBT_OUT_REDEEM_SCRIPT | 0x00 | both | The redeemScript for this output if it has one. | 174 |
PSBT_OUT_WITNESS_SCRIPT | 0x01 | both | The witnessScript for this output if it has one. | 174 |
PSBT_OUT_BIP32_DERIVATION | 0x02 | both | Keydata is a pubkey needed to spend this output; value is master fingerprint + 32-bit LE path indexes. | 174 |
PSBT_OUT_AMOUNT | 0x03 | v2 (required; excluded in v0) | 64-bit signed LE integer: the output amount in satoshis. | 370 |
PSBT_OUT_SCRIPT | 0x04 | v2 (required; excluded in v0) | The output script (scriptPubKey). | 370 |
PSBT_OUT_TAP_INTERNAL_KEY | 0x05 | both | The x-only pubkey used as the taproot internal key of this output. | 371 |
PSBT_OUT_TAP_TREE | 0x06 | both | Tuples of (8-bit depth, 8-bit leaf version, compact-size script length, script) in depth-first order, reconstructing the whole taproot tree. | 371 |
PSBT_OUT_TAP_BIP32_DERIVATION | 0x07 | both | Keydata is a 32-byte x-only pubkey involved in this output; value is leaf-hash count, leaf hashes, then fingerprint + 32-bit LE path. | 371 |
PSBT_OUT_MUSIG2_PARTICIPANT_PUBKEYS | 0x08 | both | Keydata is the 33-byte compressed MuSig2 aggregate public key from KeyAgg; value is the list of participants' compressed public keys in the order required for aggregation (sorted order if sorting was done). | 373 |
PSBT_OUT_SP_V0_INFO | 0x09 | v2 only (excluded in v0) | No keydata; value is a zero version byte, then the 33-byte scan key, then the 33-byte spend key of the silent-payment address. If PSBT_OUT_SCRIPT is absent this field must be present — it represents the address whose script is not yet computed. | 375 |
PSBT_OUT_SP_V0_LABEL | 0x0a | v2 only (excluded in v0) | No keydata; value is a 32-bit LE unsigned label used to compute the spend key of the silent-payment address to verify change. | 375 |
PSBT_OUT_DNSSEC_PROOF | 0x35 | both | No keydata; value is a 1-byte-length-prefixed BIP-353 human-readable name (without the bitcoin prefix symbol) followed by an RFC 9102 DNSSEC AuthenticationChain proving the BIP-353 DNS TXT record. | 353 |
PSBT_OUT_PROPRIETARY | 0xFC | both | Proprietary use: identifier + subtype keydata, arbitrary value data. | 174 |
Source : les textes bruts de BIP-174 (Deployed), BIP-370 (Deployed) et BIP-371 (Deployed) + le registre officiel des types (bitcoin/bips, consultés le 2026-07-26). Se combine avec la référence des descripteurs et la matrice de récupération de portefeuilles.
Produits, réparations et guides connexes
- comment D-Central diagnostique les réparations ASIC
- bibliothèque de dépannage ASIC
- manuels ASIC et guides de réparation
- hashboards de remplacement
- cartes de contrôle ASIC
- blocs d’alimentation ASIC
- hashboard de remplacement pour la famille S19
- carte de contrôle de remplacement C52
- bloc d’alimentation APW12 pour S19
- hub du refroidissement par immersion
- guide du refroidissement par immersion à la maison
- mineurs ASIC pour planifier l’immersion
- pièces de refroidissement ASIC
- conduit de ventilation avant l’immersion
- comparer les specs des mineurs dans la base de données
- soutien en réparation ASIC
Dernière révision: 26 juillet 2026.
