<p>You can do that via the <a href="https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list" rel="nofollow">default bitcoind API</a>.</p>

<p>I suppose you are used to use Bitcoin-Qt? Then most probably the <a href="https://en.bitcoin.it/wiki/Bitcoind" rel="nofollow">bitcoind daemon</a> is also installed on your computer.</p>

<p>You can move an address from one wallet to another using the <code>setaccount</code> command. It works as follows.</p>

<p><code>setaccount &lt;bitcoinaddress&gt; &lt;account&gt;</code></p>

<p>So, when you have an address, let's say <code>1HDPmDGcgXkRTBbACYXNQ1SNeoCQEPvN3v</code>, that you want to move from <code>wallet1</code> to <code>wallet2</code>, then you can do the following command.</p>

<p><code>setaccount 1HDPmDGcgXkRTBbACYXNQ1SNeoCQEPvN3v wallet2</code></p>

<p>You can perform these commands most easily from a command line interface. In Unix systems where <a href="https://en.bitcoin.it/wiki/Bitcoind" rel="nofollow">bitcoind</a> is installed, you can do the following:</p>

<ul>
<li>Make sure Bitcoin-Qt is closed.</li>
<li>Launch bitcoind as a daemon:</li>
</ul>

<p><code>bitcoind -daemon</code></p>

