user3995: 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.


user153: 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.

user19655: 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.

user1307: You can do that via the default bitcoind API.
I suppose you are used to use Bitcoin-Qt? Then most probably the bitcoind daemon 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 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

3995: <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>
 153: <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>
 19655: <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>
 1307: <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>
