#10978·electrum

[Feature]: Import BIP39 recovery phrase via SeedQR for Electrum Mobile

Author: schnuartz-aiCreated Sep 16, 2026Updated Sep 17, 2026

Feature request: Import BIP39 recovery phrase via SeedQR

Problem

Electrum Mobile currently supports restoring/importing a Bitcoin wallet using a BIP39 seed through the Android restore wizard.

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 Electrum Mobile 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 Electrum Mobile would be:

  1. Keep the master Bitcoin seed securely stored on a hardware wallet.
  2. Derive a separate BIP39 child seed for Electrum Mobile using BIP85.
  3. Display that child seed as a complete static SeedQR on the hardware wallet.
  4. Scan the SeedQR directly with Electrum Mobile.
  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 or 24 words recovery phrase into the phone.

Scanning a BIP85 seedphrase from a hardware wallet

Current behavior

Electrum supports importing BIP39 seeds through its restore wizard, including the Android QML application. The current BIP39 restore flow requires entering the seed manually and 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 Electrum Mobile already supports:

  • 12 words
  • 24 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 restore wizard.

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 and 24-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