Skip to content

Cold wallet app#504

Open
n13 wants to merge 2 commits into
mainfrom
cold-wallet-app
Open

Cold wallet app#504
n13 wants to merge 2 commits into
mainfrom
cold-wallet-app

Conversation

@n13
Copy link
Copy Markdown
Collaborator

@n13 n13 commented Jun 2, 2026

Cold wallet - installed on an unused phone in offline mode

This basically a hardware wallet that can go on any phone, and is used with the Quantus Mobile Wallet as a signer.

Use any phone in offline mode, for security that phone shouldn't be used for anything else and be in airplane mode at all times.

  • Import / Create wallet
  • Manual entry of seed phrase since the cold wallet is not connected to any networks
  • Show the QR code for the address (onboard to mobile app)
  • Scan transaction QR code
  • Show signature QR code
  • Works only in offline mode
Simulator Screenshot - iPhone 17 - 2026-06-02 at 23 04 25 Simulator Screenshot - iPhone 17 - 2026-06-02 at 23 04 31 Simulator Screenshot - iPhone 17 - 2026-06-02 at 23 04 48 Simulator Screenshot - iPhone 17 - 2026-06-02 at 23 04 16

Simulator Screenshot - iPhone 17 - 2026-06-02 at 23 05 43
Simulator Screenshot - iPhone 17 - 2026-06-02 at 23 06 00

n13 added 2 commits June 2, 2026 22:05
A new standalone Flutter app (com.quantus.coldwallet) that acts as an
offline hardware-wallet-style signer, Keystone/UR compatible:

- Setup: create/import (BIP39 12 or 24 words with autocomplete), password
  (Argon2id + AES-GCM) vault in the platform secure element, optional
  biometric unlock, and a secure-element warning when unavailable.
- Operation: Show Key (static address QR + human checkphrase) and Sign
  Transaction (scan multi-part UR QR, parse + display plaintext details,
  sign with ML-DSA, emit signature as an animated UR QR).
- Air-gap enforcement: INTERNET permission removed on Android, plus a
  connectivity guard overlay that blocks use whenever a network is up;
  re-locks on backgrounding.

DRY: the >256-byte Blake2b signing-payload rule (which hot wallet, cold
wallet, and chain must agree on) is unified into a single source of
truth, QuantusSigningPayload.signablePayload, now used by both the SDK's
encodedPayloadToSign and the cold wallet.

melos: register cold-wallet-app in the workspace.
Replace the shared Quantus mark with a frozen, ice-crystal rendering of
the Q to visually signal the air-gapped cold wallet.

- iOS / legacy Android: full edge-to-edge frosted square.
- Android adaptive: transparent Q-glow foreground over a glacial navy
  gradient background, so the 16% safe-zone inset blends seamlessly with
  no visible card seam and the mark stays fully inside the mask.
- Drop the now-unused orange quantus_icon_* source assets.
@n13
Copy link
Copy Markdown
Collaborator Author

n13 commented Jun 2, 2026

cold-icon-square-1024

Copy link
Copy Markdown
Collaborator

@dewabisma dewabisma left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we can have a shared folder for both mobile app? Instead of duplicating the component and styling and everything since both need to be in same design system anyway.

So, if we need to adjust design we don't have to do it twice.

Like the logo, Q with cold vibe :D

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants