I'm trying to "manually" confirm the Bitcoin addresses that Electrum, Sparrow, and Caravan generate from a deterministic multisig addresses.
As an example, I have the following 2-of-2 wallet:
Seed words #1:
legal thumb play interest flash will lucky jar outdoor guard vendor found crucial develop spring valley example supply fortune pole right acid alert page
Seed words #2:
begin siege speak boat before mad solve dance lawsuit point machine cake tragic fiber waste equip loan syrup cloud credit shock choose chest finish
Using Ian Coleman's BIP39 Tool, I can confirm the Master Public Key (xpub) with the following steps:
- Enter the seed words under BIP39 Mnemonic
- Under Derivation Path, Select the BIP32 tab
- Under BIP32 Derivation Path, enter
m/45'/0
(for legacy multisig) - Copy the BIP32 Extended Public Key
The resulting xpub matches with what Electrum generates when entering those seed words as a 2-of-2 legacy multisig wallet. The example xpub's are:
Wallet #1 xpub:
xpub6B7nJf6xmWPjeVpdSwePjDmUJxRWSVf3vXu47AYKiLTyW7rPUyysKVU8TtRJ9VXtAVNHjx6EsueiE9Mw7JyP4dVhZjJF4ViVAJNaoZo49uw
Wallet #2 xpub:
xpub6Ab52xTpcFNYToaXBT6opdaqo18rKSYA3rnum4XuE8pLW9N748QJq1PP5z93KSfbpfMVRLqsYgZYwfNmzomqkw4kvopD1PuXS4DuNaY4ZBi
The first address in this multisig wallet is 3BWrS4WXB61sppUN7zxgAqxzjcSvML7jWC
. When I enter those xpubs into Sparrow Bitcoin Wallet (with Script Type Legacy (P2SH)
and Derivation m/45'
) I get the same address. Caravan also gives the same address.
My question is this: how do I "manually" generate that first Bitcoin address?
I've tried using Ian Coleman's Multisig Tool, Bitcore, coinbin Bitcoin Wallet, and the addmultisigaddress command from Bitcoin core. They all require "Public Keys" of the addresses from the two wallets. Where can I find/generate those Public Keys (preferably using some sort of browser-html or command line tool)? I've tried using the Public Key's generated at the bottom of the BIP39 Tool from above, but no combination of those keys in any of the tools results in the same generated address.