How to Run a Monero Node in 2026: Complete Guide

June 2026 โ€” 8 min read

Running your own Monero node is the single most impactful thing you can do for your privacy โ€” and for the network. When you use a remote node (the default in most wallets), the node operator can see: your IP address, which transactions you're scanning for, and when you're active. They can't see your spend key or break Monero's cryptography, but they absolutely can build a metadata profile on you. Running your own node eliminates this entirely. Here's how.

๐Ÿ–ฅ๏ธ Why Run Your Own Node?

Types of Monero Nodes

Full Node (Unpruned)

A full node downloads and validates the entire Monero blockchain โ€” every block, every transaction, since April 2014. As of mid-2026, the blockchain is approximately 210โ€“230 GB. Full nodes verify everything and serve the complete blockchain to other peers. Best for: maximum security, contributing maximum bandwidth to the network, and archival purposes.

Pruned Node

A pruned node stores only ~1/3 of the blockchain data (~70โ€“80 GB). It still fully validates every transaction โ€” pruning only discards old ring signature data that's no longer needed for validation. For virtually all users, a pruned node offers identical security to a full node at a fraction of the storage cost. The prune ratio is approximately 3:1.

Light Wallet Server (Optional)

If you want to use mobile wallets while preserving privacy, you can run your own light wallet server alongside your node. This lets Cake Wallet, Monerujo, or other mobile wallets connect to your infrastructure instead of a public remote node.

Hardware Requirements

๐Ÿ“ฆ Minimum Specs (Pruned Node)

๐Ÿ’ช Recommended Specs (Full Node)

Installation: Linux (Ubuntu/Debian)

Step 1: Download and Verify Monero CLI

# Download the latest release
wget https://downloads.getmonero.org/cli/linux64

# Verify the hash (check against getmonero.org/downloads)
sha256sum linux64

# Extract
tar -xvf linux64
cd monero-x86_64-linux-gnu-v*

Step 2: Start the Daemon (Pruned Mode)

# Pruned node โ€” downloads ~70 GB, stores ~80 GB
./monerod --prune-blockchain --data-dir /path/to/blockchain

For a full node, simply omit --prune-blockchain:

# Full node โ€” downloads ~220 GB, stores ~230 GB
./monerod --data-dir /path/to/blockchain

Step 3: Configure for Your Wallet

Once monerod is fully synced (check with status command in the daemon console), configure your wallet to connect:

# Monero GUI / CLI: set "localhost" as the node
# Feather Wallet: Settings โ†’ Node โ†’ Custom โ†’ 127.0.0.1:18081
# Cake Wallet: Settings โ†’ Node โ†’ Add Node โ†’ 127.0.0.1:18081

โฑ๏ธ How Long Does Initial Sync Take?

On a modern NVMe SSD with a decent internet connection: 6โ€“12 hours for a full node, 3โ€“6 hours for a pruned node. On an HDD, it can take 2โ€“5 days due to random I/O bottlenecks during validation. An SSD is not optional for a reasonable experience โ€” it's essential.

Running Monero on a Raspberry Pi

Yes, you can run a Monero node on a Raspberry Pi. A Pi 5 (8 GB) is the recommended minimum. Here's what you need:

Pi Setup:

# Install dependencies
sudo apt update && sudo apt install bzip2 wget

# Download ARM64 Monero binaries
wget https://downloads.getmonero.org/cli/linuxarm8
tar -xvf linuxarm8
cd monero-aarch64-linux-gnu-v*

# Run pruned node (essential for Pi's limited storage)
./monerod --prune-blockchain --data-dir /mnt/ssd/blockchain \
  --out-peers 8 --in-peers 16 --limit-rate-up 256 \
  --limit-rate-down 1024

The bandwidth limits (--limit-rate-up and --limit-rate-down in KB/s) are important for home connections. Adjust based on your upstream bandwidth.

Bandwidth: What to Expect

Running a Monero node uses significant bandwidth, especially during initial sync and if you have many peers:

If you have a metered connection, use --limit-rate-up and --limit-rate-down to cap bandwidth. You can also reduce peer counts with --out-peers 4 --in-peers 8 to lower usage. The node stays fully functional โ€” you're just contributing less to the network.

Docker & Systemd: Running 24/7

Docker Setup

# Pull the official image
docker pull ghcr.io/sethforprivacy/simple-monerod:latest

# Run pruned node
docker run -d --name monerod \
  -v /path/to/blockchain:/home/monero/.bitmonero \
  -p 18080:18080 -p 18081:18081 \
  ghcr.io/sethforprivacy/simple-monerod:latest \
  --prune-blockchain --rpc-bind-ip=0.0.0.0 \
  --rpc-bind-port=18081 --confirm-external-bind

Systemd Service (for auto-start on boot)

# Create service file: /etc/systemd/system/monerod.service
[Unit]
Description=Monero Full Node
After=network.target

[Service]
User=monero
Group=monero
ExecStart=/usr/local/bin/monerod \
  --prune-blockchain \
  --data-dir=/var/lib/monero \
  --pidfile=/run/monero/monerod.pid
Restart=on-failure
RestartSec=30

[Install]
WantedBy=multi-user.target

# Enable and start
sudo systemctl daemon-reload
sudo systemctl enable monerod
sudo systemctl start monerod

Connecting Your Wallet to Your Node

Once your node is running and synced, connecting your wallet is straightforward:

๐Ÿ”’ Pro Privacy: Node + Tor

Run your node over Tor to hide your IP address from the rest of the Monero network. Add --tx-proxy=tor,127.0.0.1:9050,10 --anonymous-inbound=TOR_ADDRESS:18083,127.0.0.1:18083,25 to your monerod command. This broadcasts transactions through Tor and allows inbound connections via Tor hidden service. Combined with a local node, this is the gold standard for Monero privacy.

Troubleshooting Common Issues

Node won't sync / stuck at a block

Try: monerod --pop-blocks 100 to rewind and re-download the last 100 blocks. If that doesn't work, the blockchain database may be corrupted โ€” delete data.mdb and re-sync (this is why SSDs matter; resync on HDD is days of pain).

Out of memory

Monerod needs ~4 GB RAM minimum during sync. On Raspberry Pi or low-RAM VPS, ensure swap is enabled (at least 4 GB) โ€” but expect slower sync with swap.

Port forwarding

For incoming connections (which help the network), forward port 18080 on your router. This is optional โ€” your node will still work with only outbound connections, but it won't contribute incoming bandwidth to the network.

Why This Matters

Every person running their own Monero node strengthens the network against:

Running a node isn't just about your own privacy โ€” it's a direct contribution to Monero's censorship resistance. Every node counts.