Definition
A Partially Signed Bitcoin Transaction (PSBT) is a standardized container format, defined in BIP174, for moving a transaction between different pieces of software and hardware while it is being built and signed. It lets a transaction be constructed in one place, signed in another, and finalized somewhere else — without ever exposing a private key to an online machine. If you use a hardware wallet, you use PSBTs every time you spend, whether the wallet software says so or not.
Why PSBT exists
Before BIP174 there was no common standard for handing an unsigned transaction between tools; every wallet invented its own format and interoperability was poor. PSBT solved this by defining explicit roles — creator, updater, signer, finalizer, extractor — each of which can be a different program on a different machine. The creator assembles the skeleton; the updater attaches the data a signer needs to verify what it is signing, such as the UTXOs being spent and their derivation paths; each signer adds signatures for the inputs it controls; the finalizer assembles the complete witness data; and the extractor produces the final network-ready transaction. That separation of roles is exactly what cold storage, air-gapped signing, multisig coordination, and CoinJoin all require.
How it flows in practice
Coordinator software on an online computer builds the PSBT with everything a signer needs. The file is then carried to the signing device — by USB, microSD card, NFC, or an animated QR code, so the keys never touch the internet. The hardware wallet verifies the amounts and destination on its own trusted screen — the step that defeats malware trying to swap addresses on the online machine — adds its signature, and hands the PSBT back. In a multisig arrangement, the same file makes the rounds of each cosigner in turn, accumulating signatures until the spending threshold is met. Once every required signature is present, the PSBT is finalized into an ordinary Bitcoin transaction and broadcast like any other.
What makes the format trustworthy
A key design property is that a PSBT carries enough context for the signer to independently verify what it is being asked to sign. Because the container includes the inputs' amounts and scripts, a hardware wallet can compute the fee itself and display it, rather than trusting the online coordinator's word. The signer never needs network access or chain state — everything required for an informed signature travels inside the file. This is what makes fully air-gapped setups practical: a machine that has never been online can still sign safely, because verification needs no lookup, only the PSBT itself.
The backbone of self-custody
For sovereign Bitcoiners, PSBT is quiet infrastructure — the reason wallets from different developers, hardware from different vendors, and coordination software of every stripe can cooperate on one transaction without any of them holding your keys. It pairs naturally with the Schnorr signature scheme that simplifies modern multisig, and a finalized PSBT can be broadcast with Replace-By-Fee signaling enabled so its fee can be bumped later if the mempool turns against you. A miner who self-custodies payouts, a family vault spread across three hardware wallets, a homestead's cold-storage plan — all of it moves through this one humble file format on its way to self-custody done right.
For anyone building toward serious cold storage, the practical advice is simple: prefer tools that expose PSBTs openly rather than hiding them behind proprietary sync. A wallet that lets you export the PSBT file gives you an escape hatch — if the vendor disappears, any other BIP174-compliant software can pick up your half-signed transaction and finish the job. That interoperability is the quiet insurance policy of the standard, and it is exactly the property a sovereign setup should demand of every component: no single tool, vendor, or server whose failure can strand your money.
In Simple Terms
A Partially Signed Bitcoin Transaction (PSBT) is a standardized container format, defined in BIP174, for moving a transaction between different pieces of software and hardware…
