Run Your Own Node
Set up a MoneroUSD node in one click, one command, or build from source. Every node strengthens the network.
Desktop Wallet
Open the desktop wallet, go to Local Node, click Create. Downloads and configures everything automatically.
Terminal Installer
Single curl command. Works on Linux and macOS. Supports systemd for VPS operators.
Build from Source
Clone the repo and compile. Full customization, audit the code yourself.
Quick Install (One Command)
The fastest way to run a node. Downloads the daemon binary, creates the config, and starts syncing.
curl -sSL https://monerousd.org/install-node.sh | bash
Works on Linux (x64) and macOS (arm64/x64). Requires curl or wget.
Advanced Usage
Pass flags for VPS deployments, pruning, public node mode, and custom ports:
# VPS with systemd, pruning, and public RPC bash install-node.sh --prune --public --systemd # Custom data directory and ports bash install-node.sh --data-dir /opt/monerousd --p2p-port 18080 --rpc-port 18081 # Download the script first (inspect before running) curl -sSL https://monerousd.org/install-node.sh -o install-node.sh less install-node.sh bash install-node.sh --prune
Installer Flags
| Flag | Default | Description |
|---|---|---|
--prune | off | Prune blockchain to save ~2/3 disk space |
--public | off | Enable public node (allow remote RPC connections on port 17751) |
--systemd | off | Create and enable systemd service (auto-start on boot) |
--data-dir DIR | ~/.monerousd | Data directory for blockchain, config, and logs |
--p2p-port N | 17749 | Peer-to-peer sync port |
--rpc-port N | 17750 | RPC port for wallet connections |
--seed-node H:P | seed.monerousd.org:17749 | Custom seed node for initial peer discovery |
--help | — | Show help and exit |
Manage Your Node
# Check sync status curl -s http://127.0.0.1:17750/json_rpc \ -d '{"jsonrpc":"2.0","id":"0","method":"get_info"}' | python3 -m json.tool # View logs tail -f ~/.monerousd/logs/USDmd.log # Stop node kill $(pgrep -f USDmd)
Systemd Service (VPS / Servers)
When you pass --systemd, the installer creates a service that auto-starts on boot:
# Service management sudo systemctl status usdmd # Check status sudo systemctl stop usdmd # Stop sudo systemctl start usdmd # Start sudo systemctl restart usdmd # Restart journalctl -u usdmd -f # Live logs
--prune --public --systemd for a lightweight public node that starts automatically and serves remote wallets.Desktop Wallet (One Click)
The MoneroUSD Desktop Wallet has a built-in node manager. No terminal required.
- Open the desktop wallet and go to the Local Node tab
- Optionally enable Pruning, Public Node, or set a Bootstrap Daemon in advanced options
- Click Create Local Node
- The wallet downloads the daemon (~30 MB), configures it, and starts syncing
- Once the node verifies successfully, your wallet automatically connects to your local node
You can switch between your local node and the public node at any time using the Daemon Source toggle.
Build from Source
For full control, audit the code and compile yourself.
Dependencies
macOS (Homebrew)
# Install Homebrew if needed /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # Install build tools brew install cmake boost openssl hidapi zmq libsodium miniupnpc readline protobuf
Ubuntu / Debian
sudo apt update && sudo apt install -y build-essential cmake pkg-config \ libboost-all-dev libssl-dev libzmq3-dev libsodium-dev libhidapi-dev \ libreadline-dev libminiupnpc-dev libunbound-dev libprotobuf-dev \ protobuf-compiler ccache
Compile
# Clone the repository git clone https://github.com/monerousd/MoneroUSD-main.git cd MoneroUSD-main # Build (auto-detects CPU cores) make release -j$(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || echo 2)
Set OpenSSL Path (macOS only)
export OPENSSL_ROOT_DIR="$(brew --prefix openssl)"
Start the Daemon
# Create data directory mkdir -p ~/.monerousd # Start the daemon ./build/release/bin/USDmd \ --data-dir ~/.monerousd \ --detach \ --log-file ~/.monerousd/USDmd.log \ --pidfile ~/.monerousd/USDmd.pid # Verify it's running kill -0 $(cat ~/.monerousd/USDmd.pid) && echo "Daemon running"
Create a Wallet
# Generate a new wallet (save your seed phrase!)
./build/release/bin/monerousd-wallet \
--daemon-address 127.0.0.1:17750 \
--generate-new-wallet ~/monerousd-wallet/miner \
--password "YOUR_SECURE_PASSWORD"
Start Mining
# Get your wallet address ./build/release/bin/monerousd-wallet \ --daemon-address 127.0.0.1:17750 \ --wallet-file ~/monerousd-wallet/miner \ --password "YOUR_SECURE_PASSWORD" \ --command address # Mine from the wallet CLI # In the wallet prompt, type: start_mining 1
Mining rewards go only to your wallet address. Other users cannot redirect your rewards.
Network Ports
| Port | Service | Purpose |
|---|---|---|
17749 | P2P | Peer-to-peer blockchain sync |
17750 | Daemon RPC | Unrestricted RPC (wallet-rpc requires this) |
17751 | Restricted RPC | Public-safe RPC (read-only queries) |
27750 | Wallet RPC | Local wallet operations |
17749 (P2P) for your node to find peers. Open 17751 if running a public node.FAQ
How much disk space do I need?
A full node needs ~5 GB. With --prune, about 2 GB. The blockchain grows slowly.
Can I run a node on a VPS?
Yes. Use curl -sSL https://monerousd.org/install-node.sh | bash -s -- --prune --public --systemd for a production VPS setup with auto-start.
Does running a node earn USDm?
Running a node secures the network but does not directly mine. To mine, start mining from your wallet (either CLI or desktop app) while connected to your local node.
Can I switch back to the public node?
Yes. The desktop wallet lets you toggle between your local node and the public node at any time. Your wallet keeps working on whichever daemon is active.