It sounds like the problem may be that the new wallet derived a different type of address from your private key.
Normal wallet function will present you with a new address each time you receive coins. Each of those addresses will have an associated private key, that needs to be used to spend the funds. Note that the same private key is not used to derive multiple addresses in a wallet, there is a 1:1 relationship for private keys and addresses.
So when you want to import that private key to a new wallet, you need to make sure the new wallet derives the correct address from it (ie, the same one your original wallet did, when you originally received the payment), otherwise the new wallet is showing a different address then it will not show your funds, since it is looking in the wrong place.
This question has a bit of info about different address types.
As a first step, compare the first characters of the address that holds the funds, and the address that the new wallet generated. If they are not the same (eg the original is 3...
and the new wallet is bc1...
), then you will need to either instruct the new wallet to generate the correct type of address, or if this is not possible, you will need to find a different wallet that is capable of doing so.
Note: if your bitcoin-core wallet is fully synced, you can run the command bitcoin-cli listunspent
, to get a list of UTXOs that the wallet is keeping track of. You can look through the list to confirm the balance of specific addresses using this command, to ensure you are attempting to export the correct private key.
dumpprivkey
? Thewallet.dat
can only be recognized by Core.