Also covering BIP174
Partially-Signed Bitcoin Transactions (PSBTs) are a data format that allows wallets and other tools to exchange information about a Bitcoin transaction and the signatures necessary to complete it.
A PSBT can be created that identifies a set of UTXOs to spend and a set of outputs to receive that spent value. Then information about each UTXO that’s necessary to generate a signature for it can added, possibly by a separate tool, such as the UTXO’s script or its precise bitcoin value.
The PSBT can then be copied by any means to a program that can sign it. For multisig wallets or cases where different wallets control different inputs, this last step can be repeated multiple times by different programs on different copies of the PSBT. Multiple PSBTs each with one or more necessary signatures can be integrated into a single PSBT later. Finally, that fully-signed PSBT can be converted into a complete ready-to-broadcast transaction.
Primary code and documentation
Optech newsletter and website mentions
- 2019-08-07 Modifying BIP174 for extensibility
- 2019-07-10 Update to the utxoupdatepsbt RPC in Bitcoin Core
- 2019-05-07 PSBT enhancements included in Bitcoin Core 0.18
- 2019-03-12 Discussion of PSBT extension fields
- 2019-02-19 Three new Bitcoin Core RPCs for managing PSBTs
- 2018-07-24 New Bitcoin Core RPCs for initial PSBT support
- 2018-07-10 Features included in Bitcoin Core 0.17
- 2018-07-03 PSBT discussion