Skip to content

Add PSBT creator, signer and finalizer roles for BIP-322 - #75

Open
aagbotemi wants to merge 6 commits into
rust-bitcoin:masterfrom
aagbotemi:feat/psbt-multiparty-signing
Open

Add PSBT creator, signer and finalizer roles for BIP-322#75
aagbotemi wants to merge 6 commits into
rust-bitcoin:masterfrom
aagbotemi:feat/psbt-multiparty-signing

Conversation

@aagbotemi

Copy link
Copy Markdown
Contributor

Summary

Implement BIP-322's multi-party PSBT workflow, a creator builds an unsigned signing request, independent signers add partial signatures after detecting the request, and a finalizer assembles and encodes the result.

Rebased on #73

Changes

  • Add detect_bip322_psbt to check the detection properties.
  • Add Bip322Psbt to carry the detected message and challenge for signers.
  • Add create_bip322_psbt to build an unsigned PSBT with the message, UTXO, and script fields set.
  • Add sign_bip322_psbt_input to detect the request, adds a partial signature (or tap_key_sig for taproot) to the first input.
  • Add finalize_bip322_psbt to assemble signatures per BIP174 and encodes as a ful signature.
  • Split create_to_spend into a script-based create_to_spend_from_script so detection can reconstruct to_spend from a scriptPubKey.

Closes #74

@aagbotemi
aagbotemi force-pushed the feat/psbt-multiparty-signing branch from 169b567 to 10744cf Compare July 24, 2026 12:56
@aagbotemi
aagbotemi force-pushed the feat/psbt-multiparty-signing branch 2 times, most recently from 4a82844 to 99e7843 Compare July 27, 2026 10:03
@aagbotemi
aagbotemi force-pushed the feat/psbt-multiparty-signing branch 3 times, most recently from 9e1b6a6 to e2123af Compare August 16, 2026 14:59
@aagbotemi
aagbotemi force-pushed the feat/psbt-multiparty-signing branch from e2123af to ed645d3 Compare August 16, 2026 15:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement multi-party PSBT signing

1 participant