Monero joins Bitcoin, Ethereum, Solana and Litecoin as a fifth chain, derived from the same recovery phrase.
Monero
- Send and receive XMR. The wallet downloads blocks and scans them on the device with the private view key, so the node you use learns nothing about your account from a sync. Standard address only; subaddresses are not offered.
- Keys from your existing phrase, using the Ledger Monero app's derivation (secp256k1
m/44'/128'/0'/0/0, keccak256, reduced). Pinned by a test vector so it cannot drift between releases. Reveal an account in Wallets to get the spend and view keys for any other Monero wallet's "restore from keys"; import a 64-character spend key to bring one in. - Where the scan starts. A wallet created here scans from its own creation. A restored phrase or imported key scans the last thirty days unless you set Settings → Monero → Restore height. Progress shows on the balance as a percentage and is saved every twenty blocks, so a killed app resumes rather than restarts.
- Ten-block lock honoured.
0.5 XMR (+0.1 pending)means 0.1 XMR has arrived and is not yet spendable. Sends pick the largest unlocked outputs, take fifteen decoys per input, cap the node's fee rate, and mark their inputs spent the moment they are broadcast. - Stagenet is the Monero test network behind the existing Use test networks switch. No public stagenet node offers TLS, so the built-in stagenet defaults are the one plaintext exception this wallet ships; a node you enter yourself must still be
https://. - Not in swaps: no venue this wallet uses has an XMR pool.
Everything cryptographic (output recognition, CLSAG, Bulletproofs+) is monero-oxide's monero-wallet crate; the node transport, encrypted scan cache, coin selection and every safety check are this project's. All nineteen new crates are pure Rust.
Also in this release
- Sync loops are no longer duplicated each time Settings is left. This affected every chain; for Monero it would have meant two scanners sharing one cache file.
What has been verified
Against live public nodes, from a desktop: syncing to the tip on mainnet and stagenet; recognising a real stagenet faucet payment and holding it locked for ten blocks; then spending it. That 0.01 XMR stagenet transaction (226d2fe81320b566cae73faae8449cf50a0a271395b52fa1ec3852580ec0b2e0, one input, fee 0.00003 XMR) was built, signed and broadcast by this code, mined in block 2208289, seen by the recipient account, and netted correctly by the sender with its change. Nothing has moved on mainnet, and this release has not been run on a Librem 5. The device checklist, now with Monero boxes, is owed for this version; the last full pass was v0.1.0.
Install
Verify before installing. This is a wallet.
sha256sum --check --ignore-missing SHA256SUMS
flatpak remote-add --if-not-exists --user flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak install --user ./BlockWallet-v0.3.0-aarch64.flatpak # Librem 5; x86_64 for a desktop
flatpak run io.github.BlockBreakersHQ.BlockWalletYour wallet lives outside the app and survives the upgrade. A store written by an earlier version gets its Monero account on first unlock; that account scans the last thirty days unless you set a restore height, since the phrase may be older than Monero support.
The block_wallet-pureos-* binaries are for the PureOS Store manifest (data/io.github.BlockBreakersHQ.BlockWallet.PureOS.json), built inside sm.puri.Sdk 44; most people want the .flatpak bundle.