Miner Guide

Setup & Installation — Miners

This guide covers detailed installation instructions for all supported platforms.

System Requirements

Minimum (to get started):

  • CPU: 2+ cores
  • RAM: 4GB
  • Disk: 10GB
  • Internet: ≥1 Mbps upload/download
  • OS: Linux (Ubuntu 18.04+), macOS (10.15+)

Recommended (for good earnings):

  • CPU: 8+ cores
  • RAM: 16GB
  • Disk: 100GB SSD
  • Internet: ≥5 Mbps
  • OS: Linux

High-end (maximize earnings):

  • CPU: 16+ cores
  • RAM: 32+ GB
  • Disk: 500GB NVMe
  • GPU: NVIDIA (optional, but recommended)
  • Internet: ≥10 Mbps

Installation

macOS

Prerequisites:

  • macOS 10.15 or later
  • Homebrew installed

Install via Homebrew:

brew tap swarmient/tap
brew install swarmient-daemon

Verify installation:

swarmient-daemon --version

From source:

git clone https://github.com/swarmient/compute-daemon.git
cd compute-daemon
npm install
npm run build
npm run install:macos

Linux (Ubuntu/Debian)

Prerequisites:

  • Ubuntu 18.04, 20.04, 22.04 or Debian 10+
  • sudo access

Install via PPA:

sudo apt-add-repository ppa:swarmient/swarmient
sudo apt-get update
sudo apt-get install swarmient-daemon

From source:

git clone https://github.com/swarmient/compute-daemon.git
cd compute-daemon
npm install
npm run build
sudo npm run install:linux

Verify installation:

swarmient-daemon --version

Linux (CentOS/RHEL)

Install via RPM:

sudo yum install -y https://releases.swarmient.com/swarmient-daemon-latest.rpm

From source:

git clone https://github.com/swarmient/compute-daemon.git
cd compute-daemon
npm install
npm run build
sudo npm run install:centos

Windows (Beta)

Windows support is coming soon. For now, use WSL2 with Ubuntu:

# Enable WSL2
wsl --install

# Install Ubuntu 22.04
wsl --install -d Ubuntu-22.04

# Then follow Linux installation steps above

Docker

Run Swarmient in a container:

docker run -d \
  --name swarmient-miner \
  -v ~/.swarmient:/root/.swarmient \
  -e SWARMIENT_KEYFILE=/root/.swarmient/miner.json \
  -e SWARMIENT_CONTROL_PLANE=https://api.swarmient.com \
  swarmient/compute-daemon:latest

Verify Installation

Check that everything is working:

swarmient-daemon health-check

Expected output:

✓ Daemon binary found
✓ Node.js runtime available
✓ Network connectivity OK
✓ Disk space sufficient
✓ Memory available
✓ Ready to mine

If any checks fail, see Troubleshooting.

Generate Cryptographic Keys

Create your miner identity:

swarmient-daemon keygen \
  --output ~/.swarmient/miner.json \
  --algorithm Ed25519

This creates:

{
  "private_key": "...",
  "public_key": "...",
  "algorithm": "Ed25519",
  "created_at": "2026-07-08T12:00:00Z"
}

Keep private_key secret. It signs all your proofs. If compromised, regenerate keys immediately.

Secure your key file:

chmod 600 ~/.swarmient/miner.json

Only your user should be able to read it.

Register Your Public Key

  1. Go to your dashboard
  2. Click “Register New Miner”
  3. Copy your public key:
cat ~/.swarmient/miner.json | jq '.public_key'
  1. Paste it into the form and submit
  2. Your miner is now registered

Important: The public key is visible to everyone. The private key stays on your machine.

Start the Daemon

First Run (Manual)

swarmient-daemon start \
  --keyfile ~/.swarmient/miner.json \
  --control-plane https://api.swarmient.com \
  --verbose

Output:

Starting Swarmient compute daemon v1.0.0
Keyfile: /home/user/.swarmient/miner.json
Control plane: https://api.swarmient.com
Miner ID: miner_abc123def456
Hardware: 8 CPU cores, 16GB RAM, 100GB SSD
Advertising capacity to network...
Polling for jobs...

Press Ctrl+C to stop.

Run as Service (Persistent)

On Linux, install as a systemd service:

sudo swarmient-daemon install-service \
  --keyfile ~/.swarmient/miner.json \
  --control-plane https://api.swarmient.com

Then manage with:

# Start
sudo systemctl start swarmient-daemon

# Stop
sudo systemctl stop swarmient-daemon

# Restart
sudo systemctl restart swarmient-daemon

# Check status
sudo systemctl status swarmient-daemon

# View logs
sudo journalctl -u swarmient-daemon -f

Enable auto-start on boot:

sudo systemctl enable swarmient-daemon

On macOS, install as a LaunchAgent:

swarmient-daemon install-service \
  --keyfile ~/.swarmient/miner.json \
  --control-plane https://api.swarmient.com

Manage with:

# Start
launchctl start com.swarmient.daemon

# Stop
launchctl stop com.swarmient.daemon

# View logs
log stream --predicate 'process == "swarmient-daemon"'

Configure Firewall

Swarmient needs outbound connection to the control plane:

IP: api.swarmient.com (multiple IPs) Port: 443 (HTTPS) Direction: Outbound only

If behind a corporate firewall, whitelist:

  • api.swarmient.com:443
  • All Swarmient IPs (ask support for the list)

Test the Setup

Once running, verify from another terminal:

swarmient-daemon status

Expected output:

Miner ID: miner_abc123def456
Status: ONLINE
Uptime: 2m 30s
Hardware: 8 cores, 16GB RAM, 100GB SSD
Jobs completed: 0
Earnings: $0.00

Check your dashboard—your miner should appear in the network.

Troubleshooting Installation

Error: “swarmient-daemon: command not found”

Make sure installation completed. Try:

which swarmient-daemon

If not found, reinstall or add to PATH:

export PATH=$PATH:/usr/local/bin

Error: “Cannot read keyfile”

Check permissions:

ls -la ~/.swarmient/miner.json
chmod 600 ~/.swarmient/miner.json

Error: “Cannot connect to control plane”

Check internet connection:

curl https://api.swarmient.com/health

Should return HTTP 200.

Error: “Not enough disk space”

Free up space or change data directory:

swarmient-daemon start \
  --keyfile ~/.swarmient/miner.json \
  --data-dir /path/to/larger/disk

Upgrade

To upgrade to the latest version:

macOS:

brew upgrade swarmient-daemon

Linux (apt):

sudo apt-get update
sudo apt-get upgrade swarmient-daemon

From source:

cd compute-daemon
git pull origin main
npm install
npm run build
sudo npm run install

Note: Your earnings and miner ID are preserved during upgrades.

Uninstall

macOS:

brew uninstall swarmient-daemon

Linux (apt):

sudo apt-get remove swarmient-daemon

From source:

sudo npm run uninstall

Your earnings history is kept in your account. You can reinstall anytime and resume mining.

Next Steps