All systems operational Amsterdam · Paris · Reykjavík +5 Pay with Cryptocurrency
Guide

Run your own Monero node on a VPS

Connecting your wallet to someone else’s node leaks your privacy to a stranger. A full node of your own on a VPS fixes that for about the price of two coffees a month — here is the complete setup.

Updated 2026-06-12

Fenrir the wolf with a Monero coin

Monero’s on-chain privacy is excellent; the weak point is how wallets reach the chain. A light wallet connected to a public remote node hands that node your IP address, your wallet’s restore height, and timing patterns it can correlate — a strange concession from people who chose Monero precisely to avoid surveillance. Running your own full node closes the gap: your wallet talks only to a machine you control, which independently validates every block and relays your transactions into the network mixed among everyone else’s. A VPS is the natural home for one — always on, fast NVMe for the chain database, a stable IP for the P2P port, and none of your home connection’s bandwidth caps or NAT pain. Renting it without KYC and paying in XMR keeps the whole stack consistent with the reason you are doing this.

Sizing, honestly: the Monero blockchain is past 230 GB unpruned and growing; a pruned node (~85 GB, fully validating, fully private for your own wallet) fits our Runner plan (3 vCPU / 6 GB / 100 GB NVMe, $14/mo) with breathing room, while an unpruned archive node wants Direwolf (360 GB) or above. 2 GB of RAM is the floor; 4–6 GB makes initial sync dramatically less painful.

Pruned vs full archive: which to run

A pruned node stores roughly a third of the chain by discarding reconstructible data, yet still validates every rule and serves your wallets with identical privacy — for personal use it is simply the right answer, and it is why the $14 Runner is our recommended tier. A full archive node keeps everything; the network needs a healthy population of them (they serve historical data and bootstrap other nodes), so running one on a Direwolf is a genuine contribution to Monero’s health — just budget for the chain’s permanent growth.

Is running a node within the rules?

Yes, comfortably. A node validates and relays blocks; it is infrastructure, the same category as a Tor relay or a DNS resolver, and it is welcome here. Note one adjacent boundary in the AUP: mining on shared-CPU plans is not allowed (it monopolises shared cores) — but a node is not a miner and uses modest CPU after sync. Public restricted-RPC nodes that serve strangers’ wallets are likewise fine; just expect background scanning traffic, which the included DDoS protection absorbs.

  1. Deploy the VPS and harden it

    Order a Runner (pruned) or Direwolf (full archive) with Debian 12, in any region — a Monero node has no latency requirements, so Romania at base price is a fine default. Before anything else, do the ten-minute basics from our hardening guide: SSH keys, no root password login, nftables, unattended upgrades.

  2. Install monerod from the official release

    Download the current Linux x64 CLI bundle from getmonero.org and verify the hash against the signed list — on a privacy project, supply-chain paranoia is hygiene, not theatre:

    wget https://downloads.getmonero.org/cli/linux64 -O monero.tar.bz2
    tar xjf monero.tar.bz2 && sudo mv monero-x86_64-linux-gnu-*/monerod /usr/local/bin/
    sudo useradd -r -m -d /var/lib/monero monero
  3. Configure the daemon

    Create /var/lib/monero/monerod.conf. The pruned-node baseline:

    data-dir=/var/lib/monero
    prune-blockchain=1
    p2p-bind-ip=0.0.0.0
    p2p-bind-port=18080
    rpc-restricted-bind-ip=0.0.0.0
    rpc-restricted-bind-port=18089
    out-peers=32
    in-peers=48
    db-sync-mode=safe
    log-level=0

    The restricted RPC port is the one safe to expose for your own wallets; never open the unrestricted 18081 to the internet.

  4. Run it as a systemd service

    A unit file keeps the node alive across reboots:

    [Unit]
    Description=Monero full node
    After=network-online.target
    
    [Service]
    User=monero
    ExecStart=/usr/local/bin/monerod --config-file /var/lib/monero/monerod.conf --non-interactive
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target

    Save as /etc/systemd/system/monerod.service, then systemctl enable --now monerod.

  5. Open the firewall ports

    Allow P2P (18080) to everyone — that is how you serve the network — and restricted RPC (18089) ideally only to IPs you use, or to all if this node will serve your phone wallet on the move:

    nft add rule inet filter input tcp dport 18080 accept
    nft add rule inet filter input tcp dport 18089 accept

    DDoS protection on the VPS is included here by default, which matters for a service that advertises itself publicly.

  6. Let it sync — and know what to expect

    Initial block download is the painful part: on NVMe with 4+ GB RAM expect 1–2 days for a pruned node (the same sync on a SATA-SSD budget box routinely takes a week — this is where NVMe vs SSD stops being abstract). Watch progress with journalctl -fu monerod or monerod status; you are done when height matches a public explorer’s.

  7. Point your wallet at your node

    In Monero GUI/CLI, Feather or Monerujo, set the daemon address to your-vps-ip:18089. For belt-and-braces transport privacy, run the wallet connection over your own WireGuard tunnel to the same VPS, and the node sees only tunnel traffic. From this point your transactions broadcast from your node, your wallet scans against your node, and no third party sits in the loop.

FAQ

Frequently asked questions

Which VPS plan do I need for a Monero node?

Pruned node: Runner (3 vCPU / 6 GB / 100 GB NVMe, $14/mo) is the sweet spot — the ~85 GB pruned chain plus OS fits with margin for growth. Full archive: Direwolf (360 GB) or larger. Below 100 GB of disk, prune or don’t bother.

How long does the initial sync take?

On our NVMe with 4–6 GB RAM: typically 1–2 days pruned. Storage latency is the bottleneck, which is why the same job on SATA or HDD hosts stretches to many days. db-sync-mode=fast shaves hours at a small crash-consistency cost during IBD only.

Does running a node make my payments more anonymous?

It removes a real leak: a remote node operator can no longer log your IP, restore height and broadcast timing. On-chain privacy was already Monero’s job; the node fixes the network-layer side. Pair it with paying for the VPS itself in XMR and the loop closes neatly.

Can I share my node with friends or the public?

Yes — that is what the restricted RPC port is for: it rate-limits and disables dangerous calls. Keep the unrestricted port (18081) bound to localhost only, and expect the included DDoS protection to earn its keep once the address circulates.

Why host it on a VPS instead of at home?

Uptime, a stable routable IP, no NAT wrangling, no exposure of your home address in Monero’s peer lists, and NVMe sync speed. Home nodes are great too — the VPS simply removes every operational excuse not to run one.

Deploy an offshore VPS in about a minute

No-KYC, crypto-paid, all-NVMe. Pick a tier, pay in Monero or any major coin, and get root in roughly 60 seconds.

Fenrir on guard