15

I had about $8 USD worth of bitcoin in a wallet, and I backed up the wallet.dat to my dropbox. According to the modified date of the file this was in April 2013, so it was probaby from bitcoin qt version 0.8.1, or maybe a little earlier.

I basically left it there and haven't done anything with bitcoin since then. Since it is worth probably at least $100 now I decided to check the exact amount.

I downloaded the latest version of bitcoin core, added the wallet.dat file to the data directory, started it with -rescan, and waited almost a month (!) for the blockchain data to get up to date. The balance showed as 0 the whole time. I thought it would update once the blockchain was totally downloaded, but it still just says 0.

Is this a problem with old vs new versions? Did I do something wrong? Next time, should I expect the balance to show a non-zero amount even if I haven't downloaded the whole blockchain yet?

1
  • 2
    Do you see incoming/outgoing transactions to/from your addresses in "transactions" tab?
    – amaclin
    Sep 18, 2017 at 19:06

3 Answers 3

16

I recently recovered an old wallet.dat file using pywalley.py and Electrum, which allowed me to read the wallet and sweep the coins to a new Electrum wallet.

Steps:

Passphrase is optional, only if the wallet is encrypted.

If that works, then run it again with the --dumpwithbalance option, that is

./pywallet.py --dumpwallet --dumpwithbalance --datadir=. --passphrase=PASSPHRASE

Ideally, redirect it to a file. Then, search the file for nonzero balances.

You can use http://BitRef.com to make sure that the addresses with balances still have balances.

In the JSON dump of the wallet.dat file, you will find the private key, in the field labeled "sec." Don't share that with with anyone. That key will allow anyone to sweep your bitcoins into their wallet.

Using that key, you can install the Electrum wallet and sweep the coins into a new wallet without downloading the blockchain. You will pay a fee of 0.2-0.5 mBTC to do it slowly, more if you are in a hurry.

There are good instructions at https://en.bitcoin.it/wiki/Transferring_coins_from_Bitcoin-Qt_to_Electrum which include a link to a more paranoid process using an offline computer to avoid accidental exposure of your private key.

There is a default fee of 0.5 mBTC, you can adjust it in Tools-->Preferences.

The address in the "Sweep" dialog box is just the new wallet address being swept to.

You can watch the transaction progress at http://bitref.com or http://blockchain.info.

Once in the new wallet, you can send to an exchange like CoinBase to cash out, or just spend the Bitcoin. The Electrum wallet costs more in fees but saves you the pain of downloading and managing the whole blockchain.

EDIT #1: The sad news is that as of January 2018 the transaction fees are hovering around USD $40, so recovering a small wallet will probably consume all of its value. I managed to sign a low fee transaction from my old wallet, but it has been stuck in the mempool for weeks, now. It may be there forever.

EDIT #2: After 26 days in the mempool, my low fee bitcoin transaction finally got confirmed.

3
  • 1
    This is also useful
    – Pikachu
    Mar 1, 2018 at 6:51
  • what I don't understand is that if you can do it this way with Electrum, why cant you do it this way (or a similar way) using Bitcoin Core app? There doesn't seem to be a plain explanation of how to do it in the Core app.
    – Jon Grah
    Mar 2 at 14:10
  • It should be even simpler - just use the send and receive functions. Get the address of your desired Bitcoin core wallet, and send from your stored wallet address to the new address. Since Bitcoin Core has the whole blockchain, you just need the address and password of the offline wallet. (Disclaimer: I have never used Bitcoin Core, just looking at instructions) Mar 12 at 16:19
1

which OS are you running? In a first step, you don't need to wait for the app to sync completly. The address is relevant. Can you see "your address"? If so, cut&paste it into blockchain.info, and see what values are there. You may have several addresses... In the bitcoin-cli or the command line window you can try "getaccount" or "getaccountaddress". (a complete list of commands here: https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_Calls_list). When you see some values, all then it might be worthwhile to wait for the sync. At the point in time, when you mentioned your wallet had it's last transaction (apr 2013), "getblockcount" should return a number below the 300.000 range. (Today we are at block ~485.000, and all 10 minutes a block is created. This is 6 per hour, 144 per day, ~50.000 per year). So once you have reached sync with this block height, you should see your values. I think the client even says, how far it is behind, when hovering with the mouse in the lower right corner.

When you see your values, you are able to spend it, even if client is not fully sync'ed.

0

If you're unsure whether your wallet desktop software is showing the right amount, a good check may be to put your public address into the search box at https://blockchain.info/ (i.e. not the text box in the top left; scroll down and see the search box).

This site will show you all the transactions into and out of that public address. I guess the first step is getting your local Bitcoin database to mirror that.

If you had $8 in 2013, I suspect you have rather more than $100 now. Once you find the money, I would, if I were you, move it to a fresh public address (taking care to keep the private key for it safe!) given that the private key to your existing account has been in the cloud.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.