add accounts to an existing wallet #67

Closed
opened 2026-09-16 16:13:37 +00:00 by grenade · 0 comments
Owner

Parent: #4

Why

A phrase holds many accounts, not one: Quantus's clients number them in the third path segment, m/44'/189189'/<account>'/0'/<scheme>' (mobile SDK HdWalletService.pathForIndex, quantus-cli's --derivation-path). Today a wallet opens with account 0 only, so someone who keeps separate accounts under one phrase, or who used account 1 or 2 in another Quantus wallet, cannot reach them here.

Scope

  • "Add account" on a wallet that carries a phrase derives the next account number under both schemes (ML-DSA-65 first, ML-DSA-87 labelled legacy, as #65 does for account 0) and opens them in the session straight away.
  • Which account numbers a wallet has is remembered across restarts. The quantus-cli file format holds one keypair and is shared with the CLI, so the numbers live in settings keyed by wallet name; they are not secret, and the keys are re-derived from the phrase on every unlock.
  • Accounts show their number ("Account 2") wherever they are listed or picked, unless the person has named them.
  • A wallet with no phrase (a single raw key) offers no "Add account".

Not in scope

Automatic discovery of used accounts on restore (the mobile wallet's gap-limit scan against its indexer). A later child if wanted.

Acceptance

Restore the dev phrase, add an account: accounts 2 appears under both schemes with its own addresses, matching what quantus wallet create --derivation-path "m/44'/189189'/1'/0'/1'" derives; restart the app and unlock: it is still there; send to it and from it.

Parent: #4 ## Why A phrase holds many accounts, not one: Quantus's clients number them in the third path segment, `m/44'/189189'/<account>'/0'/<scheme>'` (mobile SDK `HdWalletService.pathForIndex`, quantus-cli's `--derivation-path`). Today a wallet opens with account 0 only, so someone who keeps separate accounts under one phrase, or who used account 1 or 2 in another Quantus wallet, cannot reach them here. ## Scope - "Add account" on a wallet that carries a phrase derives the next account number under both schemes (ML-DSA-65 first, ML-DSA-87 labelled legacy, as #65 does for account 0) and opens them in the session straight away. - Which account numbers a wallet has is remembered across restarts. The quantus-cli file format holds one keypair and is shared with the CLI, so the numbers live in settings keyed by wallet name; they are not secret, and the keys are re-derived from the phrase on every unlock. - Accounts show their number ("Account 2") wherever they are listed or picked, unless the person has named them. - A wallet with no phrase (a single raw key) offers no "Add account". ## Not in scope Automatic discovery of used accounts on restore (the mobile wallet's gap-limit scan against its indexer). A later child if wanted. ## Acceptance Restore the dev phrase, add an account: accounts 2 appears under both schemes with its own addresses, matching what `quantus wallet create --derivation-path "m/44'/189189'/1'/0'/1'"` derives; restart the app and unlock: it is still there; send to it and from it.
grenade added the child label 2026-09-16 16:13:42 +00:00
grenade referenced this issue from a commit 2026-09-16 16:22:43 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: blackbeard/wallet#67