Cold wallet app#504
Conversation
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.
dewabisma
left a comment
There was a problem hiding this comment.
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
|
Actually this is intentional I want it to be its own app |
|
Also didn't want to overly engnieer this with shared UX and so on, just want to get it out This is an intentional choice, it's better right now |
|
It should be its own app and not dependent on the mobile app UX - mixing the UX code runs the risk of every update to the mobile app breaking the cold app and vice versa, I don't want that |
|
Ok we discussed and came to the conclusion and explanation: This is a cute app we want to have no development overhead for I'd rather have it go off brand than having a constant dev mental overhead whenever we release the mobile app we also need to think about, check, and potentially fix this app - this would then mean it's no longer a cute app, but a real product. For now this signer app is internal to Quantus and will likely see no more than 10 users ever ;) |
dewabisma
left a comment
There was a problem hiding this comment.
Okay look good, nothing serious found.

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.