PSBT はマジックバイト psbt と 0xff(70736274ff、base64 では cHNidP8)で始まり、キーと値のマップを含みます。グローバルマップ(v0 では未署名のトランザクション、v2 ではバージョン、入出力の数、ロックタイム)、入力ごとに 1 つのマップ(UTXO データ、sighash タイプ、導出パス、部分署名、Taproot のフィールド)、出力ごとに 1 つのマップです。役割は、作成者(Creator)、更新者(Updater)、署名者(Signer)、結合者(Combiner)、ファイナライザー(Finalizer)、抽出者(Extractor)です。
ハードウェアウォレットは署名前に PSBT のデータから入力と出力を検証するため、コーディネーターは、前のトランザクション全体またはウィットネス UTXO と、おつりの判定に使う BIP-32 の導出パスを提供しなければなりません。攻撃は、署名者に表示される内容を狙います。たとえば、おつりに見せかけた出力や、誤解を招く手数料データです。PSBT インスペクターは PSBT をデコードし、欠けているフィールドや矛盾するフィールドを指摘します。