본문으로 건너뛰기

Desktop Wallet

The Monolythium Desktop Wallet is a cross-platform native application built with Tauri 2 and React 19. It provides full wallet management, staking, multi-chain support, Ledger hardware wallet signing, and encrypted key storage -- all running locally on your machine with no server dependency.


Overview

PropertyDetails
StackTauri 2 (Rust backend) + React 19 + TypeScript + TailwindCSS 4
PlatformsmacOS (10.15+), Linux (deb/AppImage), Windows (MSI/NSIS)
Package Managerpnpm
Key AlgorithmEthSecp256k1 (Monolythium), Secp256k1 (Cosmos Hub, Osmosis)
EncryptionAES-256-GCM with Argon2id key derivation
Auto-updaterBuilt in (checks GitHub releases)

Download and Install

macOS

  1. Download the .dmg file from the GitHub Releases page.
  2. Open the .dmg and drag Monolythium Wallet to your Applications folder.
  3. On first launch, macOS may show a security dialog. Right-click the app and select Open to bypass Gatekeeper.

Linux

Debian/Ubuntu (.deb):

sudo dpkg -i monolythium-wallet_0.1.0_amd64.deb

Dependencies: libwebkit2gtk-4.1-0, libgtk-3-0.

AppImage:

chmod +x Monolythium-Wallet_0.1.0_amd64.AppImage
./Monolythium-Wallet_0.1.0_amd64.AppImage

Windows

  1. Download the .msi installer from GitHub Releases.
  2. Run the installer and follow the prompts.
  3. Launch Monolythium Wallet from the Start menu.

First-Time Setup

1. Create a Profile

When you first launch the wallet, you will land on the Welcome screen. Click Get Started to begin the onboarding flow.

You will be prompted to create a profile name and set a password. This password encrypts your private keys on disk and is required to unlock the wallet on subsequent launches.

Password Requirements

Choose a strong password (minimum 8 characters). This password protects your encrypted vault. If you lose it, you will need to restore your wallets from their mnemonic seed phrases.

2. Create a New Wallet

After creating your profile, select Create New Wallet. The wallet will generate a BIP39 mnemonic seed phrase. You can choose between:

  • 24-word mnemonic (256-bit entropy, recommended)
  • 12-word mnemonic (128-bit entropy)

Write down your seed phrase on paper and store it in a secure location. Do not take a screenshot or save it digitally. The wallet will ask you to verify your seed phrase before proceeding.

3. Import an Existing Wallet

If you already have a wallet from another application, select Import Wallet and enter your BIP39 mnemonic phrase. The wallet derives the same addresses from the same mnemonic using the standard HD path:

  • m/44'/60'/0'/0/0 for EthSecp256k1 chains (Monolythium)
  • m/44'/118'/0'/0/0 for standard Cosmos chains

Sending LYTH

  1. Navigate to your wallet detail page by selecting a wallet from the Dashboard.
  2. Click Send.
  3. Enter the recipient address (bech32 mono1... format or EVM 0x... format).
  4. Enter the amount in LYTH.
  5. Review the transaction details and click Confirm.
  6. Enter your password to authorize the transaction.
  7. The wallet signs the transaction locally and broadcasts it to the chain.

A toast notification will confirm the transaction hash once it has been accepted by the network.


Receiving LYTH

  1. Navigate to your wallet detail page.
  2. Click Receive.
  3. A dialog will display your wallet address (bech32 and EVM formats) along with a QR code.
  4. Share the address or QR code with the sender.

Both the bech32 address (mono1...) and the EVM address (0x...) represent the same account on Monolythium.


Staking

The desktop wallet provides a full staking interface. Navigate to the Staking page via the sidebar.

Dashboard

The staking page shows three summary cards at the top:

  • Total Staked -- your total delegated LYTH across all validators
  • Pending Rewards -- unclaimed staking rewards
  • Delegations -- number of active delegations

Delegate

  1. Browse the Validators table, which shows each validator's moniker, voting power, commission rate, and status (Active or Jailed).
  2. Use the search bar to filter validators by name or address.
  3. Click Delegate next to a validator.
  4. Enter the amount of LYTH to delegate.
  5. Click Delegate and enter your password to authorize.

Redelegate

Redelegation moves your staked tokens from one validator to another without unbonding.

  1. In the My Delegations section, click Redelegate next to an existing delegation.
  2. Select a target validator from the dropdown.
  3. Enter the amount to redelegate.
  4. Click Redelegate and enter your password.

Unbond

