PSBT Overview
PSBT (BIP 174): Partially Signed Bitcoin Transactions
Before 2018, passing a transaction between different wallets or hardware devices was a messy process. Each wallet had its own way of representing an unfinished transaction. BIP 174 introduced the PSBT (Partially Signed Bitcoin Transaction) format to solve this by providing a standardized, interoperable way to handle transactions that aren't yet ready to be broadcast.
1. The Core Problem
Imagine you are using a Multisig wallet (e.g., 2-of-3).
-
Wallet A creates the transaction but doesn't have all the keys.
-
It needs to send the transaction to Wallet B and Wallet C for signing.
-
But Wallet B also needs to know the values of the inputs to calculate the fee and verify the amount. Before PSBT, you had to pass the raw transaction and the previous transactions separately.
2. What is a PSBT?
A PSBT is a binary file (often encoded in Base64) that contains a raw Bitcoin transaction along with all the metadata required to sign it.
-
UTXO Data: The full transactions being spent (so signers can verify amounts).
-
Derivation Paths: Information on which keys are needed.
-
Partial Signatures: Any signatures that have already been collected.
3. Why it is a Game Changer
PSBT allowed for the explosion of Hardware Wallet ecosystems. You can now create a transaction on your computer (using software like Sparrow or Specter), export it as a PSBT, sign it on an offline device (like a Coldcard), and bring the signature back to your computer for broadcasting.
4. Key Benefits
-
Interoperability: A PSBT created in one wallet can be signed in another.
-
Security: Signers can see exactly what they are signing without an internet connection.
-
Efficiency: Multiple signatures can be collected in parallel and combined later.
| Attribute | Raw Transaction | PSBT (BIP 174) |
|---|---|---|
| Completeness | Must be finished | Can be partially signed |
| Metadata | None | High (UTXOs, Keys, Scripts) |
| Usage | Broadcasting to Network | Inter-wallet Communication |
| Format | Raw Hex | Base64 or Binary |
In the next section, we will look at the PSBT Lifecycle and its various roles.
TeachMeBitcoin is an ad-free, open-source educational repository curated by a passionate team of Bitcoin researchers and educators for public benefit. If you found our articles helpful, please consider supporting our hosting and ongoing content updates with a clean donation: