<p>See <a href="https://bitcoincore.org/en/releases/24.0.1/" rel="nofollow noreferrer">https://bitcoincore.org/en/releases/24.0.1/</a></p>
<blockquote>
<h2>Migrating Legacy Wallets to Descriptor Wallets</h2>
<p>An experimental RPC <code>migratewallet</code> has been added to migrate Legacy (non-descriptor) wallets to Descriptor wallets. More information about the migration process is available in the <a href="https://github.com/bitcoin/bitcoin/blob/master/doc/managing-wallets.md#migrating-legacy-wallets-to-descriptor-wallets" rel="nofollow noreferrer">documentation</a>.</p>
</blockquote>
<p>That &quot;documentation&quot; link leads to</p>
<blockquote>
<h2>Migrating Legacy Wallets to Descriptor Wallets</h2>
<p>Legacy wallets (traditional non-descriptor wallets) can be migrated to become Descriptor wallets through the use of the <code>migratewallet</code> RPC. Migrated wallets will have all of their addresses and private keys added to a newly created Descriptor wallet that has the same name as the original wallet. Because Descriptor wallets do not support having private keys and watch-only scripts, there may be up to two additional wallets created after migration. In addition to a descriptor wallet of the same name, there may also be a wallet named <code>&lt;name&gt;_watchonly</code> and <code>&lt;name&gt;_solvables</code>. <code>&lt;name&gt;_watchonly</code> contains all of the watchonly scripts. <code>&lt;name&gt;_solvables</code> contains any scripts which the wallet knows but is not watching the corresponding P2(W)SH scripts.</p>
<p>Migrated wallets will also generate new addresses differently. While the same BIP 32 seed will be used, the BIP 44, 49, 84, and 86 standard derivation paths will be used. After migrating, a new backup of the wallet(s) will need to be created.</p>
<p>Given that there is an extremely large number of possible configurations for the scripts that Legacy wallets can know about, be watching for, and be able to sign for, <code>migratewallet</code> only makes a best effort attempt to capture all of these things into Descriptor wallets. There may be unforeseen configurations which result in some scripts being excluded. If a migration fails unexpectedly or otherwise misses any scripts, please create an issue on GitHub. A backup of the original wallet can be found in the wallet directory with the name <code>&lt;name&gt;-&lt;timestamp&gt;.legacy.bak</code>.</p>
</blockquote>
<hr />
<p>I believe an alternative, though more costly, process would be to generate a receiving address using a new descriptor wallet and instruct the legacy wallet to create a transaction sending money from the legacy wallet to the address created by the descriptor wallet.</p>

CC BY-SA 4.0
2023-11-17T17:35:57.320Z
2023-11-17T17:35:57.320Z
RedGrittyBrick
<p>How can I move Bitcoin from a descriptor wallet to a legacy wallet on bitcoin core.</p>
<p>What is the difference between a descriptor wallet and a legacy wallet?</p>

CC BY-SA 4.0
2023-11-17T16:15:18.953Z
Per favore traduci le tue domande in inglese prima di pubblicarle. Grazie!
Hannah Vernon
CC BY-SA 4.0
2023-11-29T16:37:20.817Z
Hello Carmen, it seems to me that you are asking about a partial solution towards trying to export a private key. But why do you want to export a private key in the first place? Perhaps we would be able to help better if you asked about that problem in the first place.
Murch
<bitcoin-core>
Bitcoin Core transactions between wallets
Carmen Duda
# Bitcoin Core transactions between wallets

(Asked by: username_0 on 2023-11-14)

How can I move Bitcoin from a descriptor wallet to a legacy wallet on bitcoin core.

What is the difference between a descriptor wallet and a legacy wallet?

**Tags:** bitcoin-core

> **Comments:**
> **username_1**: Per favore traduci le tue domande in inglese prima di pubblicarle. Grazie!  
> **username_2**: Hello username_0, it seems to me that you are asking about a partial solution towards trying to export a private key. But why do you want to export a private key in the first place? Perhaps we would be able to help better if you asked about that problem in the first place.  

---

## 1 answers

### Answer by username_3 on 2023-11-17. Score: 1

See <https://bitcoincore.org/en/releases/24.0.1/>

> ## Migrating Legacy Wallets to Descriptor Wallets
>
> An experimental RPC `migratewallet` has been added to migrate Legacy (non-descriptor) wallets to Descriptor wallets. More information about the migration process is available in the [documentation](https://github.com/bitcoin/bitcoin/blob/master/doc/managing-wallets.md#migrating-legacy-wallets-to-descriptor-wallets).

That "documentation" link leads to

> ## Migrating Legacy Wallets to Descriptor Wallets
>
> Legacy wallets (traditional non-descriptor wallets) can be migrated to become Descriptor wallets through the use of the `migratewallet` RPC. Migrated wallets will have all of their addresses and private keys added to a newly created Descriptor wallet that has the same name as the original wallet. Because Descriptor wallets do not support having private keys and watch-only scripts, there may be up to two additional wallets created after migration. In addition to a descriptor wallet of the same name, there may also be a wallet named `<name>_watchonly` and `<name>_solvables`. `<name>_watchonly` contains all of the watchonly scripts. `<name>_solvables` contains any scripts which the wallet knows but is not watching the corresponding P2(W)SH scripts.
>
> Migrated wallets will also generate new addresses differently. While the same BIP 32 seed will be used, the BIP 44, 49, 84, and 86 standard derivation paths will be used. After migrating, a new backup of the wallet(s) will need to be created.
>
> Given that there is an extremely large number of possible configurations for the scripts that Legacy wallets can know about, be watching for, and be able to sign for, `migratewallet` only makes a best effort attempt to capture all of these things into Descriptor wallets. There may be unforeseen configurations which result in some scripts being excluded. If a migration fails unexpectedly or otherwise misses any scripts, please create an issue on GitHub. A backup of the original wallet can be found in the wallet directory with the name `<name>-<timestamp>.legacy.bak`.

---

I believe an alternative, though more costly, process would be to generate a receiving address using a new descriptor wallet and instruct the legacy wallet to create a transaction sending money from the legacy wallet to the address created by the descriptor wallet.


---

