Bitcoin Forum
August 21, 2026, 07:21:31 PM *
News: Latest Bitcoin Core release: 31.1 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Creating software multi-vendor multisig  (Read 52 times)
kexoni (OP)
Newbie
*
Offline

Activity: 10
Merit: 1


View Profile
August 20, 2026, 05:47:12 PM
 #1

Hi,

I want to create multi-vendor multisig using software wallets.

Two wallets have derivation path m/84'/0'/0', but third (Electrum) have m/0'.

Sparrow will be coordinator, and while creating multisig Sparrow set derivaton path to m/48'/0'/0'/2' by default. Should I use this derivation path for all three signers (keystore), or to enter derivation path from the wallets?
Charles-Tim
Legendary
*
Offline

Activity: 2380
Merit: 6503


Leading Crypto Sports Betting & Casino Platform


View Profile
August 20, 2026, 07:29:47 PM
 #2

The later which is m/48'/0'/0'/2  is the derivation path for native segwit P2WSH, not m/84'/0'/0.

m/84'/0'/0 is for singlesig wallet and ha s nothing to do with multisig. Their private and public keys cn not wrok with each other.

https://electrum.readthedocs.io/en/latest/multisig.html

There is nothing you have to do with singlesig keys about it.

..Stake.com..   ▄████████████████████████████████████▄
   ██ ▄▄▄▄▄▄▄▄▄▄            ▄▄▄▄▄▄▄▄▄▄ ██  ▄████▄
   ██ ▀▀▀▀▀▀▀▀▀▀ ██████████ ▀▀▀▀▀▀▀▀▀▀ ██  ██████
   ██ ██████████ ██      ██ ██████████ ██   ▀██▀
   ██ ██      ██ ██████  ██ ██      ██ ██    ██
   ██ ██████  ██ █████  ███ ██████  ██ ████▄ ██
   ██ █████  ███ ████  ████ █████  ███ ████████
   ██ ████  ████ ██████████ ████  ████ ████▀
   ██ ██████████ ▄▄▄▄▄▄▄▄▄▄ ██████████ ██
   ██            ▀▀▀▀▀▀▀▀▀▀            ██ 
   ▀█████████▀ ▄████████████▄ ▀█████████▀
  ▄▄▄▄▄▄▄▄▄▄▄▄███  ██  ██  ███▄▄▄▄▄▄▄▄▄▄▄▄
 ██████████████████████████████████████████
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█  ▄▀▄             █▀▀█▀▄▄
█  █▀█             █  ▐  ▐▌
█       ▄██▄       █  ▌  █
█     ▄██████▄     █  ▌ ▐▌
█    ██████████    █ ▐  █
█   ▐██████████▌   █ ▐ ▐▌
█    ▀▀██████▀▀    █ ▌ █
█     ▄▄▄██▄▄▄     █ ▌▐▌
█                  █▐ █
█                  █▐▐▌
█                  █▐█
▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀█
▄▄█████████▄▄
▄██▀▀▀▀█████▀▀▀▀██▄
▄█▀       ▐█▌       ▀█▄
██         ▐█▌         ██
████▄     ▄█████▄     ▄████
████████▄███████████▄████████
███▀    █████████████    ▀███
██       ███████████       ██
▀█▄       █████████       ▄█▀
▀█▄    ▄██▀▀▀▀▀▀▀██▄  ▄▄▄█▀
▀███████         ███████▀
▀█████▄       ▄█████▀
▀▀▀███▄▄▄███▀▀▀
..PLAY NOW..
Cricktor
Legendary
*
Offline

Activity: 1596
Merit: 4331



View Profile
Today at 04:36:57 AM
 #3

OP, maybe you should describe what you want to achieve with your setup, except for having multisig wallets. This might help us to focus hints for you.

Two wallets have derivation path m/84'/0'/0', but third (Electrum) have m/0'.
As Charles-Tim mentioned, those already existing wallets are not setup for multisig, wrong derivation paths, and to my knowledge can't be forced into a multisig wallet.

Have you ever tried to setup a multisig wallet before, regardless of the used software wallet(s)?

nc50lc
Legendary
*
Offline

Activity: 3248
Merit: 9019


Self-proclaimed Genius


View Profile
Today at 05:04:27 AM
 #4

Two wallets have derivation path m/84'/0'/0', but third (Electrum) have m/0'.
You can't just copy a wpkh descriptor's extended public key (xpub) from Core and expect it to sign a multiSig transaction's PSBT, it will fail to reproduce the correct script.
Also, their extended public keys aren't compatible with each other, it needs extra step to convert; one click of a button in Sparrow, command in Electrum.

e.g.:
In Bitcoin Core, you'll need to manually create and import a wsh(sortedmulti()) external and internal descriptors containing the master private key of your wallet with your preferred derivation path and the extended public keys of the cosigners.
Then get the derived extended public key with that derivation path instead of the wpkh descriptor's xpub, use that in the coordinator.

In Electrum, your "master public key" is your extended public key but it's not the normal "xpub" format that Core supports.
So you'll have to convert it using Electrum's convert_xkey() command to be compatible.

Should I use this derivation path for all three signers (keystore), or to enter derivation path from the wallets?
The gist is: that derivation path indicates how to derive the xpub that follows it from the master private key (represented by a master fingerprint)
Although it might work in the cosigners and coordinator's side since it only needs the xpub and the derivation path on its right side to generate the addresses, you should still set it correctly to prevent any issues in the future.
On the other hand, the part with the master private key in the signers' side should be correct for it to derive the correct extended public key that's given to the cosigners.

I want to create multi-vendor multisig using software wallets.
Bitcoin Core and Sparrow wallet utilize descriptors, Electrum doesn't.
So setting this up isn't going to be straightforward, should be possible but must be properly documented for you to be able to reproduce it in the future.

Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!