You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi @15i15 Do you have a sample qrCode of the expected format (not with your real passphrase of course), or a link to a specification/examples of other wallets that allow this?
Krux supports this flow as well. Their docs describe adding/replacing a wallet passphrase by choosing between typing it or scanning it, and the implementation has a Scan BIP39 Passphrase path that reads the QR payload as the passphrase.
We already have two different options for entering a passphrase, so I'd imagine we could add a 3rd to the selection carousel
(BIP39 Passphrase -> Method -> Manual | WordList | QR)
Right now Jade only generates CompactSeedQRs but it can read (AFAIK) plain text QR, StandardSeedQR, and CompactSeedQR
Is there a specific QR type you would find useful to support for this? @15i15@oroderico
Because you can always create a new CompactSeedQR through the Temp Signer flow, that probably makes the most practical sense since Jade can help you create one instead of needing to make it elsewhere
I think plain-text QR would be the most appropriate format. The QR payload should be interpreted directly as the BIP39 passphrase, as Krux does. StandardSeedQR and CompactSeedQR represent mnemonic seeds, so using those formats for a passphrase could mix two different concepts. @bitcoinhelp
I've started working on an implementation for this. The current approach adds QR Code as a third passphrase method on camera-enabled devices and treats a plain-text QR payload directly as the BIP39 passphrase, keeping it separate from SeedQR formats.
I'm currently validating confirmation and cancellation flows, persistence and backward compatibility, ASCII handling, and the UI on the
Waveshare S3 Touch before opening a PR. I'll share the PR here once the branch is ready for
review.
We already have two different options for entering a passphrase, so I'd imagine we could add a 3rd to the selection carousel (BIP39 Passphrase -> Method -> Manual | WordList | QR)
Right now Jade only generates CompactSeedQRs but it can read (AFAIK) plain text QR, StandardSeedQR, and CompactSeedQR
Is there a specific QR type you would find useful to support for this? @15i15@oroderico
Because you can always create a new CompactSeedQR through the Temp Signer flow, that probably makes the most practical sense since Jade can help you create one instead of needing to make it elsewhere
Why the wordlist method passphrase input is capped at 10 words even though the underlying limit is 100 characters?
I've started working on an implementation for this. The current approach adds QR Code as a third passphrase method on camera-enabled devices and treats a plain-text QR payload directly as the BIP39 passphrase, keeping it separate from SeedQR formats.
I'm currently validating confirmation and cancellation flows, persistence and backward compatibility, ASCII handling, and the UI on the Waveshare S3 Touch before opening a PR. I'll share the PR here once the branch is ready for review.
While implementing the QR flow, did you run into any issues with Jade’s existing 10-word limit for the wordlist method passphrase entry, or is that constraint fully bypassed when the passphrase is provided through QR?
Activity
jgriffiths commentedon Jul 11, 2026
Hi @15i15 Do you have a sample qrCode of the expected format (not with your real passphrase of course), or a link to a specification/examples of other wallets that allow this?
15i15 commentedon Jul 11, 2026
As far as I know, SeedSigner and Coldcard Q have this feature. I don't have any links, sorry.
oroderico commentedon Jul 14, 2026
Krux supports this flow as well. Their docs describe adding/replacing a wallet passphrase by choosing between typing it or scanning it, and the implementation has a
Scan BIP39 Passphrasepath that reads the QR payload as the passphrase.Docs: https://github.com/selfcustody/krux/blob/main/docs/getting-started/usage/navigating-the-main-menu.en.md#passphrase
Implementation: https://github.com/selfcustody/krux/blob/main/src/krux/pages/wallet_settings.py#L70-L79 and https://github.com/selfcustody/krux/blob/main/src/krux/pages/wallet_settings.py#L140-L166
bitcoinhelp commentedon Jul 16, 2026
We already have two different options for entering a passphrase, so I'd imagine we could add a 3rd to the selection carousel
(BIP39 Passphrase -> Method -> Manual | WordList | QR)
Right now Jade only generates CompactSeedQRs but it can read (AFAIK) plain text QR, StandardSeedQR, and CompactSeedQR
Is there a specific QR type you would find useful to support for this? @15i15 @oroderico
Because you can always create a new CompactSeedQR through the Temp Signer flow, that probably makes the most practical sense since Jade can help you create one instead of needing to make it elsewhere
oroderico commentedon Jul 31, 2026
I think plain-text QR would be the most appropriate format. The QR payload should be interpreted directly as the BIP39 passphrase, as Krux does. StandardSeedQR and CompactSeedQR represent mnemonic seeds, so using those formats for a passphrase could mix two different concepts. @bitcoinhelp
oroderico commentedon Aug 1, 2026
I've started working on an implementation for this. The current approach adds QR Code as a third passphrase method on camera-enabled devices and treats a plain-text QR payload directly as the BIP39 passphrase, keeping it separate from SeedQR formats.
I'm currently validating confirmation and cancellation flows, persistence and backward compatibility, ASCII handling, and the UI on the
Waveshare S3 Touch before opening a PR. I'll share the PR here once the branch is ready for
review.
WIP branch (not ready for formal review yet):
https://github.com/oroderico/Jade/tree/feature/bip39-passphrase-qr-code
Tracachang commentedon Aug 14, 2026
Why the wordlist method passphrase input is capped at 10 words even though the underlying limit is 100 characters?
While implementing the QR flow, did you run into any issues with Jade’s existing 10-word limit for the wordlist method passphrase entry, or is that constraint fully bypassed when the passphrase is provided through QR?