WhiskyWallet

Hardware gated Salvium wallet with post-quantum encryption at rest

Status: Beta Latest: v0.2.8 Distribution: Free, closed source

Releases on GitLab ↗ Google Play ↗
WhiskyWallet is built around a clear principle: your spend key never sits unprotected on disk. The wallet uses post-quantum encryption at rest, supports FIDO2 hardware authenticator unlock on desktop over USB and NFC and on Android over NFC and USB, and ships today on Linux, Windows, and Android. No biometric authentication. No custodial fallback. No telemetry.
Contents
  1. Quick start
  2. Why WhiskyWallet
  3. Platforms
  4. Security model
  5. Hardware unlock
  6. Download and install
  7. Architecture
  8. Roadmap
  9. FAQ
  10. Support and contact
1. Quick start
  1. Download WhiskyWallet for your platform from the downloads section.
  2. Verify the binary against the published checksums-sha256.txt file on the release page.
  3. Launch the wallet, create a new wallet or restore from seed.
  4. Set a strong PIN or passphrase to protect the wallet at rest.
  5. Receive SAL at your generated address. Send SAL by entering your PIN when prompted.

If you have not used a Salvium wallet before, the Salvium documentation explains the privacy model, the view key vs spend key distinction, and how transactions work.

2. Why WhiskyWallet

There are several ways to hold Salvium. WhiskyWallet exists because the available options did not solve a specific problem the right way: how to give users meaningful at rest protection for their spend key, on hardware they actually own, without depending on a hardware wallet vendor's permission to ship.

The conventional answer is a hardware wallet. WhiskyWallet investigated that path thoroughly. Tangem cards do not expose the cryptographic primitives Salvium needs. Ledger requires a third party security audit costing tens of thousands of dollars per submission, repeated on every update. Trezor has paused integration of new coins indefinitely. Each of these gatekeepers has a structural reason that small ecosystems cannot scale through.

The WhiskyWallet answer inverts the question. The spend key remains in software, but the wallet file is encrypted at rest with a wallet master key derived from strong cryptographic primitives. That key can optionally be derived from a FIDO2 hardware authenticator, gating wallet decryption on the user's physical presence with the key. This is implemented on desktop and Android today. The authenticator never holds the spend key, but unlock requires the user to touch it.

This is not a hardware wallet. It is a hardware gated wallet. The threat model is different and the document at whiskymine.io/wallet-fido2-rfc.html is honest about what each approach protects against.

What WhiskyWallet provides today

  • Post-quantum encryption at rest using ML-KEM-768 key encapsulation, XChaCha20-Poly1305 authenticated encryption, and Argon2id key derivation for the user's PIN or passphrase.
  • FIDO2 hardware authenticator unlock on desktop over USB and NFC, and on Android over NFC tap and USB, with the hmac-secret extension, vendor agnostic across YubiKey, SoloKey, Nitrokey, Feitian, and other compliant keys.
  • Native applications on Linux, Windows, and Android, installable from Google Play or by direct download.
  • Staking from the wallet, with per stake yield tracked through to return.
  • A built in miner for pool or solo mining, on desktop and Android.
  • SalPay payment links: scan, paste, or tap a salvium: uri and the send screen fills itself.
  • Free to use. No license fee, no subscription, no paid tier.
  • No biometric authentication, by design.
  • No telemetry. No analytics. No remote configuration.

What WhiskyWallet will provide in upcoming releases

  • An iOS build, including FIDO2 unlock over NFC tap and USB-C.
  • Binary signing for releases.

What WhiskyWallet will not provide

  • Custodial fallback. There is no recovery service. Users hold their seed.
  • Biometric unlock. Biometric templates cannot be rotated, and a leaked template is leaked for life. See the security model for the full reasoning.
  • Multi-coin support. Salvium only.
  • Web wallet. Browser based wallets carry persistent risks WhiskyWallet does not accept.
3. Platforms
Platform Architectures Status
Linuxx86_64✓ Beta
Windowsx86_64✓ Beta
Androidarm64-v8a✓ Beta, on Google Play
macOSIntel, Apple Silicon◯ Planned
iOSarm64◯ Planned

Every platform is built from the same Rust core with platform specific UI layers. The same seed produces the same wallet across platforms; users move between platforms by restoring from seed.

4. Security model

WhiskyWallet is honest about what it protects against and what it does not. This section is required reading before trusting WhiskyWallet with significant value.

Encryption at rest

The wallet file is encrypted on disk using a layered cryptographic construction.

  • Argon2id derives a base key from the user's PIN or passphrase. Memory hard parameters are calibrated to the user's hardware. When unlocking with a FIDO2 hardware key instead of a PIN, the authenticator's hmac-secret output is expanded with HKDF-SHA256 in place of Argon2id.
  • ML-KEM-768 (post-quantum key encapsulation, NIST FIPS 203) protects the wallet master key against future quantum adversaries who may record encrypted wallet files today and decrypt them after large scale quantum computers exist.
  • XChaCha20-Poly1305 authenticated encryption is the inner symmetric cipher.

The result is that an attacker who copies a WhiskyWallet file off your disk cannot decrypt it without your PIN or hardware key, and cannot decrypt it later even with quantum computing capabilities sufficient to break classical asymmetric primitives.

What the encryption at rest protects against

  • Theft of the wallet file from disk, cloud backup, or sync service.
  • Long term storage of encrypted wallet files for future quantum attack.
  • Casual physical access to a powered off or locked device.

What the encryption at rest does not protect against

  • Memory extraction while the wallet is unlocked. Once you enter your PIN, the spend key is in process memory and could be read by an attacker with code execution on your machine.
  • Keylogging of your PIN at the moment of entry.
  • A malicious replacement of the WhiskyWallet binary that bypasses the encryption entirely.

For users with these threat models, FIDO2 hardware unlock raises the bar significantly by requiring physical authenticator presence at unlock time. It is available on desktop and Android today. Even then, WhiskyWallet is not a substitute for a true on device transaction signer, which Salvium does not currently have a viable path to.

Why no biometrics

WhiskyWallet does not support biometric authentication, neither through platform authenticators (Face ID, Touch ID, Android BiometricPrompt) nor through fingerprint equipped hardware keys.

  • Biometric templates cannot be rotated. A fingerprint or face that is compromised once is compromised for the lifetime of the user. Unlike a PIN or a hardware key, a leaked biometric is permanent.
  • Biometric authentication has weaker legal protection against compulsion in many jurisdictions than knowledge based authentication.
  • Biometric template storage and processing varies significantly across devices, with security guarantees that are difficult for the user to verify.

Users who require biometric unlock convenience are encouraged to use a different wallet. WhiskyWallet is not trying to be a wallet for everyone; it is a wallet for users who share its assumptions.

Trust assumptions

WhiskyWallet trusts the cryptographic primitives in the underlying Rust ecosystem, the OS isolation between processes on the user's machine, and the integrity of the published binary which the user verifies via checksums-sha256.txt.

WhiskyWallet does not trust any cloud service. There is no remote dependency for any wallet operation other than blockchain sync. There is no third party transaction signing. There is no biometric implementation in the trust path.

5. Hardware unlock
FIDO2 hardware unlock is available on desktop over USB and NFC, and on Android over NFC tap and USB. iOS support is planned. The full specification is published at whiskymine.io/wallet-fido2-rfc.html.

FIDO2 unlock lets users enroll a hardware authenticator and require a physical touch to decrypt the wallet file at unlock time. The authenticator does not hold the spend key. It holds a credential that, when challenged with a stored salt, produces the wrapping key for the wallet master key. Without the authenticator, the wallet file cannot be decrypted even with full knowledge of the encrypted contents. A key is enrolled per device, since the encrypted wallet file is never copied between devices; you restore from seed and enroll the key on each device.

Compatible authenticators

WhiskyWallet's FIDO2 unlock is vendor agnostic. Any FIDO2 authenticator with the hmac-secret extension will work. Tested or expected compatible models include:

  • YubiKey 5 series (5C NFC, 5 NFC, 5C, 5)
  • YubiKey Security Key C NFC
  • SoloKey 2 series (2A+ NFC, 2C+ NFC)
  • Nitrokey 3 series (3A NFC, 3C NFC)
  • Feitian K9, K9 Plus, K40 Plus
  • Token2 PIN+
  • Other FIDO2 L2 certified keys with the hmac-secret extension

A compatibility matrix with tested results will be published as testing accumulates.

Connection methods

  • USB and NFC on desktop platforms. Available today.
  • NFC tap and USB on Android. Available today.
  • NFC tap and USB-C accessory on iOS. Planned.

What is excluded

WhiskyWallet's FIDO2 unlock will not use biometric verification on hardware keys that have it (such as YubiKey Bio or Feitian K9). These keys will work in touch only mode if used with WhiskyWallet, and the wallet will warn the user at enrollment time if a biometric capable key is presented.

6. Download and install

All releases are published on GitLab, and the Android app is on Google Play. The latest release is v0.2.8.

After downloading, verify the binary against the checksums-sha256.txt file in the same release. Do not skip this step. The verification protects against a tampered binary and is the user's responsibility.

Linux

Download the AppImage from the latest release, verify it, mark it executable, and run it.

# Verify sha256sum --check --ignore-missing checksums-sha256.txt # Run chmod +x WhiskyWallet-Grid-x86_64.AppImage ./WhiskyWallet-Grid-x86_64.AppImage

macOS

A macOS build is planned and not yet distributed.

Windows

Download whiskywallet-grid-windows-x64.zip. Extract it and run WhiskyWallet.exe, a single self contained launcher.

Windows SmartScreen may warn about the binary on first launch because WhiskyWallet is not signed with an EV certificate. Click More info, then Run anyway, after verifying the SHA256 sum.

To verify in PowerShell:

Get-FileHash whiskywallet-grid-windows-x64.zip -Algorithm SHA256

Compare the output to the value in checksums-sha256.txt.

Android

Install from Google Play, or download whiskywallet-grid-android.apk from the release page and sideload it. Android will require enabling "Install from unknown sources" for the file manager app the first time.

To verify a sideloaded APK before installing:

sha256sum whiskywallet-grid-android.apk

iOS

An iOS build is planned and not yet distributed.

7. Architecture

WhiskyWallet is built around a portable Rust core that handles all cryptographic operations, wallet file format, and transaction construction. Platform specific layers handle UI and platform integration.

  • A Rust core provides the Salvium protocol primitives, wallet business logic, transaction construction, chain scanning, and unlock mechanisms.
  • The UI layer is a single Flutter codebase that runs on every platform, calling into the Rust core through native bindings.
  • Platform specific FIDO2 transport is implemented through Yubico's YubiKit on Android and libfido2 on desktop, both vendor agnostic and speaking standard FIDO2.

This means the wallet behaves consistently across platforms. The same seed produces the same wallet on Linux as on Android. The Rust core ensures cryptographic consistency.

Closed source

WhiskyWallet is closed source. This is a deliberate choice. The wallet's threat model includes supply chain attacks, and a closed source maintainer has full control over what code is built into a release, what dependencies are pulled in, and how the binary is constructed. There are no third party pull requests to vet, no fork drift to track, no supply chain surface area introduced by community contributions.

This trade off is real. Users who require open source verification of wallet software should choose a different wallet. WhiskyWallet's commitments instead rest on:

  • The cryptographic constructions described in the security model, which are standard, well known primitives.
  • The behaviour described in this documentation, which is verifiable at runtime.
  • The maintainer's track record in the Salvium community.
  • Published checksums-sha256.txt for every release, so users always know they are running the binary the maintainer published.
8. Roadmap

Shipped

  • v0.1.x: initial wallet functionality on all five platforms, PIN/passphrase unlock, send and receive, address book.
  • v0.2.0: encryption at rest using ML-KEM-768, AES-256-GCM, and Argon2id. Stability improvements across platforms.
  • v0.2.3: FIDO2 hardware unlock on desktop (USB and NFC) and Android (NFC and USB). Encryption at rest migrated to XChaCha20-Poly1305, existing wallets re-wrapped automatically on unlock. Staking with yield tracking, a built in miner, SalPay payment links, live mempool view of pending transactions, multi-account support, and the Google Play release.
  • v0.2.5: sync reliability so balances and locked amounts update the moment an incoming transfer lands, plus seed restore hardening with invisible character sanitation, tap to edit any recovery word, and voice dictation entry.
  • v0.2.6: localization across eleven languages (English, Spanish, French, German, Italian, Portuguese, Dutch, Polish, Russian, Ukrainian, and Greek). Hardware key robustness: multi-key unlock where every connected key lights up and only the correct tap opens the wallet, and enrollment that binds exactly the key you choose. A numeric keypad for amount entry on the send screen, and a sweep control to send the full balance.
  • v0.2.7: fixed a Windows crash at the end of every sync. Crashes now leave a local crash.log recording the faulting module and offset for faster diagnosis. A returned stake clears from the staked balance right away, and the debug log can be written to a file from settings.
  • v0.2.8: the Linux desktop app now shows the Salvium icon in the taskbar, the QR scan button is hidden on desktop where there is no camera to drive it, and the Salvium core library is updated to 0.3.3.

In progress

  • SalPay merchant integration following the SalPay RFC: payment links are supported today, merchant callbacks and proofs are next.
  • Binary signing for releases.