Unbonding begins the process of withdrawing staked tokens. There is an unbonding period (3 days on Monolythium) before the tokens become available.

  1. In My Delegations, click Unbond next to a delegation.
  2. Enter the amount to unbond.
  3. Click Unbond and enter your password.

Claim Rewards

When a delegation has pending rewards, a Claim button appears next to it. Click it and enter your password to withdraw rewards to your wallet.


Multi-Chain Support

The desktop wallet supports multiple blockchain networks out of the box:

Built-in Networks (Monolythium)

  • Monolythium Sprintnet (testnet, chain ID: 262146)
  • Monolythium Testnet (chain ID: 6940)
  • Monolythium Mainnet (chain ID: 6941)
  • Monolythium Localnet (chain ID: 262145)

Registry Networks (Cosmos Ecosystem)

  • Cosmos Hub (ATOM)
  • Osmosis (OSMO)

Custom Networks

You can add custom networks by navigating to the Networks page. Custom chain configurations are saved to your local data directory.

To switch networks, use the network selector in the navigation. Each network maintains its own set of RPC endpoints, denomination, HD path, and key algorithm.


Contact Book

The Contacts page lets you save frequently used addresses with human-readable labels.

  • Add a contact with a name, address, network, and optional notes.
  • Contacts are stored locally and available when composing send transactions.
  • Tap a contact to copy their address.

Settings

Appearance

  • Theme: Dark or Light mode
  • Accent color: Blue, Green, or Purple
  • Language: English (additional languages planned)

Security

  • Auto-lock timer: Configurable idle timeout (1 min, 5 min, 15 min, 30 min, 1 hour, or Never). After the timeout, the wallet locks and requires your password to reopen.
  • Change password: Update your vault password (requires current password).
  • Screenshot protection: Toggle OS-level screenshot/screen-recording protection (uses Tauri's window content protection API).

General

  • Export data: Download a JSON export of your wallet metadata (addresses, names, network assignments -- not private keys).
  • Version info: Displays the current wallet version.

Ledger Hardware Wallet

The desktop wallet includes Ledger hardware wallet support via USB HID.

Prerequisites

  • A Ledger Nano S, Nano S Plus, or Nano X device
  • The Ethereum app installed and open on your Ledger

Since Monolythium uses EthSecp256k1 (the same elliptic curve and key algorithm as Ethereum), the Ledger's Ethereum app signs Monolythium transactions natively.

Importing a Ledger Wallet

  1. Connect your Ledger and open the Ethereum app.
  2. Navigate to Wallets and select Import from Ledger.
  3. The wallet communicates with the Ledger over USB to retrieve your public key and EVM address.
  4. Once imported, the Ledger wallet appears alongside your software wallets.

Signing Transactions

When sending from a Ledger wallet, the transaction is built locally and sent to the Ledger device for signing. You must confirm the transaction on the Ledger's physical display before it is broadcast.

Ledger Feature Flag

Ledger support is compiled with the hidapi feature flag, which is enabled by default in the production build.


Security Model

Encrypted Vault

All private keys are stored in an encrypted vault file on disk. The vault structure uses:

  • Argon2id for password-to-key derivation (64 MB memory cost, 3 iterations, 4 parallel lanes)
  • AES-256-GCM for authenticated encryption of each private key
  • A unique 12-byte nonce per encrypted entry
  • A 32-byte random salt per vault

The vault JSON file contains only ciphertext, salts, and nonces. No plaintext keys are ever written to disk.

Password Gates

All sensitive operations require password re-entry:

  • Creating a wallet
  • Deleting a wallet
  • Sending transactions
  • Staking transactions (delegate, redelegate, unbond, claim)
  • Exporting private keys

Memory Safety

The Rust backend uses the secrecy crate to wrap private keys in SecretBox<Vec<u8>>, ensuring they are zeroized from memory when dropped. The zeroize crate explicitly clears key material from memory buffers.

Content Security Policy

The Tauri window enforces a strict CSP that only allows connections to *.mononodes.xyz RPC endpoints and GitHub (for auto-update checks).


Troubleshooting

Wallet does not launch on macOS

Right-click the app and select Open to bypass Gatekeeper on first launch. If the app is damaged, re-download from the official releases page.

Ledger not detected

Ensure the Ethereum app is open on your Ledger before attempting to connect. On Linux, you may need to add udev rules for the Ledger USB device (vendor ID 0x2C97).

Transaction fails with "account not found"

Your wallet address must have received at least one transaction on-chain before it can send. Fund your address using the faucet on testnet.