How to Set Up the Monero CLI Wallet in 2026
How to Set Up the Monero CLI Wallet in 2026
In April 2026, the Monero network processed its first full month above 45,000 daily transactions while running on the FCMP++ hard fork that retired the original ring signature for a far stronger anonymity model. That milestone matters for anyone considering the command-line wallet, because the CLI is where every protocol upgrade lands first, where bugs are squashed before they reach the GUI, and where serious users keep keys that should never touch a browser or a clipboard manager. If you trade on MoneroSwapper, run a node from a cold room in your apartment, or simply want a wallet that has no telemetry whatsoever, the official CLI is still the gold standard in 2026.
This guide walks through everything required to set up the wallet end-to-end on Linux, macOS, and Windows: verifying the release, choosing between a local daemon and a remote node, generating a Polyseed or legacy mnemonic seed, hardening the install, and performing the first transactions safely. The instructions reflect the current 0.18.4.x release series and the post-FCMP++ tooling that shipped in the spring 2026 point release.
Why the CLI Still Wins in 2026
The graphical Monero wallet has improved dramatically over the last few years, and projects like Feather and Cake Wallet cover the casual desktop and mobile audience well. Yet the CLI remains the reference implementation, and there are concrete reasons advanced users keep it on their daily-driver workstation, an air-gapped laptop, or a server in a Hetzner cabinet.
- Smaller attack surface: no Qt framework, no embedded browser engine, no electron runtime. The binary is a single ~25 MB executable plus the monerod daemon, both reproducibly built from source.
- First-class scripting: the wallet's RPC interface and the interactive prompt expose every feature, including multisig coordination, multisig key exchange rounds, watch-only wallet exports, and offline signing flows that the GUI either hides or implements as wizards.
- Headless compatibility: you can run the CLI inside tmux on a remote VPS, inside Qubes vault VMs, or behind an air-gap with QR-code transfer of unsigned transactions. None of that is realistic with a GUI.
- Forward compatibility: when Seraphis and Jamtis ship as the next generation of address format, the CLI will accept them weeks before the GUI catches up. Power users get to test early.
- Auditability: every command is logged to a plaintext file you can tail, grep, and rotate. There are no hidden background syncs or analytics callbacks.
None of this means the GUI is dangerous. It means that if you are reading a 12,000-word guide titled "how to set up the Monero CLI wallet," you are exactly the kind of user the CLI was designed for.
Prerequisites and Pre-Flight Security Checks
Before downloading anything, get the basics in order. The biggest threat to a fresh Monero install in 2026 is not a zero-day in the daemon — it is a malicious binary delivered through a typosquatted domain or a compromised mirror. The Monero project has been targeted before, and the GitHub release page itself has been impersonated. Treat verification as non-negotiable.
Hardware and OS Requirements
For a local node and wallet on the same machine, plan for the following minimums in 2026:
- Disk: 220 GB free for the pruned blockchain, or 320 GB for the full archival copy. SSD strongly preferred; the random-access patterns of monerod hammer a spinning disk.
- RAM: 4 GB is the floor, 8 GB is comfortable, 16 GB if you also want to mine via P2Pool on the same box.
- CPU: any 64-bit processor from the last decade. RandomX is CPU-friendly, so even a passively cooled mini-PC can sync in a day or two.
- OS: Linux is preferred (Debian 12, Ubuntu 24.04 LTS, Fedora 40, Arch). macOS 13 or later works. Windows 10/11 works but is the least scrutinized target for security review.
- Network: a stable connection. Tor or I2P is recommended but not strictly required; we will cover both later.
PGP Verification, Not Just Checksums
A SHA-256 hash is only useful if the page that hosts it is genuine. The proper chain of trust in 2026 looks like this:
- Fetch the binary from
downloads.getmonero.orgover HTTPS. - Fetch the
hashes.txtfile from the same domain. - Verify
hashes.txtagainst binaryFate's PGP signature. The maintainer's key fingerprint is published in multiple places — the official site, the GitHub repo, archived Reddit posts, and the Monero documentation — so a single domain compromise cannot fake it. - Compare the hash of your downloaded archive against the relevant line in
hashes.txt.
Skipping the PGP step and relying only on the visible checksum on a webpage is the single most common mistake in self-custody workflows. A reproducible-build verification (using monero-build in a deterministic container) is the gold standard for the truly paranoid.
Installation, Step by Step
Once the archive is verified, extract it. The package contains several binaries; the two that matter for now are monerod (the full-node daemon) and monero-wallet-cli (the wallet client itself). The auxiliary monero-wallet-rpc and monero-gen-trusted-multisig binaries become relevant later.
1. Decide: Local Node or Remote Node
This is the most consequential choice you will make today, because it determines your privacy model. Running a local node means your IP address never appears at a third party while requesting blockchain data; running a remote node means trusting that the operator does not log your view-key-less queries. The mempool linkage is the issue: when your wallet broadcasts a new transaction, a remote node sees it leave from your IP first.
| Setup | Privacy | Cost | Sync time |
|---|---|---|---|
| Local pruned node | Strong — no third party sees your queries | ~220 GB disk + ~30 GB monthly bandwidth | 4–10 hours from genesis on SSD |
| Local full archival node | Strongest, also helps the network | ~320 GB disk + ~60 GB monthly bandwidth | 8–24 hours from genesis |
| Remote public node over Tor | Moderate — operator sees query patterns | Bandwidth only | Instant |
| Remote clearnet node | Weak — operator sees your IP plus queries | Bandwidth only | Instant |
For first-time setup on a permanent workstation, run your own. For an ephemeral travel laptop or a quick test, a Tor-only remote node from a curated list is acceptable.
2. Launch monerod and Sync the Chain
From the extracted directory, start the daemon with sensible defaults:
- Open a terminal in the extracted folder. On Windows, use PowerShell rather than the legacy
cmd.exe. - Run
./monerod --prune-blockchain --enforce-dns-checkpointing --rpc-bind-ip 127.0.0.1 --confirm-external-bind. The pruning flag halves your disk footprint without weakening verification. - Watch the height counter climb. The terminal prints a percentage and an ETA. If you see
SYNCHRONIZED OK, you are done. - Optional but recommended in 2026: add
--tx-proxy tor,127.0.0.1:9050,disable_noiseso transactions you broadcast are relayed through Tor while normal block download remains on clearnet for speed. - Leave the daemon running. Open a second terminal for the wallet itself.
3. Create the Wallet
Now run ./monero-wallet-cli. The interactive prompt walks you through wallet creation. In 2026 the recommended default is the 16-word Polyseed format, which encodes the birthday of the wallet (saving days of rescan time on restore) and is significantly more robust to user transcription errors than the legacy 25-word mnemonic seed. Choose polyseed when prompted.
Set a strong passphrase. The wallet file is encrypted at rest, but the passphrase is also the second factor that resists casual disk theft. A 6-word Diceware passphrase is more memorable and stronger than a 12-character mixed-symbol password.
When the seed is displayed, write it on paper with a pen — not in a password manager, not in a screenshot, not in a synced note. The first transaction you make should be a small test, ideally an internal sweep, to confirm the seed restores cleanly on a second machine before any real funds enter the wallet.
If your seed appears on a screen that has ever been screenshotted, photographed, or copied via the clipboard, treat that wallet as compromised and migrate funds before topping it up.
Hardening the Setup
A working wallet is not yet a safe wallet. The next layer is structural: separating the keys that can spend from the keys that can see, isolating the network exit, and locking down the daemon's RPC interface.
Cold / Hot Wallet Split
The CLI makes a true cold/hot split easy. On the cold machine (ideally air-gapped, e.g., a wiped ThinkPad with the wireless card physically removed), generate the wallet normally and immediately export a view-only wallet via the export_outputs and export_key_images commands. Copy those files via a one-way medium (a brand-new SD card) to the hot machine, where you import them into a watch-only wallet built from the public address plus the view key.
The hot wallet can now monitor incoming payments and prepare unsigned transactions. To spend, you carry the unsigned transaction file back to the cold machine, sign it with the full wallet, and return only the signed blob for broadcasting. No spend key ever leaves the cold machine. This is the same model that hardware wallet vendors implement in silicon; with the CLI you implement it in software, and the threat model is auditable.
Subaddresses, Account Separation, and the Receive Pattern
Reusing a single primary address across every payment is bad hygiene because anyone with the view key can see your full balance. Instead, generate a fresh subaddress for every counterparty. The CLI command address new "label" creates one in milliseconds. Each subaddress is unlinkable on-chain to the others; only your wallet, holding the view key for the master account, can stitch them together internally.
For a small business or freelancer accepting Monero, this means giving every customer or invoice its own subaddress and treating that subaddress like a one-shot email alias. For personal use, it means having separate subaddresses for "received from MoneroSwapper," "payroll," "donations from my blog," and so on — they are free, instant, and never expire.
Daemon Network Hardening
If your monerod is reachable from the public internet, you have created a tiny attack surface. Lock it down:
- RPC binding: use
--rpc-bind-ip 127.0.0.1so only local processes can talk to the daemon. If you must expose it, use--rpc-restricted-bind-porton a different port and pair it with a reverse proxy that requires client certificates. - Tor hidden service: publish the daemon as an onion service for remote access from your phone. The latency is fine for wallet refresh; the privacy gain is enormous.
- Firewall the p2p port: the default 18080 should be open for the gossip protocol to function, but it does not need to be reachable from your wallet processes — only from peer nodes. Use nftables to restrict source ranges if your VPS provider supports it.
- Resource limits: the
--max-connections-per-ipand--out-peersflags blunt the impact of a noisy neighbor attempting to fingerprint the Dandelion++ stem.
A Realistic Example: Setting Up a Multisig Vault
Let us walk through a concrete scenario that the CLI makes possible and that the GUI does not yet handle cleanly. You and two co-founders want a 2-of-3 multisig wallet to hold the company treasury. Each of you runs the Monero CLI on a different machine, in different cities, and you coordinate via Signal.
- Each participant creates a regular wallet locally and runs
prepare_multisig. The CLI prints a single multisig info string. Each person pastes their string into the shared chat. - Each participant runs
make_multisig 2 <string_a> <string_b>with the other two participants' strings. The CLI outputs a new multisig info string, which is again exchanged. - Run
finalize_multisigwith everyone's strings to complete the round. At this point all three wallets share the same public address, but no single party can spend alone. - To send a transaction, one participant uses
transferas normal. The CLI does not broadcast; it produces a partially signed transaction file. - That file is shared with a second participant, who imports it with
sign_multisigand shares the now-fully-signed file back. - The first participant runs
submit_multisigto broadcast.
The whole process takes about fifteen minutes the first time, two minutes thereafter. The on-chain output is indistinguishable from a single-sig transaction — the multisig coordination is purely off-chain, which means the fungibility of your treasury is preserved. This is one of those quiet wins where Monero's privacy model and the CLI's expressive command set combine into something no centralized custodian can offer.
Connecting the Wallet to Exchanges and Swap Services
Once the wallet is configured, the most common operation is moving value in and out. For trading without an account, instant swap services are the dominant pattern in 2026. MoneroSwapper aggregates several no-KYC routes (FixedFloat, SimpleSwap, StealthEx, ChangeNow) and surfaces the best rate, so you can fund a fresh subaddress with BTC, LTC, or USDT and receive Monero directly to a CLI-managed address without ever entering an email.
The CLI flow for receiving from a swap looks like this: generate a new subaddress with address new "swap-2026-05", paste it into the swap form, and watch balance increment over the next 10–20 minutes. Because the wallet is locally controlled, there is no second-factor delay, no withdrawal whitelist, no customer-support escalation. If something goes wrong, you have the seed, you have the daemon, and you have the transaction history in plain text.
FAQ
Do I have to run my own node to use the Monero CLI wallet?
No. The wallet can point at any remote daemon via --daemon-address or --daemon-host. The privacy cost is real, however — a remote operator sees your IP and your query patterns. For occasional use over Tor, a curated public node is fine; for daily use, run your own. A pruned local node fits in 220 GB and syncs in under a day on modern hardware.
What is the difference between Polyseed and the legacy 25-word seed?
Polyseed is a 16-word seed format introduced in 2022 and now the default in 2026 CLI releases. It includes a wallet birthday (saving rescan time on restore), a much larger error-correction code, and a checksum that catches typos before they cause silent fund loss. The legacy 25-word format still works for compatibility, but Polyseed should be your default unless you are restoring an older wallet.
Can I run the CLI wallet and the GUI on the same machine?
Yes, and they can even share the same daemon. The two wallets store their files separately, so a CLI wallet and a GUI wallet are independent unless you deliberately point them at the same .keys file. Many users keep a CLI install for spending and a GUI install for monitoring on the same workstation.
How do I back up the wallet properly?
The seed is the only thing you strictly need. Everything else — the .keys file, the cache, the address book — can be reconstructed from the seed plus the passphrase. That said, restoring from seed alone requires a full rescan of the chain since the wallet's birthday, which can take hours. For convenience, also back up the .keys file to encrypted offline storage; for survival, back up the seed on paper or steel in two geographically separated locations.
Is the CLI wallet safe to use over a VPN?
A VPN protects your IP from the remote node operator but introduces the VPN provider as a new trust party. Tor is preferable because it does not require trusting a single operator. If you must use a VPN, choose one with no-log policies that have been audited and pair it with a local node so the network exit is irrelevant to your wallet activity.
What changes after the FCMP++ hard fork?
The fork that activated in spring 2026 replaces the ring signature anonymity set (previously 16 decoys) with a full-chain membership proof, making every output equally plausible as the spender. For CLI users, the practical impact is invisible — transactions are slightly larger, verification is slightly slower, and your privacy guarantee is dramatically stronger. The 0.18.4.x wallet handles the new transaction format automatically.
Conclusion
The Monero CLI wallet in 2026 is what a serious privacy tool looks like when the people building it have been at it for over a decade: small, scriptable, auditable, and stubbornly free of features that exist only to be sold. Setting it up takes an afternoon if you do it right — verify the binary, sync a local node, create a Polyseed wallet, write the seed on paper, and split cold from hot — and the result is a self-custodial system that owes nothing to anyone. When you want to top up the wallet without an account, MoneroSwapper is the bridge that keeps the privacy story unbroken from CEX or stablecoin all the way to your spend key. Start small, restore from the seed at least once before depositing real funds, and you will have a setup that the next protocol upgrade only makes better.
🌍 Read in