Planned

  • macOS and iOS builds.
  • Hardware key compatibility matrix with tested results across YubiKey, SoloKey, Nitrokey, Feitian, and others.
  • Watch only mode using view key only, for monitoring receipt addresses without spend capability.
  • Air-gapped transaction signing workflow for users who want full physical separation between hot and cold wallets.

Not planned

  • Biometric authentication of any kind.
  • Cloud sync or any third party data dependency.
  • Multi-coin support.
  • Custodial recovery.
9. FAQ

Is this a hardware wallet?

No. A hardware wallet stores the spend key on a separate device and signs transactions on that device. WhiskyWallet stores the spend key in encrypted form on your computer or phone. FIDO2 hardware unlock gates decryption on a physical authenticator touch, but the spend key still lives in software at the moment of signing.

If you need true hardware wallet protection for Salvium, no current option exists. WhiskyWallet has investigated Tangem, Ledger, and Trezor and documents the structural barriers in the Why WhiskyWallet section.

Why no biometrics?

Biometric templates cannot be rotated. A fingerprint or face that is compromised cannot be changed, so a leaked biometric is a permanent compromise of that authentication factor. Biometrics also have weaker legal protection against compulsion than knowledge based authentication in many jurisdictions. WhiskyWallet does not believe these tradeoffs are appropriate for a wallet that holds value.

Why Salvium only?

Salvium has a specific cryptographic profile (Carrot v1, RingCT, key images) and a specific community. Multi-coin wallets dilute the security and usability of every coin they support. WhiskyWallet does one thing well rather than many things adequately.

Why no telemetry?

Telemetry collects information about users that the project does not need. WhiskyWallet has no analytics, no error reporting beyond what the user chooses to share, and no remote configuration. The wallet works the same with or without internet connectivity, other than blockchain sync.

How do I back up my wallet?

The only correct way to back up a WhiskyWallet is to record your seed phrase, securely, offline. Your seed is shown to you when you create or restore a wallet, and you can re-display it from the wallet's settings while the wallet is unlocked. Write it down on paper, store it somewhere safe, and never enter it into a computer or photograph it.

Do not attempt to back up the wallet by copying files. WhiskyWallet's data at rest is encrypted with post-quantum cryptography and is not designed to be portable, restorable, or interpretable outside of the application. The seed phrase is the only supported recovery artefact.

Can I use my wallet on multiple platforms?

Yes. Restore from your seed phrase on each platform you want to use. Open WhiskyWallet on the destination device, choose restore from seed, enter your seed, set a PIN, and the wallet rebuilds. The same seed produces the same wallet everywhere.

Do not attempt to copy wallet data files between devices. WhiskyWallet's data at rest is encrypted with post-quantum cryptography and is not designed to be portable across installations. Restore from seed is the only supported workflow.

Is the source available?

No. WhiskyWallet is closed source. The maintainer retains full control over what code is built into each release, which is part of WhiskyWallet's defence against supply chain attacks. Users who require open source verification of wallet software should choose a different wallet. See the architecture section for the full reasoning.

How is this funded?

WhiskyWallet is built and maintained by Whisky as part of the WhiskyMine project, which serves the Salvium ecosystem. Development is funded by the maintainer's personal time and by community contributions where applicable. There is no token, no fundraising, no investor structure.

10. Support and contact

WhiskyWallet does not have a public source repository or issue tracker. Support, bug reports, and feature requests are handled through the channels below.

Bug reports and feature requests

  • Salvium Discord: the maintainer is reachable as Whisky [SAL] in the official Salvium Discord server. The wallets channel is the appropriate venue for general WhiskyWallet questions and bug reports that are not security sensitive.
  • Email: a contact address for non public bug reports is available on request through Discord.

When reporting a bug, please include:

  • Your platform and OS version.
  • WhiskyWallet version (visible in the wallet's settings or About screen).
  • Steps to reproduce.
  • What you expected to happen and what actually happened.
Do not include your seed phrase, PIN, or wallet file in any bug report. WhiskyWallet support will never ask for any of these.

Security disclosures

Security vulnerabilities should be reported privately to the maintainer rather than discussed in public channels. Contact through Discord direct message to Whisky [SAL] is the fastest path. The maintainer aims to acknowledge security reports within 48 hours.

Privacy

The WhiskyWallet privacy policy is at whiskymine.io/privacy.html. The short version: nothing is collected.

Community

WhiskyWallet is part of the broader WhiskyMine ecosystem of Salvium tooling. Other projects and resources are at whiskymine.io. For general Salvium discussion, the official Salvium Discord and the Salvium documentation are the primary venues.