Mostly followed this guide on how to create a psbt where multiple users pool money together. Everything is done in regtest.
The gist of what I did is as follows:
- Created 2 different descriptor wallets (Same machine, but different seeds), generated some funds into each wallet, and used
createmultisig
using public keys from the 2 wallets.createmultisig 2 (pubkey1, pubkey2) address_type=bech_32
- created psbt using
createpsbt(inputs, outputs)
- ran
walletprocesspsbt
on each wallet with appropriate hexstrings - ran
finalizepsbt
andsendrawtransaction
with appropriate hexstrings - created a new blank wallet as such
createwallet wallet_name="wallet_multisig" disable_private_keys=true blank=true
- ran
importdescriptors
on the descriptor created from above createmultisig command. Success - Can view balance in wallet_multisig with
listunspent
, but since no keys, can’t send that balance. So I’m at a loss on what to do or if I used wrong commands so I can spend that balance after importing the multisig address into a new wallet.
As stated previously, after finalizing the psbt and importing the descriptor (from createmultisig
command) into a blank descriptor wallet, I can view the balance using listunspent
, but I can’t spend it.
Looking at another chapter of the guide spending funds sent to a multisignature address, the theoretical next step is to create a transaction, then on each wallet sign using signrawtransactionwithkey
command with private key. Given that I’m using descriptor wallets (not legacy), this isn’t an option. Nor can I generate an address since the wallet has no keys.
Am I doing something wrong in my previous steps? If not, what steps moving forward can I do to be able to claim the coins in the multisig address?