Skip to main content

Node Configuration Reference

The Priva node reads its configuration from a YAML file (default: /home/privanet/config.yaml).

Full Configuration

# Tier: standard | advanced | elite
tier: standard

# Priva API base URL
api_url: https://privanet.dev/api/v1

# IP address to listen on (use 0.0.0.0 for all interfaces)
listen_addr: "0.0.0.0"

# P2P port (must be open in firewall, both TCP and UDP)
listen_port: 8336

# Directory for persistent data (keystore, peer state)
data_dir: /home/privanet/data

# Logging level: debug | info | warn | error
log_level: info

# Prometheus metrics HTTP port (not publicly exposed)
metrics_port: 9090

# Automatic updates (not implemented yet, keep false)
auto_update: false

Parameters

tier

Your node's operating tier. This determines:

  • Base reward rate
  • Which privacy apps you have access to
  • Minimum locked liquidity required
ValueDescription
standardEntry-level node
advancedMid-tier node (requires 0.1 ETH locked)
eliteHigh-tier node (requires 1 ETH locked)

Tier upgrades are applied by the API when you lock liquidity through the dashboard. You don't need to change this manually — the node receives its tier from the server.

api_url

The Priva API endpoint your node connects to for registration, health reporting, and reward tracking.

  • Mainnet: https://privanet.dev/api/v1
  • Local testing: http://localhost:3000 (if running the full stack locally)

listen_addr

The IP address to bind the P2P listener to.

  • "0.0.0.0" — all network interfaces (recommended for VPS)
  • "127.0.0.1" — loopback only (for local testing, not usable as a public node)
  • Your server's public IP — binds to a specific interface

listen_port

The TCP/UDP port for P2P connections. Default: 8336.

This port must be open in your firewall. Both TCP and UDP are used (TCP for connection management, UDP for QUIC transport).

data_dir

Directory for node state:

  • keystore.json — encrypted private key (node identity)
  • datastore/ — LevelDB peer state database

log_level

LevelOutput
debugEverything including internals
infoNormal operation messages
warnWarnings only
errorErrors only

For troubleshooting, temporarily set to debug.

metrics_port

Port for the Prometheus metrics HTTP endpoint (/metrics). Not exposed publicly by default. Access via SSH tunnel:

ssh -L 9090:localhost:9090 user@your-server-ip
# Then open: http://localhost:9090/metrics

Passphrase

The passphrase is NOT stored in the config file. It is passed via the environment variable PRIVANET_PASSPHRASE.

# In .env
PRIVANET_PASSPHRASE=your-very-secure-passphrase

The passphrase encrypts your keystore.json. Without it, the node cannot start or recover its identity.