Get Started in 3 Steps

Zero to live mining relay in 15 minutes — no miner configuration changes required

System Requirements

ComponentMinimum Requirement
Relay ServerLinux x86_64, 1 core / 512 MB RAM, public IP, ports 8443/8444 open
ClientLinux or Windows, same LAN as miners
MinersAny Stratum-compatible miner (BTC/ETH/LTC/KAS…)
Database (optional)SQLite (built-in, no extra install needed)
1

Step 1 — Deploy Server

Download the server binary and start it with the default config.

bash
# Download the latest server binary (Linux x86_64)
curl -Lo hashrelay-server https://github.com/hashrelay/hashrelay/releases/latest/download/server-linux-x86_64
chmod +x hashrelay-server

# Start with default config (SQLite mode)
./hashrelay-server --config server.toml
Configuration notes
  • Edit server.toml to set listening ports, database path, and admin token
  • Optionally configure TLS via Let's Encrypt ACME (auto-renews)
  • Open TCP 8443 and UDP 8444 in your firewall
2

Step 2 — Install Client

Install on the machine in the same network as your miners.

bash
# Download the latest client binary (Linux x86_64)
curl -Lo hashrelay-client https://github.com/hashrelay/hashrelay/releases/latest/download/client-linux-x86_64
chmod +x hashrelay-client

# Start the client
./hashrelay-client --config client.toml
Configuration notes
  • Set the server address and admin token in client.toml
  • Choose transport: tcp_tls, tcp_encrypt, or quic
  • Run as a systemd service or Windows Service for auto-start
3

Step 3 — Configure Port Mapping

Create a pool and a port mapping via the API.

bash
# Create a pool
curl -X POST http://YOUR_SERVER:8080/api/v1/pools \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"F2Pool-BTC","coin":"BTC","host":"stratum.f2pool.com","port":3333}'

# Create a port mapping (local port 13333 → F2Pool BTC)
curl -X POST http://YOUR_SERVER:8080/api/v1/port-mappings \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"local_port":13333,"pool_id":1}'
What just happened
  • Point your miners at CLIENT_IP:13333 instead of the pool directly
  • Verify: check server logs or call /api/v1/system/status
  • The tunnel encrypts all traffic automatically from this point on

You're Live!

Your mining relay is active. Here's what to check:

  • Client online (heartbeat active)
  • Miner shares submitting successfully
  • Server logs show no errors

What's Next?

📊

View hashrate stats

Monitor per-worker performance in real time

Enable request aggregation

For large farms — reduce connections 99.8%

🔔

Configure alerts

Get notified instantly on anomalies