Running your own Monero node means you verify the blockchain yourself, broadcast transactions without trusting a stranger's server, and stop leaking your wallet activity to third-party remote nodes — and a VPS is the cleanest way to keep it online 24/7.
Why run your own Monero node
Most wallets default to a public remote node run by someone else. That node sees every request your wallet makes and can correlate your IP, timing, and the block range your wallet scans.
A node you control removes that middleman. You get authoritative validation, faster and more private wallet syncing, and the ability to serve your own devices from anywhere.
Trustless validation
Your node independently checks every block and transaction against consensus rules — no faith in a third party required.
Wallet privacy
Point your own wallets at your node so scan requests never touch a public server that logs IPs.
Always available
A VPS stays online when your laptop sleeps, so your node keeps syncing and stays ready the moment you need it.
Network health
Every well-connected node strengthens Monero's peer-to-peer graph and decentralization.
What kind of VPS you actually need
Monero's chain is large and grows steadily. The single most important resource is disk, followed by RAM and a stable connection — CPU matters mainly during the initial sync.
Disk speed is the real bottleneck during initial sync. NVMe over spinning disk can turn days of syncing into hours. If your provider offers NVMe, take it.
For an offshore, unmetered box with the disk headroom a growing chain needs, a privacy-focused VPS is a natural fit — ChainVPS offshore VPS plans are prepaid, no-KYC, and come with unmetered bandwidth so a busy node never runs into an overage.
Pruned vs full node
A full node stores the entire blockchain. A pruned node keeps all block headers and the data needed to validate, but discards most historical ring member data it no longer needs to serve.
- Pruned node: roughly one-third the disk, validates just as strictly, and can still serve wallets — ideal for a lean VPS.
- Full node: keeps everything, useful if you want to serve pruned peers or run archival tooling.
- For a personal or wallet-serving node, pruned is the sensible default and saves you the most on storage.
Step-by-step: install and run monerod
- 1
Provision the VPS
Spin up a Debian or Ubuntu box that meets the specs above. SSH in and create a non-root user for the daemon.
- 2
Harden first
Update packages, enable a firewall (allow SSH plus 18080/18081), and set up key-only SSH before you expose anything.
- 3
Download the official binaries
Get the CLI tools from getmonero.org and verify the GPG signature and hashes against the signed hashes file. Never skip verification.
- 4
Extract and place monerod
Unpack the archive and move monerod into /usr/local/bin so it is on your PATH.
- 5
Create a data directory
Make a dedicated folder like /var/lib/monero owned by your daemon user, and point the node there so data lives on your big disk.
- 6
Write a config file
Create monerod.conf with your data-dir, log settings, pruning flag, and RPC binding. A config file beats a long command line and survives restarts.
- 7
Run under systemd
Create a systemd service so the node starts on boot, restarts on failure, and runs unprivileged. Enable and start it.
- 8
Watch the initial sync
Tail the log or run status in monerod. Initial sync takes hours to a day depending on disk speed; let it finish before relying on the node.
A minimal monerod.conf
- data-dir=/var/lib/monero — keep the DB on your large volume
- prune-blockchain=1 — run pruned to save disk
- log-file=/var/log/monero/monerod.log and log-level=0
- rpc-bind-ip=127.0.0.1 and rpc-bind-port=18081 — keep RPC local unless you deliberately publish it
- p2p-bind-port=18080 — the peer-to-peer port that keeps you connected
- no-igd=1 and enable-dns-blocklist=1 — skip UPnP on a VPS and drop known-bad peers
Keep RPC bound to 127.0.0.1 unless you intend to serve the public. If you want remote wallets to reach it, tunnel over SSH or WireGuard rather than opening 18081 to the whole internet.
Connecting your wallet to your node
Once synced, point your wallet's daemon address at your node. Do it privately — a plaintext RPC port on the open internet defeats the purpose of running your own node.
SSH tunnel
Forward the remote 18081 to a local port over SSH. Your wallet talks to localhost; nothing hits the public internet in the clear.
WireGuard
Put your node and devices on a small private VPN and point the wallet at the node's internal IP.
Tor hidden service
Expose RPC as an onion service so remote wallets reach it offshore without a public IP.
Running an offshore or public node
You can help the network by serving others through the restricted RPC port 18089, which only exposes what a wallet needs and hides sensitive operations.
- Use --public-node and --rpc-restricted-bind-port=18089 to advertise a restricted endpoint.
- Consider running over Tor or I2P so your node's location isn't tied to your identity — privacy networks are first-class in Monero.
- Rate-limit and firewall carefully; a public node invites traffic and the occasional abusive peer.
Never claim transaction finality by counting a fixed number of confirmations in anything you build on top of your node. Treat a payment as settled once the network confirms it, and let your own risk tolerance decide how long to wait.
Keeping the node healthy
- Update monerod promptly around network upgrades — an outdated node can fork off and stop validating correctly.
- Monitor disk usage; the chain only grows, so alert before the volume fills.
- Back up your monerod.conf and systemd unit, not the blockchain — the chain re-syncs from peers.
- Check peer count and sync height periodically so you notice a stalled or isolated node early.
How much disk does a Monero node really need?
A pruned node fits comfortably under 100 GB today, while a full node needs roughly 250 GB and climbing. Since the chain grows continuously, provision extra headroom rather than sizing to the exact current total.
Is a VPS private enough for a Monero node?
The node software is what protects you, not the host — validation is trustless either way. For metadata privacy, choose a no-KYC provider, pay with crypto, keep RPC off the public internet, and optionally route the node over Tor or I2P.
Will running a node speed up my wallet?
Yes. Syncing against a fast local node on NVMe is far quicker and more private than a distant public node, because there's no shared queue and no third party logging your scan requests.
Can I run the node and my wallet on the same VPS?
You can, but it's cleaner to keep the spend/view keys off an internet-facing box. Run monerod on the VPS and connect a wallet from your own device over an SSH tunnel or VPN.


