Skip to content

About

A minimal, auditable self-custody wallet for Bitcoin, Monero, and Ethereum. Three chains. One form.

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Monoform Wallet

Sovereign Money, One form, Three Chains

Monoform Wallet is an early, security-first open-source project. It rejects swaps, cards, yield, ads, accounts, telemetry, KYC, and financial clutter. The product has three verbs: receive, send, verify.

This repository currently contains the product foundation, a runnable non-signing Rust interface, and the original web interface study. It is not a wallet yet. Do not enter a seed phrase or use it with real funds.

Product principles

  1. Self-custody is the product, not a feature.
  2. Nothing secret leaves the device.
  3. No seed phrase is ever accepted by a web page.
  4. Every outgoing transaction is understandable before it is signed.
  5. No trackers, analytics, remote configuration, or sponsored assets.
  6. A small audited surface beats a broad unaudited one.
  7. Mainnet remains disabled until the relevant core has independent review.
  8. Application code and dependency growth are reported and justified.

One seed, three chains

Monoform is designed around one dedicated English 24-word BIP39 recovery phrase for Bitcoin, Monero, and Ethereum. Bitcoin follows BIP84, Ethereum follows BIP44, and Monero follows Ledger's published derivation at m/44'/128'/0'/0/0. The exact derivation and independent recovery requirements are specified in Seed architecture and Chain derivation and import strategy.

Hardware-wallet boundary: Never import the recovery phrase of a hardware wallet that holds or has held real funds. Entering its words into Monoform exposes the seed to a general-purpose computer and permanently removes hardware-only protection. A hardware device may be used offline to generate a fresh 24-word BIP39 phrase only if that phrase is dedicated to Monoform and is never represented as hardware-protected after import.

Scope

Phase Capability Network
0 Runnable Rust UI shell; no keys, signing, storage, or network calls Demo data
1 Receive, send, balance, history; software signer Bitcoin testnet
2 Reproducible desktop releases and external security review Bitcoin mainnet
3 Monero adapter and independent review Stagenet, then mainnet
4 ETH and a source-controlled ERC-20 allowlist Ethereum testnet, then mainnet
5 One verified ZK stablecoin rail; no bridge Testnet, then mainnet
6 Optional Lightning integration Test networks, then mainnet

The implementation uses Rust with egui/eframe. Linux and macOS are the first supported platforms; Android follows only after the desktop core is proven. Chain logic is isolated behind narrow compile-time adapters. See Architecture, Threat model, Locked decisions, Phase 3 Monero preparation, and Roadmap.

Monoform supports Bitcoin, Monero, and Ethereum mainnet. Ethereum assets are limited to reviewed ERC-20 contracts committed in source. It does not import arbitrary tokens, load remote token lists, bridge assets, or sign unknown contract calls.

Run the Rust interface

Install Rust 1.98.1 with rustup, then run:

cargo run --locked --features desktop

The interface uses eframe 0.36.1 with its Glow renderer and native accessibility support. The offline seed core adds bip39, unicode-normalization, and zeroize. Cargo.lock fixes the complete dependency graph.

The default build contains the offline core and protected public-state storage. The desktop feature adds the demonstration interface; core-rpc separately adds the read-only local Bitcoin backend. Neither enables the other. See the dated dependency and feature review for measured footprints, known public advisories and remaining release gates. The subsequent dependency remediation upgrades the crypto stack and adds automated advisory/license/source checks with explicit maintenance exceptions.

An offline-only BIP39 seed core exists, but there is no seed-entry UI or wallet-import path. It must not be used with real funds before vault, derivation, and independent review gates pass.

The offline Bitcoin core can export watch-only descriptors and encode/restore versioned testnet4 public account state with receive/change counters. A separate offline module persists only this public state using macOS Keychain or Linux Secret Service-backed encryption and atomic address reservation. It is not wired into the UI and does not store seeds or private keys. See Public-state codec and Storage policy, protocol, and limits.

An opt-in read-only Bitcoin Core client verifies local testnet4 identity, reports node sync/tip status and checks public descriptors without creating or importing a Core wallet. Both branches' first two addresses match Core 31.1. Separate bounded confirmed-history discovery checks both branches, respects saved counters and rejects incomplete scans/reorgs. A separate protected application step matches the complete account and saves both counters together without undoing later reservations. Separate UTXO observations return checked confirmed outputs and exact satoshi totals for explicit address ranges, not spendable/global balances. Separate pending projections reconcile bounded local mempool spends/receipts, including descendants, and reject changing snapshots. No UI networking is enabled; the default build stays offline. Networking requires the explicit core-rpc feature.

Linux builds also require the D-Bus development library (libdbus-1-dev on Debian/ Ubuntu). Storage needs an existing persistent Secret Service provider in the user's desktop session; there is no plaintext fallback when it is unavailable.

View the original interface study

Open prototype/index.html locally. It is dependency-free and uses fixed demo data. The prototype deliberately contains no seed field and makes no network requests.

Project status

Pre-alpha / design validation. We welcome critique of the scope, threat model, accessibility, and transaction-review flow. We are not yet accepting production cryptography contributions.

Contributing and security

Read CONTRIBUTING.md before opening a change. Please report security concerns privately as described in SECURITY.md; do not open a public issue for a suspected vulnerability.

License

Copyright (C) 2026 Monoform Wallet contributors. Licensed under the GNU General Public License v3.0 or later. See LICENSE.

About

A minimal, auditable self-custody wallet for Bitcoin, Monero, and Ethereum. Three chains. One form.

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages