All Collections
1inch Wallet
iOS
How to create HD Wallets (sub-accounts) - iOS
How to create HD Wallets (sub-accounts) - iOS

A guide on creating hierarchically deterministic (HD) wallets in the 1inch iOS app

Matt avatar
Written by Matt
Updated over a week ago

This article covers:


What is a Hierarchically Deterministic (HD Wallet?

In simple terms, a HD wallet is a crypto wallet that can use its private key to create multiple others.

Wallets can be differentiated based on how their keys are generated. They can be non-deterministic (random) or deterministic (seeded) wallets. In non-deterministic wallets, the keys are randomly generated values. In deterministic wallets, the keys are determined from various forms of mathematics.

The keys of HD wallets are determined in a hierarchical method. This means that one "parent" private key can generate multiple other "child" private keys beneath it. Each "child" key can also be used to generate additional "grandchild keys" etc. From a broad perspective, this is identical to the commonly known "family tree" or "top-down corporate/governance" structures.

With HD wallets, the keys are mathematically generated from a single seed, which is a random alphanumeric number. This seed will also have an alternate representation of 12 English words called the mnemonic seed or 'recovery' phrase.

See example:

Unlike non-hierarchical wallets, only the single "parent" recovery phrase needs to be backed up for HD wallets, as all other "child" keys can be retrieved from this.

Essentially, this one single value (seed) can represent an infinite number of keys stored within a wallet application. This means that users’ addresses can be recovered, even if the private key is lost. In addition, multiple addresses can be created for receiving payments.


How to create a HD wallet within the 1inch iOS app

First, create a new wallet or import an existing one into the 1inch iOS app.

Then, tap on the three dots in the upper right corner of the main wallet screen.

From here, tap "Add Derivated".

On this next screen, you can select the HD Path type and desired number of new additional wallets to create.

There are several different paths available. Each one represents a different method of derivation:

The most common path structure was decided by BIP44, which helps maintain consistency between wallets.

The slashes ( / ) indicate a new branch in the tree (a new child).

The numbers (i.e. 0) indicate the child number from the parent.

See this article for more info on path structures.

Path types:

BIP44 - This is the most common path, which allows multiple tokens/coins and accounts, external and internal chains per account and an infinite number of addresses per chain.

Ledger Live - This is Ledger Live's proprietary implementation of BIP44.

Legacy - Also known as BIP32, this is the original path type proposed with the advent of HD wallets

Custom - This option allows you to enter custom variables for accounts, change, and index.

Once the path type and number of accounts are selected, tap "Continue".

Lastly, change the name of the wallet(s) to whichever you desire, then tap "Create".

You have now created a HD Wallet! On the next screen, you will see the brand new wallet.

***Keep in mind, you only need to have the recovery phrase for the parent wallet backed up, as the recovery phrase for both parent and child wallets are the same.

Questions, comments, concerns? Feel free to reach out to us in the live support chat!

Did this answer your question?