<p>That depends on what kind of wallet you have.</p>

<p>The derivation path is designed to tell you which types of addresses you need to. </p>

<ul>
<li><code>m/44</code> means just regular addresses</li>
<li><code>m/49</code> means segwit nested in P2SH.</li>
<li><code>m/84</code> means native segwit.</li>
</ul>

<p>Wallets such as electrum allow you to select which address type to check, and then perform the account recovery process you linked in your post. Ledger and Trezor similarly expect you to select address type when opening the companion apps on the computer.</p>

<p>If you are building a wallet or tool, you should either prompt the user to select the address type, or iterate all three combinations (and give an option to enter a manual derivation path for non-compliant wallets).</p>

CC BY-SA 4.0
2018-08-04T11:22:24.970Z
2018-08-04T11:22:24.970Z
Raghav Sood
<p>Let's assume that I am going to create a new address in bitcoin HD wallet knowing only mnemonic words and that previously addresses were generated according to BIP44.</p>
<p>BIP44 gives an <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#Account_discovery" rel="nofollow noreferrer">algorithm</a> how to perform discovery but one thing is not clear for me: whether I should check all possible address types described in the <a href="https://en.bitcoin.it/wiki/Address" rel="nofollow noreferrer">wiki</a> (P2PKH, P2SH, Bech32) in outputs of transactions or there is some simpler way to check that particular index of child node was used to receive payments?</p>
<p>Any help will be apprecated, thank you!</p>

<address><address-generation><bip44><discovery>
Whether I have to scan all types of addresses to discover BIP44 wallet from mnemonic?
Nick
# Whether I have to scan all types of addresses to discover BIP44 wallet from mnemonic?

(Asked by: username_0 on 2018-08-04)

Let's assume that I am going to create a new address in bitcoin HD wallet knowing only mnemonic words and that previously addresses were generated according to BIP44.

BIP44 gives an [algorithm](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#Account_discovery) how to perform discovery but one thing is not clear for me: whether I should check all possible address types described in the [wiki](https://en.bitcoin.it/wiki/Address) (P2PKH, P2SH, Bech32) in outputs of transactions or there is some simpler way to check that particular index of child node was used to receive payments?

Any help will be apprecated, thank you!

**Tags:** address, address-generation, bip44, discovery


---

## 1 answers

### Answer by username_1 on 2018-08-04. Score: 1 | Accepted answer

That depends on what kind of wallet you have.

The derivation path is designed to tell you which types of addresses you need to.

* `m/44` means just regular addresses
* `m/49` means segwit nested in P2SH.
* `m/84` means native segwit.

Wallets such as electrum allow you to select which address type to check, and then perform the account recovery process you linked in your post. Ledger and Trezor similarly expect you to select address type when opening the companion apps on the computer.

If you are building a wallet or tool, you should either prompt the user to select the address type, or iterate all three combinations (and give an option to enter a manual derivation path for non-compliant wallets).


---

