A multisig wallet spreads control of your bitcoin over several keys, usually on separate hardware wallets, so that no single lost or stolen device can cost you everything. Coordinator software on your computer builds the wallet from each device’s extended public key (xpub), a read-only key, and calculates the wallet’s receiving addresses from all of them together. Whose keys end up in the wallet depends on the xpubs it receives at setup.
If malware on that computer swaps one of those xpubs for its own, you end up with a wallet in which an attacker holds one of the keys you believe are yours, and nothing looks wrong. The defence is to check every key where malware can’t reach it: on each hardware wallet’s own screen. This guide shows how in eight steps, then covers the mistakes that undo the check and what to do when something doesn’t match.
Step-by-Step Guide
Work through the eight steps for every hardware wallet in the setup before any money goes in. Steps 3 and 5 compare keys, Step 6 is the check that malware on your computer can’t fake (the same address and the same policy, such as 2 of 3, on every device), Step 7 proves that each device can sign, and Step 8 keeps the wallet recoverable if a seed is ever lost.
Step 1: Initialize each hardware wallet independently. Before creating the multisig wallet, ensure each hardware device has been initialized with its own unique seed phrase in a secure, offline environment. Power on the device, follow the manufacturer’s setup wizard, and record the seed phrase on a durable medium such as a steel plate. Never generate seeds on a computer or use pre-generated seeds from any source.
Step 2: Export xpubs directly from each hardware device. Find the device’s extended public key export function; the menu varies by maker, so follow the maker’s own guide. The device’s own screen should show the full xpub string and, next to it, the derivation path it comes from (for example m/48'/0'/0'/2', the standard BIP 48 path for native SegWit multisig). The path isn’t part of the xpub string itself.
Step 3: Record the xpub and master fingerprint from the device display. Write down the xpub exactly as it appears on the hardware wallet’s trusted screen (a phone photo can end up in a cloud backup). Note the master key fingerprint — an 8-character hexadecimal identifier worked out from each seed (and its passphrase, if you use one). This fingerprint serves as a quick cross-reference to confirm which device produced which xpub during future verification rounds, but it can’t prove that the xpub next to it is genuine: malware can show your fingerprint beside its own key.
Step 4: Import xpubs into your multisig coordinator software. Using a coordinator application such as Sparrow Wallet, Electrum, or Nunchuk, create a new multisig wallet and import each xpub. The software will display the imported xpubs along with their derivation paths and fingerprints. At this stage, do not yet send any funds to the wallet.
Step 5: Cross-verify each xpub on its corresponding hardware device. For each hardware wallet, use the device’s “show xpub” feature to confirm that the xpub displayed in your coordinator software matches exactly what the hardware device shows on its own secure screen. Compare the whole string, character by character. Matching ends aren’t enough: the first 16 or so characters only encode labels (key type, depth, position and a tag of the parent key) that malware can copy, and the last 8 can be forced to match with enough computing power. Compare keys written in the same format: some devices and apps write a native SegWit multisig key as a Zpub, and the Zpub and xpub of the same key differ in almost every character. A match here still leaves one gap, because malware can show you your genuine xpub while building the wallet with its own. Step 6 closes it.
Step 6: Generate and verify a receive address. First make sure every device knows the whole wallet: on Coldcard, Passport and Keystone you load the descriptor once, which is called registering it, while a Trezor receives the other keys from the coordinator with each request (the multisig in practice lesson shows how for each device). Then generate the first receive address in the coordinator and display it on each hardware device with its “verify address” feature for multisig. Each device works the address out itself from the keys it was given, so every one of them must show the same address as the coordinator. A device whose own key is missing from the wallet refuses: a Coldcard won’t register such a wallet, and a Trezor won’t show its address. That’s how the device whose xpub was swapped out gives the attack away, so check on all of them. Matching addresses don’t catch everything, though: malware that keeps all your keys but adds one of its own, or lowers the threshold, still gets the same address on every device. So also check that each device shows the policy you chose, such as 2 of 3, when you register the wallet or show the address.
Step 7: Perform a test transaction. Send a small amount of bitcoin to the verified receive address. Then initiate a spend from the multisig wallet, signing with the required number of devices. In a 2-of-3, a spend uses only two devices, so make a second small spend with a different pair to test the third. This end-to-end test confirms that the wallet is fully operational and that each hardware device can correctly participate in transaction signing. Only after this successful test should you deposit larger amounts.
Step 8: Back up the wallet descriptor and configuration file. Export the multisig wallet descriptor (a BSMS file, the BIP 129 standard, or a descriptor export such as Bitcoin Core’s JSON listdescriptors output) and store a copy with each seed phrase backup. This descriptor contains all xpubs, derivation paths, the script type and the quorum threshold. If one seed is ever lost, that key’s xpub can’t be recalculated from the others, and without the descriptor the remaining seeds can sign but can’t find your coins.
Common Mistakes to Avoid
1. Trusting software-displayed xpubs without hardware verification. The most dangerous mistake is accepting xpubs shown only on your computer screen without confirming them on each hardware device’s secure display. Malware on your computer could substitute an attacker’s xpub, giving them one of the required keys in your multisig quorum. Always verify on the device itself.
2. Skipping the master fingerprint comparison. Each seed (with its passphrase, if you use one) has its own master key fingerprint. When setting up or restoring a multisig wallet, failing to compare fingerprints between the coordinator software and the hardware device can lead to using the wrong key without realizing it. This mistake often surfaces only when attempting to sign a transaction, at which point funds may already be at risk.
3. Assuming every wallet app uses the same derivation path. Different coordinator applications may default to different derivation paths for multisig (e.g., m/45' vs m/48'/0'/0'/2'). If you switch coordinator software or attempt recovery using a different application, mismatched derivation paths will generate different xpubs from the same seed, making the wallet appear empty or inaccessible (the address types and derivation paths lesson explains why).
4. Failing to back up the wallet configuration file. Many users back up their seed phrases diligently but neglect to store the multisig wallet descriptor. Without this file, reconstructing the wallet requires knowing every xpub, the exact derivation paths, the script type, and the quorum structure — information you must reproduce exactly even with every seed. Once one seed is lost, its xpub can’t be recalculated, so it has to come from a copy you kept, such as your Step 3 notes.
5. Not performing a full send-and-spend test before depositing significant funds. Generating an address and receiving bitcoin proves nothing about your ability to spend from the wallet. Hardware devices may accept xpub imports but fail during signing due to firmware bugs, incorrect configurations, or path mismatches. A complete test transaction is the only reliable way to verify end-to-end functionality.
Frequently Asked Questions
What happens if one of my hardware wallets displays a different xpub than expected?
If a hardware wallet displays an xpub that does not match what your coordinator software shows, first check that both screens use the same format: the xpub and Zpub of the same key look completely different. If the formats match, stop the setup process immediately. This discrepancy could indicate compromised software on your computer, an incorrect derivation path configuration, or in rare cases a firmware issue on the device. Re-download your coordinator software from the official source, verify its signature, and restart the xpub import process on a computer you trust. Reinstalling only the app won’t clean an infected computer, so use another computer or reinstall this one’s operating system first. If the mismatch persists on that computer, check that the derivation path in the coordinator exactly matches the path the hardware device is using for export. Different BIP standards (BIP-45, BIP-48, BIP-87) use different derivation paths, and mixing them will produce different xpubs from the same seed.
Can I verify xpubs if my hardware wallet does not have a dedicated multisig verification feature?
Some older or simpler hardware wallets lack native multisig address verification. In this case, you can still verify the xpub by comparing it character-by-character between the device’s export screen and the coordinator software. However, you will not be able to verify receive addresses on-device for the multisig wallet specifically. This represents a reduced security model — consider upgrading to a device that supports full multisig verification, such as a Coldcard, Keystone, or recent Trezor firmware that includes this capability.
How often should I re-verify my multisig xpubs after initial setup?
Re-verification is recommended whenever you update your coordinator software, upgrade hardware wallet firmware, or restore the wallet configuration on a new computer. As a general practice, performing a quarterly verification — confirming that a test address generated by the coordinator matches what each hardware device displays — provides ongoing assurance that no configuration drift has occurred. This is especially important for large holdings or institutional custody arrangements where the cost of a security failure is high.
Is it safe to share my xpubs with other multisig participants?
Xpubs are less sensitive than private keys, but they are not public information in the same way a single Bitcoin address is. Whoever holds all the xpubs of a multisig wallet, which is exactly what the descriptor contains, can calculate every past and future address and so see your whole balance and history. In a collaborative multisig arrangement, sharing xpubs with co-signers is necessary for wallet creation, so each co-signer can see the whole wallet; treat this data as confidential. Transmit xpubs through encrypted channels and avoid storing them in cloud services or email.
Related Resources
- MultiSig Backup Maps: Protect Keys and Privacy — A deep dive into organizing and securing the backup materials required for multisig wallets.
- Hardware Wallet Multisig Setup Guide — How hardware devices integrate with multisig setups and what to look for in a signing device.
- Multisig Wallet Recovery: Pitfalls and Strategies — Practical guidance on navigating the challenges of multisig wallet management.
- Singlesig to Multisig Bitcoin Migration — A technical walkthrough for users upgrading their security model from singlesig.
- The Complete Guide to Bitcoin Seed Phrase Security — Essential reading on protecting the seed phrases that underpin every multisig key.



