Skip to content

[Feature]: Import BIP39 recovery phrase via SeedQR for Bitcoin.com Wallet #613

Description

@schnuartz-ai

Feature request: Import BIP39 recovery phrase via SeedQR

Problem

Bitcoin.com Wallet currently supports restoring/importing a Bitcoin wallet using a 12-word BIP39 wallet recovery phrase.

However, there is currently no way to scan a SeedQR and import the encoded BIP39 mnemonic directly.

This makes wallet setup and recovery unnecessarily cumbersome for users who derive or generate a dedicated hot-wallet seed on another device, especially when that device can display a complete static SeedQR.

For example, users may derive a dedicated hot-wallet seed using BIP85 and then want to import that seed directly into Bitcoin.com Wallet without manually typing the recovery phrase.

Why this is useful

BIP85 allows users to deterministically derive separate BIP39 child mnemonics from a securely backed-up master seed.

A useful workflow with Bitcoin.com Wallet would be:

  1. Keep the master Bitcoin seed securely stored on a hardware wallet.
  2. Derive a separate BIP39 child seed for Bitcoin.com Wallet using BIP85.
  3. Display that child seed as a complete static SeedQR on the hardware wallet.
  4. Scan the SeedQR directly with Bitcoin.com Wallet.
  5. Restore the same child seed later from the master seed if the phone or wallet installation is lost.

This creates a frictionless workflow while keeping the master Bitcoin seed off the mobile device.

It also avoids having to manually type a 12 words recovery phrase into the phone.

Scanning a BIP85 seedphrase from a hardware wallet

Current behavior

Bitcoin.com Wallet uses 12-word BIP39 mnemonics for wallet backups and allows a user to enter the recovery phrase when importing a wallet. The current flow does not provide a SeedQR scanner for mnemonic import.

Requested behavior

Add a Scan SeedQR option to the existing recovery/import flow.

The wallet should:

  • Scan a SeedQR using the device camera.
  • Decode the BIP39 mnemonic locally.
  • Validate the resulting BIP39 mnemonic and checksum.
  • Import it using the existing wallet recovery logic.
  • Keep the existing recovery methods available as a fallback.

Supported mnemonic lengths

The SeedQR importer only needs to support the same BIP39 mnemonic lengths that Bitcoin.com Wallet already supports:

  • 12 words

Where applicable, support:

  • Standard SeedQR
  • CompactSeedQR

Scope

This request is import only.

Security considerations

  • SeedQR contents must be processed locally.
  • Seed material must never be sent to analytics, logs, crash reports, or remote services.
  • The QR payload and decoded seed material should not remain in memory longer than necessary.
  • Sensitive recovery data should not be persisted as part of the scanning flow.
  • Existing warnings around importing recovery phrases should remain.
  • Invalid or unsupported SeedQR data should be rejected before wallet restoration continues.

Suggested UX

The existing recovery screen could offer an additional action such as:

Scan SeedQR

alongside the existing the existing Import Wallet action.

After scanning:

  1. Decode the SeedQR.
  2. Validate the resulting BIP39 recovery data.
  3. Show the same confirmation or security warnings used by the existing restore flow, where applicable.
  4. Continue through the wallet's normal restoration logic.

Acceptance criteria

  • The existing recovery/import flow offers a Scan SeedQR action.
  • SeedQRs representing 12-word BIP39 mnemonics can be imported.
  • Standard SeedQR is supported.
  • CompactSeedQR is supported.
  • The resulting BIP39 recovery data is validated before restoration.
  • Invalid or unsupported SeedQR payloads produce a clear error.
  • Existing wallet recovery logic is reused after decoding.
  • Seed material is processed locally and is not included in logs, analytics, crash reports, or remote requests.
  • Existing manual recovery methods continue to work.
  • No SeedQR export functionality is added as part of this feature.

References

SeedQR specification:
https://github.com/SeedSigner/seedsigner/blob/dev/docs/seed_qr/README.md

BIP85:
https://github.com/bitcoin/bips/blob/master/bip-0085.mediawiki

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions