Skip to content
ecdsa.com

PSBT (partially signed Bitcoin transaction)

The interchange format of BIP-174 (version 0) and BIP-370 (version 2) that carries an unsigned transaction plus all data signers need, so wallets, hardware devices and coordinators can sign in separate steps.
Also written asPSBTBIP-174BIP-370partially signed Bitcoin transaction

A PSBT starts with the magic bytes psbt and 0xff (70736274ff, base64 cHNidP8) and contains key–value maps: a global map (the unsigned transaction in v0; version, counts and locktimes in v2), one map per input (UTXO data, sighash type, derivation paths, partial signatures, Taproot fields) and one per output. Roles are creator, updater, signer, combiner, finalizer and extractor.

Hardware wallets verify inputs and outputs from the PSBT data before signing, so the coordinator must supply full previous transactions or witness UTXOs and BIP-32 derivation paths for change detection. Attacks target what a signer is shown, for example disguised change outputs or misleading fee data. The PSBT inspector decodes a PSBT and flags missing or inconsistent fields.

Standards and references

All terms