There are 2 approach i could think.
1. Export Electrum seed/recovery words to other wallet which support seed created by Electrum. I'm aware Sparrow Wallet support that, although i have no idea whether it'll run well if you manually increase gap to 50000.
2. Export Electrum master private key to Bitcoin Core. I've seen few people claim they have wallet.dat with million address without much problem. But it requires more RAM (since AFAIK Bitcoin Core load whole wallet.dat to RAM) and you need to deal with descriptor format to perform export.
It would be great if someone tested importing into Sparrow by setting a range starting from 50000 in the gap_limit.
Bitcoin Core would be very useful in this case, as it allows setting an initial and final value for the gap_limit when importing an extended public or private key descriptor, as long as your RAM can handle it.
If the OP wants to try, here’s a step by step guide:
Download and install bitcoin core (preferably the GUI).
Decide whether to enable pruning (keeping or not the full blockchain on internal/external storage).
Import the extended public or private key (xpub/xpriv) using the following command (below):
By coincidence, I found an old post of mine explaining exactly how to set a gap_limit of "0 - 50000." In your case, OP, just replace these values with "50000 - 51000" or any other range you prefer. I'll quote my post:
To understand how output descriptors work and an example of how to use them, you can access this topic:
https://bitcointalk.org/index.php?topic=5483885.msg63603357#msg63603357Optionally, to better suit your case, you can define a "range" variable in the descriptor to generate, for example, 5000 addresses, e.g.: ..."range:"[0,5000]... this must be added in the descriptor to be imported, for example:
Importing a BIP32 Extended Private Key:
importdescriptors '[{"desc":"wpkh(xprv9s21ZrQH143K3QSWqukfLKQDxVUPmk2WuS7etkznSZcRVBZcKhV4m7MhEnrHKW3Dq5vjHXXSoyS13K4JqmRuKRquH3bV9eNU9p781DMeyC3/84h/0h/0h/0/*)#4qqw9c4q","timestamp":"now","active":true,"range":[0,5000]},{"desc":"wpkh(xprv9s21ZrQH143K3QSWqukfLKQDxVUPmk2WuS7etkznSZcRVBZcKhV4m7MhEnrHKW3Dq5vjHXXSoyS13K4JqmRuKRquH3bV9eNU9p781DMeyC3/84h/0h/0h/1/*)#y590cd9c","timestamp":"now","active":true,"internal":true,"range":[0,5000]}]'
{
"desc": "wpkh([c90d8a1f/84h/0h/0h]xpub6Cyu9toACShWh9YdQTcwquoyGByEnUZCGWiywsvzzvKfQipjdbyLJzCWxBjspyiu18DhZ6hp2hxTmxDuZvR1GuXEVd28CuTUKcA9nYQwKuw/0/*)#tyyve29j",
"timestamp": 1729633211,
"active": true,
"internal": false,
"range": [
0,
5000
],
"next": 0,
"next_index": 0
},
{
"desc": "wpkh([c90d8a1f/84h/0h/0h]xpub6Cyu9toACShWh9YdQTcwquoyGByEnUZCGWiywsvzzvKfQipjdbyLJzCWxBjspyiu18DhZ6hp2hxTmxDuZvR1GuXEVd28CuTUKcA9nYQwKuw/1/*)#6spdyl42",
"timestamp": 1729633211,
"active": true,
"internal": true,
"range": [
0,
5000
],
"next": 0,
"next_index": 0
}
]
}
Obviously, replace the values with your public/private key (xpriv or xpub), read the
cited link if you don't know how descriptors and the descriptor import command works in bitcoin core.
The OP could also try extracting the private key using the iancoleman script, as suggested by nc50lc. In this case, it’s up to the OP to decide which approach to take. If downloading a full node isn’t an option, the best alternative would be using the modified iancoleman script that works with Electrum.
We would also like to know which script the OP is referring to.