My wallet.dat (bitcoin-3.4) has maybe been left on a work machine, leaving it accessible to the admins there.

I would like to transfer all my current funds to a new wallet. How do I do this and how can I make sure that:

  • I still will be able to receive on the old keys (in case someone sends something there)
  • Not all my funds are transferred to the same key, making me more traceable.

2 Answers 2


Easiest way I can think of:

Use up all of the addresses in the keypool by requesting 100 new addresses. If you're comfortable in the command-line on Mac or Linux:

for i in {1..100}; do bitcoind getnewaddress; done

Then perform a bunch of sends-to-self using MORE freshly-generated addresses. Again, if you're comfortable on the command line and had (say) 10 bitcoins in your wallet you wanted to send in 10 different transactions over the course of an hour you might do:

for i in {1..10}; do bitcoind sendtoaddress $(bitcoind getnewaddress) 1; sleep 360; done

This wallet will still get coins sent to the old addresses, although if somebody at work DID have a copy they could also spend coins that came in to the old addresses. There's not much you can do about that.

  • Any public bitcoin address has corresponding private key that is used to control funds sent to that public address. So you can receive on the old keys as long as you don't lose corresponding private keys from the old wallet. It is also possible to export information from old wallet to new wallet with Pywallet, but of course make sure to have backups and use the program at your own risk.
  • Patched version of bitcoin client from Coderrr (bitcointalk thread), allows to choose Send From addresses for transaction to increase anonymity, but you would still have to manually enter different Send To addresses.

TLDR: this patch allows you to …

  • see all addresses, including change
  • see which addresses are linked together (does recursive expansion of address linkages)
  • select which address(es) to send from, rather than letting the client to chose (randomly) for you

Complete anonymity is achievable, but complicated task when sending bitcoins, Bitcoin Wiki - Anonymity has good tips for that.

  • s/loose/lose/ please :)
    – nanotube
    Commented Sep 27, 2011 at 21:20

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.