Quick Start

Get your mining relay running in under 15 minutes.

Prerequisites

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…)

Step 1 — Deploy the Server

# 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

The server listens on TCP 8443 (encrypted tunnel) and UDP 8444 (QUIC).

Tip: Open ports 8443/tcp and 8444/udp in your firewall before starting the server.

Step 2 — Install the Client

# Linux client
curl -Lo hashrelay-client \
  https://github.com/hashrelay/hashrelay/releases/latest/download/client-linux-x86_64
chmod +x hashrelay-client
./hashrelay-client --config client.toml

Edit client.toml to set the server address, auth token, and transport mode.

Step 3 — Configure a Pool Mapping

# 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 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}'

Point your miners at CLIENT_IP:13333 — done!

Verify

curl http://YOUR_SERVER:8080/api/v1/system/status \
  -H "Authorization: Bearer YOUR_TOKEN"

You should see client_count: 1 and your pool mapping active.