Is there an existing issue for this?
- I have searched the existing issues
Current behaviour
<img width="2880" height="1800" alt="Image" src="https://github.com/user-attachments/assets/aa70a4b7-ffaa-4246-8d1f-813cbea82d2b" />
This is my first time reporting an issue, so please let me know if I am missing something.
I have been testing Bitcoin Core more intensively over the last few days, mostly on Signet, and while testing a 2-of-3 Taproot multisig setup I noticed something that confused me.
I created a PSBT from a watch-only multisig wallet and loaded it into one of the signer wallets.
The GUI shows this message:
Transaction is missing some information about inputs
At first I thought something was wrong with the PSBT and that the signer would not be able to sign it.
However, when I process the same PSBT with walletprocesspsbt, the signer successfully adds its Taproot script-path signature. The result is complete: false, as expected after the first signature in a 2-of-3 multisig.
I also checked the original PSBT with analyzepsbt, and it reports:
{
"inputs": [
{
"has_utxo": true,
"is_final": false,
"next": "updater"
}
],
"next": "updater"
}
But decodepsbt shows that the PSBT already contains the Taproot information such as:
witness_utxotaproot_scriptstaproot_bip32_derivstaproot_internal_keytaproot_merkle_root
And after running walletprocesspsbt, the decoded PSBT contains a valid taproot_script_path_sigs entry.
So what confused me is that both the GUI and analyzepsbt suggest that more input information is required, while the signer is actually able to sign the PSBT successfully.
I would have expected analyzepsbt to report signer as the next step, or for the GUI to avoid showing the “missing information” message if the PSBT is already signable.
Setup:
- Bitcoin Core 31.1.0
- Signet
- macOS 26.5.2, Build 25F84
- Descriptor wallets
- 2-of-3 Taproot script-path multisig using
sortedmulti_a - Watch-only coordinator wallet with private keys disabled
If useful, I can provide the public descriptor, Signet transaction IDs, PSBT and more detailed reproduction steps.
Expected behaviour
If the PSBT already contains enough information for the signer wallet to successfully add a valid signature, I would expect the GUI not to show the message:
Transaction is missing some information about inputs
I would also expect analyzepsbt to report the next role as signer rather than updater.
If some additional information is actually missing, it would be helpful if Bitcoin Core indicated exactly which information is missing.
Steps to reproduce
Create three descriptor wallets to act as signers.
Create a 2-of-3 Taproot script-path multisig descriptor using
sortedmulti_a.Import the public multisig descriptor into a watch-only coordinator wallet.
Import the corresponding multisig descriptor into each signer wallet, with that signer’s private key and the other two signer keys public.
Fund an address generated from the watch-only multisig wallet.
Create an unsigned PSBT from the watch-only wallet spending the multisig UTXO.
Load that PSBT into one of the signer wallets using the GUI.
The GUI displays:
Transaction is missing some information about inputs
- Run
analyzepsbton the same PSBT. It reports:
"next": "updater"
Run
walletprocesspsbt <PSBT>in the signer wallet.The signer successfully adds a Taproot script-path signature and returns:
"complete": false
- Decode the returned PSBT and confirm that
taproot_script_path_sigscontains the new signature.
How did you obtain Bitcoin Core
Pre-built binaries
What version of Bitcoin Core are you using?
31.1.0
Operating system and version
MacOS 26.5.2 Build 25F84
Machine specifications
Macbook Air M1, 2020