diff --git a/bip-0174/type-registry.mediawiki b/bip-0174/type-registry.mediawiki
index db149b08..5847c230 100644
--- a/bip-0174/type-registry.mediawiki
+++ b/bip-0174/type-registry.mediawiki
@@ -43,6 +43,10 @@ This document collects the fields and types used in PSBTs of any version from al
| PSBT_GLOBAL_SP_DLEQ = 0x08
| [[bip-0375.mediawiki|375]]
|-
+| Generic Signed Message
+| PSBT_GLOBAL_GENERIC_SIGNED_MESSAGE = 0x09
+| [[bip-0322.mediawiki|322]]
+|-
| PSBT Version Number
| PSBT_GLOBAL_VERSION = 0xFB
| [[bip-0174.mediawiki|174]]
diff --git a/bip-0322.mediawiki b/bip-0322.mediawiki
index 1166a504..a16a7b3c 100644
--- a/bip-0322.mediawiki
+++ b/bip-0322.mediawiki
@@ -295,6 +295,155 @@ They then encode their signature, choosing either ''simple'', ''full'' or ''full
+=== PSBT-based signing ===
+
+A valid witness stack for a multisig address must be constructed by coordinating different signers
+to produce a partial signature each.
+The coordination procedure is not specified by this BIP, but due to the use of PSBTs it should
+closely resemble the coordination of signing a multisig transaction for publishing to the network.
+
+The main difference is a new global PSBT field and the way a signer presents the transaction signing
+request to the user. The new global type is defined as follows:
+
+{| class="wikitable"
+! Name
+!
to_spend and to_sign as specified above, using the
+ scriptPubKey of ''A'' for message_challenge and tagged hash of ''m'' as
+ message_hash.
+to_sign or nSequence of its first
+ input.
+to_sign that they wish to prove
+ control of.
+witness_utxo and non_witness_utxo fields of the
+ first input, using the to_spend transaction as a non_witness_utxo or
+ the first output of the to_spend transaction as witness_utxo.
+witness_utxo and non_witness_utxo fields of
+ each additional input.
+PSBT_GLOBAL_GENERIC_SIGNED_MESSAGE field, using the full UTF-8 encoded
+ message as the valuedata.
+ valuedata or a PSBT as a whole in
+ [[bip-0174.mediawiki|BIP-0174]], but different signers might impose safety limits. It is
+ recommended to use a maximum length of a few kilobytes to maximize compatibility. Very large
+ messages should be committed to by hash instead.
+ PSBT_GLOBAL_GENERIC_SIGNED_MESSAGE field set. Extract and use as
+ message in the next steps.
+ witness_utxo or a non_witness_utxo
+ field set and the scriptPubKey can be extracted, then use as
+ message_challenge in the next steps.
+ prevout.n = 0.
+ prevout.hash = to_spend.txid where
+ to_spend.txid is constructed using the rules described above using the
+ message and message_challenge from the previous steps.
+ 0 and the
+ scriptPubKey set to OP_RETURN (0x6a).
+