dboudreau00/xault-wallet — explained in plain English
Analysis updated 2026-05-18
Experiment with a Monero wallet on testnet or stagenet without risking real funds
Study a working implementation of a duress password and decoy wallet mechanism
Learn how a wallet can securely delegate cryptography to an official RPC binary instead of reimplementing it
Review encrypted vault design using Argon2id key derivation and AES-256-GCM encryption
| dboudreau00/xault-wallet | aaviasulin123-design/kms-pico-latest-m6 | dboudreau00/process-shield-edr-framework | |
|---|---|---|---|
| Stars | 125 | 126 | 129 |
| Language | C# | C# | C# |
| Setup difficulty | hard | moderate | hard |
| Complexity | 4/5 | 2/5 | 5/5 |
| Audience | developer | researcher | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires the .NET 8 SDK, a separately downloaded monero-wallet-rpc binary, and a Monero node to sync against, not safe for real funds.
XaultWallet is a desktop application for managing Monero, a privacy focused cryptocurrency also known as XMR. The project is explicit that it is an unaudited, work in progress beta meant for learning and testing, not for holding real money. The README repeats several times that it has not gone through a professional security audit and warns users to only use it with test networks rather than real funds, since Monero transactions cannot be reversed if something goes wrong. The wallet is modeled after an existing Bitcoin wallet called Wasabi Wallet, and is built using .NET and a UI framework called Avalonia. Rather than implementing Monero's complex cryptography itself, which the author identifies as the most dangerous thing a wallet project could get wrong, it relies on the official monero-wallet-rpc program that the real Monero project maintains, and focuses its own code on protecting the wallet file on disk. The standout feature is a duress password system. The wallet file always contains two equal sized encrypted sections. One holds your real wallet, and the other holds either a decoy wallet or random data if you never set up a duress password. Whichever password you type in determines which section unlocks, and there is no way to tell from the file alone whether a hidden real wallet exists. If someone forces you to unlock the wallet, you can enter the duress password instead, which opens a fake wallet that looks identical to the real interface, and optionally can also permanently erase the real wallet from that device. The README documents what is finished and tested, including the encrypted vault format and the duress mechanism, versus what still needs testing against a live Monero network, such as the actual send and receive functionality. Hardware wallet support, multiple signers on one wallet, and a bundled Monero network node are explicitly listed as out of scope for now. To run it, you need the .NET 8 SDK, the official Monero command line tools downloaded separately, and either a local or remote Monero node to connect to.
An unaudited beta desktop wallet for the Monero cryptocurrency, notable for a duress password that opens a decoy wallet instead of your real one.
Mainly C#. The stack also includes .NET, C#, Avalonia.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.