Introduction

Haveno (“harbour” in Esperanto) is a privacy-first, Bisq-inspired DEX focused on Monero and fiat.
Running your own Haveno node (sometimes nick-named a “nodo” in the community) means you:

  • validate your own P2P order book
  • provide liquidity routing for others
  • can act as an arbitrator, bank-wire signer or chat relay
  • never rely on a central web service to trade XMR ↔ fiat/crypto

Getting Started

1. Basic Fundamentals

Aspect Details
Core software Two processes: Haveno daemon (havenod – P2P + escrow) and Haveno desktop (Electron GUI).
Underlying tech Tor transport layer, Monero multisig escrow, Bisq message protocol fork.
Ports 9999 (P2P), 8000 (API), 8001 (Tor onion traffic).

2. Why Run Your Own Haveno Node?

  • Self-custody – multisig escrow keys live on your machine.
  • Order-book privacy – your Tor IP publishes offers; no central server can log them.
  • Liquidity health – more peers → tighter spreads for everyone.
  • Earn fees – arbitrators and trade mediators share 30 % of dispute fees.

3. Minimum Hardware & Network

Resource Recommended
Disk 2 GB for Haveno itself + Monero wallet files; add Monero node storage if you run it on the same box.
RAM 2 GB free (daemon ~300 MB, GUI another 300 MB).
CPU Any 64-bit dual-core (AVX2 speeds multisig sigs).
Bandwidth ~5 GB / month per active trader; negligible when idle.
OS Linux x86-64 preferred; macOS & Windows builds exist.

4. Installation Paths

4.1 Native (Linux/macOS/Windows)

All downloads are available on Github or on the Haveno website.

4.2 Docker (fastest cross-platform)

docker run -d --name havenod \
  -p 9999:9999 -p 8000:8000 \
  -v $HOME/haveno-data:/data \
  haveno/havenod:latest \
  --tor=true --wallet-dir=/data/wallets

4.3 Systemd Service (for auto-restart)

# /etc/systemd/system/havenod.service
[Unit]
Description=Haveno DEX Daemon
After=network.target

[Service]
User=haveno
ExecStart=/usr/local/bin/havenod --app-dir=/var/lib/haveno
Restart=on-failure

[Install]
WantedBy=multi-user.target

5. Key Command-Line Flags

Flag Purpose
--wallet-dir Path for multisig trader wallets.
--monero-daemon-address Point at your own monerod (127.0.0.1:18081).
--tor On by default; set false for clearnet testing.
--arbitrator Enable dispute-resolving role; requires stake XMR.
--log-level debug Verbose logging.

6. Securing the Nodo

  1. Run under non-root user (haveno).
  2. Enable Tor; clearnet offers leak IP.
  3. Use a cold backup of the multisig wallet seed.
  4. Set firewall – expose only port 9999 if you want inbound peers; otherwise run behind NAT.
  5. Automatic updates – watch https://github.com/haveno-dex/haveno/releases RSS.

7. Performance & Maintenance

Task Interval
Check daemon height vs. Monero node Daily
Rotate Tor hidden-service keys Monthly
Export trade history (JSON) After each completed trade
Upgrade Haveno version On every tagged release

8. Advanced Integrations

Use-case Extra steps
Headless trading bot Use REST API on port 8000; generate auth token.
Liquidity provider Start with --offer-file /path/offers.json to auto-place offers.
External Monero node --monero-daemon-address <ip:port> and --monero-wallet-rpc-port.

9. Troubleshooting Quick Chart

Symptom Cause Fix
“Monero RPC not reachable” Wrong port or auth Check monerod URL, restart Haveno.
Offers never broadcast Tor offline Verify Tor service, nyx shows circuits.
Trade stuck in arbitrating Arbitrator offline Wait; if >48 h, ping another arbitrator with trade ID.

11. Bottom Line

Running a Haveno nodo is lighter than a full Monero node yet critical for a censorship-resistant DEX:

  • 2 GB disk, 600 MB RAM, an evening’s setup
  • Keep your trades private, keys local
  • Strengthen Monero’s circular economy by adding order-book resiliency

If you already run monerod, adding Haveno is the next leverage-point for self-sovereign trading.

Community & Resources