This guide is mainly intended for Bitcoin core QT wallet users. Its for former users who wish to securely transfer their Bitcoins from their backup wallet.dat file to an alternate wallet. Specifically electrum wallet. And its for those who do not want to wait for the wallet initial synchronization which typically takes hours / days depending on the hardware spec.
If you are looking to restore your core wallet’s wallet.dat file then here is a guide. How to backup core wallet and restore wallet.dat file? However if you are looking to import wallet.dat file into electrum or any other wallet then the following post is for you. It basically explains how to move / transfer coins from Bitcoin core QT wallet to electrum.
Now before we see how to load wallet.dat file and import everything into electrum let’s understand why someone would consider moving their Bitcoin from core wallet to electrum.
Why electrum over core wallet?
Bitcoin core is the official and the original Bitcoin wallet. It is a full node client that validates and relays transactions on the Bitcoin network. This wallet offers you full control over your Bitcoin and it provides the highest level of security. But there are some drawbacks.
One of the biggest reasons why users prefer Electrum over core wallet is that QT client is slow. You can’t load up the wallet and use it right away. You have to wait for the wallet to synchronize with the blockchain. The problem is most hodlers do not open their wallet for weeks, months or even years. As a result when they open the wallet again they’ll have to wait for hours or even a whole day before they can use Bitcoin core.
If your core wallet freezes and if it doesn’t sync then here are few guides on how to fix them.
Also you can try re-scanning, re-indexing the wallet. This will fix your wallet.
But even after fixing the wallet synchronization issues there are some worst cases like for example your PC might crash and corrupt the blockchain files on your hard disk. In such case you’ll have to reinstall core wallet, re download and verify the whole blockchain from scratch which is over 300+ GB.
To speed up the synchronization one can use bootstrap.dat file. But then most won’t prefer it mainly because this wallet consumes too much disk space. Well, one could consider pruning the blockchain. But even in prune mode the whole blockchain needs to be downloaded consuming huge bandwidth. Pruning only decreases the storage size.
In comparison with core wallet Electrum has lower security but this wallet is light weight and has a faster startup time.
Another reason to consider electrum is that it is a HD wallet that offers the possibility to backup / recover all your keys using just a seed phrase. When setting up wallet initially the software will generate a mnemonic seed phrase for you which is usually 12 random words. All you need to do is write this down and keep it safely.
In case if your computer crashes or if you wish to migrate you can enter those words and restore wallet completely.
You don’t get this benefit with core wallet as core wallet stores all private keys in wallet.dat file and you need to backup this file. The problem is only core wallet supports wallet.dat and so you cannot use this file anywhere other than core wallet.
So how do I import wallet.dat file into electrum and transfer Bitcoins?
How to import wallet.dat file into electrum?
It is not possible to restore your old Bitcoin core wallet to Electrum using the .dat file. You cannot import wallet.dat into electrum wallet as electrum does not support this file type. As we said other than core wallet you cannot import wallet.dat file anywhere else.
So the best way to transfer your Bitcoins from core wallet to electrum is by sending your coins to the address on your electrum wallet. This way you’ll even have your coins secured with electrum generated seed.
But the problem is wallet sync issue. You cannot send coins until it is finished synchronizing. So how do you transfer Bitcoin from wallet.dat file?
While electrum doesn’t support wallet.dat files it supports private key imports. Using private keys you can either import or use the sweep operation.
The private keys are stored in wallet.dat file and you need to obtain the private key to transfer Bitcoin from core wallet to electrum.
To export the private keys sadly you have to start the Bitcoin core again using your original wallet.dat file. But the good part is you don’t have to wait for the whole blockchain to download.
Before you export private keys from core wallet know that dealing with private keys is dangerous. Private keys are case sensitive and there is a high changes of making mistakes. It could get you into trouble and if this is not handled properly you could end up losing your Bitcoins.
If you can wait until the core wallet synchronizes then it is better if you transfer coins on-chain. However if you are impatient and if core wallet gives you more trouble then follow the guide below. But do so more cautiously as you are dealing with raw private keys.
Transfer Bitcoin from QT to electrum
The idea is to export private keys from Bitcoin core. The private keys can be exported even when the wallet is not synchronized with the blockchain. You can either export private key of specific address from your core wallet or you can export keys for all the address.
Using block explorer find the address that holds coins. You can then import or sweep the private keys of those addresses into your electrum wallet.
Follow the steps below to export private key from your Bitcoin core wallet or bitcoin-qt client:
- Launch Bitcoin core wallet as usual. If your old wallet is corrupt then download a new wallet, setup, run it and then replace your original wallet.dat file.
- Open debug window console tab. Learn how to use Bitcoin core wallet console commands.
- If your Bitcoin-QT wallet is encrypted then type:
walletpassphrase “enter your passphrase” 500. This will unlock your wallet. Just replace enter your passphrase line with your wallet passphrase. If your wallet is not encrypted then skip this step.
- Once wallet is unlocked type:
dumpprivkey “your bitcoin address”and hit enter.
- This will return the private key of that particular Bitcoin address.
walletlockin console window to lock your wallet back.
To get private key of all your address follow these steps
Exporting all private keys | Dump wallet
Follow the first 3 steps from above. Once you have the wallet unlocked type:
dumpwallet “bitcoinkeys” in console window and hit enter.
The wallet will export all the private keys in a single file (WIF format) and it will return the file path.
Go to file location and open that file in text editor or notepad ++. You should see all the address and its associated private keys. You can now either import them or sweep them into your electrum wallet.
Note: Since you’ve exported private keys from core wallet the keys and the wallet are no longer considered secure. Move the funds immediately to your new electrum wallet either by sweeping or by importing the private key. Also remember to clear your clipboard / history once you copy and use the private keys.
Import /sweep private keys into electrum
First of all make sure you download electrum from electrum.org. Then verify electrum. Next create a new wallet and then store your Electrum seed words securely offline.
Now there are two ways to use the private keys in electrum wallet. You can either import or sweep the keys.
To import private keys you need to create a new wallet with no seed. But you can sweep keys to a wallet with existing seed. So which one is better?
If you import private keys remember that the private keys won’t become part of the electrum seed. So you’ll have to keep the backup of those keys separately. For this reason importing keys to electrum is a bad idea as it won’t be recoverable using the electrum seed. If you are importing keys then use it temporarily. Once imported move the coins to another wallet or exchange account and abandon the temporary wallet. Never use it again.
The way HD wallet works is that all private keys are derived from a single mnemonic seed. If you import an external private key then it won’t became part of the wallet. The keys cannot be regenerated from seed word.
So the safest and the preferable way to transfer BTC from core to electrum is by sweeping keys.
Previously we’ve made a guide explaining how to import / sweep private keys into electrum wallet. Go thorough that to safely transfer your Bitcoins from QT wallet to electrum.