High-performance NVIDIA GPU miner for Pearl (PRL) — built for high hashrate, low power draw, and low VRAM usage, with the best optimization on RTX 50xx (Blackwell), RTX 40xx (Ada), RTX 30xx (Ampere), and RTX 20xx (Turing) cards.
This repository hosts the official release packages. Download the latest build from the Releases page.
- 💬 Telegram: t.me/peakminer_official
- 🎮 Discord: discord.gg/d5gVybewQ9
- 📢 Announcements: t.me/peakminer_announcements
- 🐙 GitHub: github.com/peakminer/peakminer
- Pearl (PRL) support over Stratum V1, with auto-detected TLS/SSL and failover pools
- Tuned CUDA kernels per GPU generation — best efficiency on RTX 50xx, 40xx, 30xx and 20xx: high hash, low watt, low VRAM
- Overclocking & thermal limits — per-GPU core/memory clocks, power limit, and automatic temperature pause/resume
- Windows, Linux & Docker — standalone Windows build (
.zip), a ready-to-go HiveOS package, and a prebuilt image (peakminer/peakminer) - Built-in HTTP stats API: per-GPU hashrate, temperature, fan, shares, and uptime on the HiveOS dashboard
Real, pool-accepted hashrate on Pearl (pearlhash) — measured live, not synthetic. Latest full sweep: v1.0.13, 20 GPUs, 0 invalid shares. Measured on vast.ai at default OC — manual overclocking typically yields more.
Current hashrate (default OC, sample):
| GPU | Hashrate | Efficiency |
|---|---|---|
| RTX 5090 | 354.3 TH/s | 617 GH/W |
| RTX 4090 | 288.8 TH/s | 643 GH/W |
| RTX 5080 | 206.1 TH/s | 574 GH/W |
| RTX 4080 | 179.1 TH/s | 563 GH/W |
| RTX 5070 Ti | 174.0 TH/s | 581 GH/W |
| RTX 4070 Ti | 151.1 TH/s | 535 GH/W |
| RTX 3090 Ti | 139.5 TH/s | 312 GH/W |
Full table for all measured cards (30/40/50-series): PERFORMANCE.md.
Head-to-head vs other popular miners — same GPU, same pool, back-to-back:
| GPU | PeakMiner | Other miners | Advantage |
|---|---|---|---|
| RTX 4070 Ti | 143.5 TH/s | ~123 TH/s | +16.7% |
| RTX 2060 SUPER | 28.8 TH/s | ~25.1 TH/s | +14.7% |
| RTX 5060 | 70.2 TH/s | ~67.5 TH/s | +4.0% |
| RTX 4060 Ti | 79.8 TH/s | ~77.4 TH/s | +3.1% |
| RTX 3060 | 41.6 TH/s | ~40.5 TH/s | +2.7% |
The fastest Pearl miner we've measured, leading across the 20-, 30-, 40-, and 50-series. Full methodology: PERFORMANCE.md.
| Coin | Fee |
|---|---|
| Pearl (PRL) | 3% |
| Compute cap | Profile | Cards |
|---|---|---|
| sm_70 | volta | V100 |
| sm_75 | turing | T4 / CMP 30HX / RTX 20xx (optimized) |
| sm_80 / sm_86 | ampere | A100 / RTX 30xx (optimized) |
| sm_89 | ada | RTX 40xx (optimized) |
| sm_90 | h100 | H100 / H200 |
| sm_100 | b200 | B200 / B300 |
| sm_120 | blackwell | RTX 50xx (optimized) |
Requirements: Windows or Linux, with an NVIDIA driver that supports the CUDA 12 runtime (the runtime is bundled — no toolkit install needed).
PeakMiner works with any Stratum V1 Pearl (PRL) pool. Tested and supported:
| Pool | Site |
|---|---|
| HeroMiners | pearl.herominers.com |
| LuckyPool | pearl.luckypool.io |
| Kryptex | pool.kryptex.com |
| AlphaPool | pearl.alphapool.tech |
Use each pool's own host:port in your flight sheet's Pool URL. Comma-separate multiple URLs for failover.
Create a flight sheet with a Custom miner and point the Installation URL at the release asset:
| Field | Value |
|---|---|
| Installation URL | https://github.com/peakminer/peakminer/releases/download/v1.0.13/peakminer-1.0.13.tar.gz |
| Miner | Custom → peakminer |
| Coin | pearl |
| Wallet | your Pearl address |
| Pool URL | de.pearl.herominers.com:1200 (example) — TLS/SSL is auto-detected (no prefix needed); force it with stratum+ssl://host:port. Comma-separate multiple URLs for failover |
| Template | %WAL%.%WORKER_NAME% |
| Pass | optional (defaults to x) |
Apply the flight sheet — HiveOS downloads the package, installs it, and starts mining.
Prefer to import? Paste this into HiveOS (Flight Sheets → import), then set your wallet. Update
install_url to the version you want:
{
"name": "PEAKMINER_PEARL",
"isFavorite": false,
"items": [
{
"coin": "PEARL",
"pool_ssl": false,
"pool_urls": [
"de.pearl.herominers.com:1200"
],
"dpool_ssl": false,
"miner": "custom",
"miner_alt": "peakminer",
"miner_config": {
"url": "de.pearl.herominers.com:1200",
"algo": "pearl",
"pass": "x",
"miner": "peakminer",
"template": "%WAL%.%WORKER_NAME%",
"install_url": "https://github.com/peakminer/peakminer/releases/download/v1.0.13/peakminer-1.0.13.tar.gz",
"user_config": ""
},
"pool_geo": []
}
]
}The "Setup Miner Config" box accepts raw peakminer CLI flags, one per line or semicolon-separated:
--devices 0,1 # mine on a GPU subset (default: all)
--legacy-auth # standard Stratum V1 array authorize, for pools that need it
--slice-secs 0.25 # fresher jobs at slightly higher CPU
--api-port 4068 # stats API port (the stats script follows it automatically)
- Download
peakminer-<version>-windows-x86_64.zipfrom the Releases page and extract it. - Run from a terminal (PowerShell or CMD), or edit the included
start.bat:
peakminer.exe --url de.pearl.herominers.com:1200 --user YOUR_WALLET.rig1- Leave the window open — it prints per-GPU hashrate, accepted shares, and temperatures.
TLS/SSL is auto-detected — just pass the pool's host:port; no stratum+ssl:// prefix needed (you can still force it).
Example start.bat:
@echo off
peakminer.exe ^
--url de.pearl.herominers.com:1200 ^
--user YOUR_WALLET.rig1
pauseCommon flags (peakminer.exe --help for the full list):
--url de.pearl.herominers.com:1200 # pool address (TLS/SSL auto-detected)
--user WALLET.WORKER # your Pearl wallet + worker name
--devices 0,1 # mine on a GPU subset (default: all)
--api-port 4068 # built-in HTTP stats API
The CUDA 12 runtime ships inside the zip — no toolkit install needed, just a recent NVIDIA driver.
PeakMiner can apply clock/power offsets and protect cards with temperature limits — no external OC tool needed. Apply a value to all GPUs, or override a single card with the N suffix (e.g. --gpu-core0, --gpu-mem1).
--gpu-core <MHz> Core clock offset (MHz). Override per GPU with --gpu-coreN
--gpu-lcore <MHz> Core clock lock (MHz). Override per GPU with --gpu-lcoreN
--gpu-mem <MHz> Memory clock offset (MHz). Override per GPU with --gpu-memN
--gpu-lmem <MHz> Memory clock lock (MHz). Override per GPU with --gpu-lmemN
--gpu-power <W|%> Power limit: watts (e.g. 230) or percent of default (e.g. 80%).
Override per GPU with --gpu-powerN
--gpu-temp-stop <°C> Pause a GPU when its temperature reaches this value (°C). Override
per GPU with --gpu-temp-stopN. When only this flag is given,
--gpu-temp-start defaults to stop-10
--gpu-temp-start <°C> Resume a paused GPU when its temperature drops to or below this
value (°C). Override per GPU with --gpu-temp-startN. Must be
strictly less than stop
Example — core +150 MHz, memory +1200 MHz, 70% power, pause at 70 °C (resume at 60 °C):
peakminer --url de.pearl.herominers.com:1200 --user <WALLET>.<WORKER> \
--gpu-core 150 --gpu-mem 1200 --gpu-power 70% --gpu-temp-stop 70A Dockerfile (Ubuntu 24.04) is included, and a prebuilt image is published on Docker Hub.
GPU access requires the host's NVIDIA driver plus the NVIDIA Container Toolkit (the --gpus all flag).
GPU access requires the host's NVIDIA driver plus the NVIDIA Container Toolkit (the --gpus all flag).
docker pull peakminer/peakminer:1.0.13
# Run — -t shows the live miner output
docker run --rm -t --gpus all peakminer/peakminer:1.0.13 \
--url de.pearl.herominers.com:1200 --user <WALLET>.<WORKER># Defaults to the latest version; override with --build-arg
docker build -t peakminer .
docker build -t peakminer:1.0.13 --build-arg PEAKMINER_VERSION=1.0.13 .
docker run --rm -t --gpus all peakminer \
--url de.pearl.herominers.com:1200 --user <WALLET>.<WORKER>Pass any miner flags after the image name. Map the stats API to the host with -p:
docker run --rm -t --gpus all -p 4068:4068 peakminer/peakminer:1.0.13 \
--url de.pearl.herominers.com:1200 --user <WALLET>.<WORKER> --api-port 4068- Stats API:
GET http://127.0.0.1:4068/summaryon the rig (hashrate reported in kH/s) - Miner log:
/var/log/miner/custom/peakminer/peakminer.log - Generated command line:
/hive/miners/custom/peakminer/peakminer.conf
- Miner runs but dashboard stats are blank — run
curl 127.0.0.1:4068/summaryon the rig. If it answers, verify/run/hive/MINER_RUNexists (the HiveOS agent skips stats collection without it). - All shares rejected after a pool hiccup — the built-in job watchdog (
--job-timeout, default 180 s) reconnects automatically; lower it if your pool wedges often.
- Pearl (PRL) — NVIDIA, HiveOS / Linux
- Windows support
- Auto-detected TLS/SSL pools
- Overclocking & temperature limits
- Docker image
- More coins and algorithms
- macOS / more operating systems
Proprietary — see LICENSE. The release packages are free to download and use for mining; redistribution and reverse engineering are restricted per the license terms.