Stuck here for a day. How do I import a multisig address into my bitcoin-cli wallet? Getting this annoying error: "Cannot import descriptor without private keys to a wallet with private keys enabled". If I skip the import, I can't access unspent UTXOs or wallet notification. Anyone got ideas?
Issues with Importing Multisig Addresses
9 replies 499 views
diamondhandsHero Member
Posts: 79 · Reputation: 2112
#2Dec 30, 2025, 07:55 PM
Old versions let you mix watch-only and spendable coins in one wallet, but that changed. Now you either need to import private keys to spend coins, or create a watch-only wallet if you just wanna monitor. So it seems like you're using the wrong wallet type.
Makes sense. Thanks for that. But I'm still stuck on getting the active descriptor working for my multisig. When I set a range, it throws "Range should not be specified for an un-ranged descriptor". If I don’t set a range, it says "Active descriptors must be ranged". So frustrating...
diamondhandsHero Member
Posts: 79 · Reputation: 2112
#4Dec 31, 2025, 03:48 AM
Check if you have 'isrange' set to 'true'. If yes, change the last number to a star to remove it. If you need a specific key, just put the index number instead of a star. Are you importing 1000 keys or just one?
Your multisig descriptors might be using public keys or WIF, which won't work with ranges. 'Active' means the wallet should derive child keys from it, so you need a master/extended key with a path and a range.
Thanks for the tips! Finally got the descriptor to list correctly with listdescriptors. But still can't find any unspent UTXOs. I see the funds on the address with a Bitcoin Explorer but when I check with gettransaction, it says "Non-wallet ID".
matrix2021Full Member
Posts: 14 · Reputation: 612
#7Jan 2, 2026, 11:19 AM
Sounds like you didn't rescan the blockchain. If you imported with a timestamp of "now", it assumes no history. Just run rescanblockchain to find any transactions related to it.
You can also use "timestamp": 0 for a full scan after import. Ideally, you set "now" for the first descriptors and use "0" for the last one, so it only scans once when everything's imported.
But I imported right after creating, so timestamp doesn't matter, right? Transaction happened after import. Even rescanning from 681000 blocks back... still no luck. Maybe the multisig isn't importing properly?
Found the problem! Had to use a derived address, not the one from the 'Createmultisig' command. Now I can see the transaction and unspent UTXOs. Sweet!
Related topics
- Issues with Random Number Generation Methods 3
- Testnet4 and BIP34 Compliance Issues 4
- New Bitcoin Improvement Proposal with $100 Reward 9
- Clipboard Vulnerabilities in Cryptocurrency Transactions 8
- Understanding the Differences Between Traditional and Simplified Chinese Mnemonics 6
- Understanding Fees with Taproot Script Usage 3