<ul>
<li>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 <a href="https://bitcointalk.org/index.php?topic=34028.0">Pywallet</a>, but of course make sure to have backups and use the program at your own risk.</li>
<li><a href="http://coderrr.wordpress.com/2011/06/30/patching-the-bitcoin-client-to-make-it-more-anonymous/">Patched version of bitcoin client</a> from Coderrr (<a href="https://bitcointalk.org/index.php?topic=23354.0">bitcointalk thread</a>), allows to choose Send From addresses for transaction to increase anonymity, but you would still have to manually enter different Send To addresses.</li>
</ul>

<blockquote>
  <p>TLDR: this patch allows you to …</p>
  
  <ul>
  <li>see all addresses, including change</li>
  <li>see which addresses are linked together (does recursive expansion
  of address linkages)</li>
  <li>select which address(es) to send from, rather than letting the
  client to chose (randomly) for you</li>
  </ul>
</blockquote>

<p>Complete anonymity is achievable, but complicated task when sending bitcoins, <a href="https://en.bitcoin.it/wiki/Anonymity">Bitcoin Wiki - Anonymity</a> has good tips for that.</p>

CC BY-SA 3.0
2011-09-27T21:20:53.283Z
`s/loose/lose/` please :)
nanotube
CC BY-SA 3.0
2011-09-27T14:12:07.927Z
2011-09-27T21:41:38.060Z
2011-09-27T21:41:38.060Z
Serith
<p>Easiest way I can think of:</p>

<p>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:</p>

<pre><code>for i in {1..100}; do bitcoind getnewaddress; done
</code></pre>

<p>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:</p>

<pre><code>for i in {1..10}; do bitcoind sendtoaddress $(bitcoind getnewaddress) 1; sleep 360; done
</code></pre>

<p>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.</p>

CC BY-SA 3.0
2011-09-30T21:17:17.480Z
2011-09-30T21:17:17.480Z
gavinandresen
<p>My wallet.dat (bitcoin-3.4) has maybe been left on a work machine, leaving it accessible to the admins there.</p>

<p>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:</p>

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

<wallet>
How can I transfer all funds to new keys?
Peter Smit
# How can I transfer all funds to new keys?

(Asked by: username_0 on 2011-09-27)

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.

**Tags:** wallet


---

## 2 answers

### Answer by username_3 on 2011-09-30. Score: 10 | Accepted answer

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.


---

### Answer by username_1 on 2011-09-27. Score: 6

* 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](https://bitcointalk.org/index.php?topic=34028.0), but of course make sure to have backups and use the program at your own risk.
* [Patched version of bitcoin client](http://coderrr.wordpress.com/2011/06/30/patching-the-bitcoin-client-to-make-it-more-anonymous/) from Coderrr ([bitcointalk thread](https://bitcointalk.org/index.php?topic=23354.0)), 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](https://en.bitcoin.it/wiki/Anonymity) has good tips for that.

> **Comments:**
> **username_2**: `s/loose/lose/` please :)  

---

