PSBT
Also called: Partially Signed Bitcoin Transaction, PSBTv2, PSBT v2, PSBT file, .psbt, partially signed transaction.
A PSBT (Partially Signed Bitcoin Transaction) is the standard format, from BIP 174, for passing a not-yet-signed transaction between wallets and signers.
A PSBT, or Partially Signed Bitcoin Transaction, is a standard container for a transaction that isn't fully signed yet. It carries the transaction plus everything a signer needs to check and sign it, so different wallets, hardware devices and co-signers can work on the same payment.
How it works
BIP 174, by Ava Chow, defines the format: the magic bytes psbt and 0xFF, then a global map, one map per input and one per output, each a list of key-value records. Inputs carry the UTXO being spent, scripts and BIP 32 derivation paths, so an offline signer can verify amounts and fees without its own copy of the blockchain.
A PSBT moves through roles, and one program can play several:
- Creator makes the unsigned transaction.
- Updater adds UTXO data, scripts and key paths.
- Signer checks the details and adds partial signatures.
- Combiner merges copies signed by different parties.
- Input Finalizer builds the final scriptSig and witness.
- Transaction Extractor outputs the network-ready transaction.
Binary PSBTs use the .psbt file extension. As text they are Base64 and start with cHNidP8.
Versions and extensions
BIP 370 (PSBT version 2) lets inputs and outputs be added after creation, which helps collaborative transactions (see BIP 174 vs BIP 370). BIP 371 adds Taproot fields and BIP 373 adds MuSig2 fields.
Why it matters
PSBTs make air-gapped hardware wallets, multisig and payjoin practical without exposing private keys. Read the PSBT guide.