<ul>
<li>Do the command I mentioned above: (It's possible that you get an error that the Bitcoin server is not yet running, just wait a little.)</li>
</ul>

<p><code>bitcoind setaccount 1HDPmDGcgXkRTBbACYXNQ1SNeoCQEPvN3v wallet2</code></p>

CC BY-SA 3.0
2013-05-06T02:26:37.940Z
Hi, thanks for pointing out `bitcoind`, I find it very interesting. I tried `setaccount` but it doesn't  generate a new wallet (wallet.dat file I can move to another computer), just a new "account" which is of no real use to me. In fact, the account which holds address I want to move to a new wallet, show a balance of several bitcoins when it should be zero, and another unnamed ("") account shows a negative balance, so it seems you can't use "accounts" to know neat balance of an address.
Francisco R
CC BY-SA 3.0
2013-06-28T01:46:57.973Z
@FranciscoR https://en.bitcoin.it/wiki/Accounts_explained#Accounts_and_Receiving_Addresses will explain the "" unnamed account and negative balance.
Chris
CC BY-SA 3.0
2013-12-09T14:21:09.090Z
An account in bitcoin is not a wallet. As explained here (https://en.bitcoin.it/wiki/Accounts_explained), account is a way to categories the different addresses into groups within a wallet. Having said that, the `setaccount` method is not to transfer an address from wallet to another.
Abishek R Srikaanth
CC BY-SA 3.0
2013-05-02T20:36:40.723Z
2013-05-02T20:36:40.723Z
Steven Roose
<p>Open Bitcoin-Qt with old wallet (Menu: Help / Debug window / Console):</p>

<pre><code>walletpassphrase "OLDWALLETPASSPHRASE" 600
dumpprivkey "BITCOINADDRESS"
walletlock
</code></pre>

<p>...write down private key and close program. Next open Bitcoin-Qt with new wallet and import private key:</p>

<pre><code>walletpassphrase "NEWWALLETPASSPHRASE" 600
importprivkey "BITCOINPRIVKEYFROMOLDWALLET" "SOMELABEL"
walletlock
</code></pre>

<p>...wait for rescan and lock wallet. That is all without other programs etc.</p>

CC BY-SA 3.0
2014-10-10T19:10:07.537Z
2014-10-10T19:10:07.537Z
John Saturday
<p>The Bitcoin-Qt client currently does not provide any method to delete addresses.  You can create a new wallet and import a subset of the private keys from the old wallet to create a wallet that doesn't have certain private keys/addresses.</p>

CC BY-SA 3.0
2013-05-06T02:29:32.003Z
Do you know how can I create a new empty wallet, with 0 addresses in it? I tried renaming wallet.dat, and Bitcoin-qt creates a new wallet, but there is always an address in it.
Francisco R
CC BY-SA 3.0
2013-05-03T01:13:20.737Z
2013-05-03T01:13:20.737Z
Stephen Gornick
<p>The Bitcoin-Qt client currently does not provide any method to delete addresses. You can create a new wallet and import a subset of the private keys from the old wallet to create a wallet that doesn't have certain private keys/addresses.</p>

CC BY-SA 3.0
2017-01-14T12:28:17.383Z
2017-01-14T12:28:17.383Z
Video World
<p>I have a wallet with several addresses. I would like to isolate one of the addresses in its own wallet, but I don't know how to do it. I've been trying with pywallet.py, but I've been unable to do it.</p>

<p>Can you help me, please?</p>

<p><strong>EDIT:</strong> I've made some progress:</p>

<ul>
<li>I dumped my wallet with <code>pywallet.py --dumpwallet &gt;wallet.json</code>, and searched for the key I wanted to isolate, and wrote down the field named <code>sec</code>.</li>
<li>Then moved <code>wallet.dat</code> to another folder, and started bitcoin-qt, so it generated a new wallet.</li>
<li>Opened <code>Help -&gt; Debug window -&gt; console</code> and run <code>importprivkey  XXXXXXXX mykeylabel</code>. It took about 4 minutes to import the key.</li>
</ul>

<p>Now I still need to:</p>

<ul>
<li>remove this address from the old wallet.</li>
<li>remove the default address in the new wallet, so it contains just the imported address.</li>
</ul>

CC BY-SA 3.0
2013-05-01T18:51:31.350Z
Which client are you using?
o0'.
CC BY-SA 3.0
2013-05-01T18:59:32.460Z
Bitcoin-qt but I'm thinking about trying Armory
Francisco R
CC BY-SA 3.0
2013-05-02T07:34:34.277Z
What is the reason that you want to do this? In most cases, the easiest and safest thing to do is just send bitcoins from one wallet to another.
Eyal
CC BY-SA 3.0
2013-05-02T10:25:53.760Z
While this is true, he might need to preserve that key if he publicized widely that address.
o0'.
CC BY-SA 3.0
2013-05-02T13:58:38.170Z
Right. I don't want to loose that address. I also don't want to mix balances with other addresses. Bitcoin-qt creates hidden change addresses with almost every transaction, so after a while, I can't be sure of the exact balance of an address (account?). I prefer to isolate this address and all its future related change addreses in its own wallet.
Francisco R
<wallet><address><wallet.dat>
How to move an address to a new wallet?
Francisco R
# How to move an address to a new wallet?

(Asked by: username_0 on 2013-05-01)

I have a wallet with several addresses. I would like to isolate one of the addresses in its own wallet, but I don't know how to do it. I've been trying with pywallet.py, but I've been unable to do it.

Can you help me, please?

**EDIT:** I've made some progress:

* I dumped my wallet with `pywallet.py --dumpwallet >wallet.json`, and searched for the key I wanted to isolate, and wrote down the field named `sec`.
* Then moved `wallet.dat` to another folder, and started bitcoin-qt, so it generated a new wallet.
* Opened `Help -> Debug window -> console` and run `importprivkey XXXXXXXX mykeylabel`. It took about 4 minutes to import the key.

Now I still need to:

* remove this address from the old wallet.
* remove the default address in the new wallet, so it contains just the imported address.

**Tags:** wallet, address, wallet.dat

> **Comments:**
> **username_1**: Which client are you using?  
> **username_0**: Bitcoin-qt but I'm thinking about trying Armory  
> **username_2**: What is the reason that you want to do this? In most cases, the easiest and safest thing to do is just send bitcoins from one wallet to another.  
> **username_1**: While this is true, he might need to preserve that key if he publicized widely that address.  
> **username_0**: Right. I don't want to loose that address. I also don't want to mix balances with other addresses. Bitcoin-qt creates hidden change addresses with almost every transaction, so after a while, I can't be sure of the exact balance of an address (account?). I prefer to isolate this address and all its future related change addreses in its own wallet.  

---

## 4 answers

### Answer by username_3 on 2013-05-02. Score: 4

You can do that via the [default bitcoind API](https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list).

I suppose you are used to use Bitcoin-Qt? Then most probably the [bitcoind daemon](https://en.bitcoin.it/wiki/Bitcoind) is also installed on your computer.

You can move an address from one wallet to another using the `setaccount` command. It works as follows.

`setaccount <bitcoinaddress> <account>`

So, when you have an address, let's say `1HDPmDGcgXkRTBbACYXNQ1SNeoCQEPvN3v`, that you want to move from `wallet1` to `wallet2`, then you can do the following command.

`setaccount 1HDPmDGcgXkRTBbACYXNQ1SNeoCQEPvN3v wallet2`

You can perform these commands most easily from a command line interface. In Unix systems where [bitcoind](https://en.bitcoin.it/wiki/Bitcoind) is installed, you can do the following:

* Make sure Bitcoin-Qt is closed.
* Launch bitcoind as a daemon:

`bitcoind -daemon`

* Do the command I mentioned above: (It's possible that you get an error that the Bitcoin server is not yet running, just wait a little.)

`bitcoind setaccount 1HDPmDGcgXkRTBbACYXNQ1SNeoCQEPvN3v wallet2`

> **Comments:**
> **username_0**: Hi, thanks for pointing out `bitcoind`, I find it very interesting. I tried `setaccount` but it doesn't  generate a new wallet (wallet.dat file I can move to another computer), just a new "account" which is of no real use to me. In fact, the account which holds address I want to move to a new wallet, show a balance of several bitcoins when it should be zero, and another unnamed ("") account shows a negative balance, so it seems you can't use "accounts" to know neat balance of an address.  
> **username_4**: @username_0 https://en.bitcoin.it/wiki/Accounts_explained#Accounts_and_Receiving_Addresses will explain the "" unnamed account and negative balance.  
> **username_5**: An account in bitcoin is not a wallet. As explained here (https://en.bitcoin.it/wiki/Accounts_explained), account is a way to categories the different addresses into groups within a wallet. Having said that, the `setaccount` method is not to transfer an address from wallet to another.  

---

### Answer by username_6 on 2014-10-10. Score: 3

Open Bitcoin-Qt with old wallet (Menu: Help / Debug window / Console):

```
walletpassphrase "OLDWALLETPASSPHRASE" 600
dumpprivkey "BITCOINADDRESS"
walletlock

```

...write down private key and close program. Next open Bitcoin-Qt with new wallet and import private key:

```
walletpassphrase "NEWWALLETPASSPHRASE" 600
importprivkey "BITCOINPRIVKEYFROMOLDWALLET" "SOMELABEL"
walletlock

```

...wait for rescan and lock wallet. That is all without other programs etc.


---

### Answer by username_7 on 2013-05-03. Score: 2

The Bitcoin-Qt client currently does not provide any method to delete addresses. You can create a new wallet and import a subset of the private keys from the old wallet to create a wallet that doesn't have certain private keys/addresses.

> **Comments:**
> **username_0**: Do you know how can I create a new empty wallet, with 0 addresses in it? I tried renaming wallet.dat, and Bitcoin-qt creates a new wallet, but there is always an address in it.  

---

### Answer by username_8 on 2017-01-14. Score: 0

The Bitcoin-Qt client currently does not provide any method to delete addresses. You can create a new wallet and import a subset of the private keys from the old wallet to create a wallet that doesn't have certain private keys/addresses.


---

