Топ майнинг ПО

Майнинг ПО

BzMiner v100.40

26 сент. 2026 г.

Release v100.40 of bzminer

All feedback is welcome ;)

  • Big Nvidia & AMD pearl optimizations
  • Further randomx optimizations

Mines Tari, Conceal, Ryo, Ergo, Ethereum Classic, EthereumPoW, Ravencoin, Neurai, Neoxa, Meowcoin, Clore, nexa, Pearl, Quantus, Monero, Zephyr, Salvium, VERUS, Warthog and XELIS, and ships sha256d as the open-source SDK example.

Downloads

file size SHA-256
bzminer_v100.40_windows.zip 36.2 MB 33f534c7ed1f1d4d330651f0e86ccceebf6c9bc28ee2f8aca89e0db1679d2c3a
bzminer_v100.40_linux.tar.gz 37.0 MB ce819865c7fc114b4c967bb0878bf8adaa5c09489348b89f5093813bfef49c6b
bzminer_custom-v100.40.tar.gz 37.0 MB d5bda5a81cdda46a846cad6e1d8757da4c500d45472652ba6d0b15bf696c22e2
bzminer_v100.40_docker.tar.gz 13.4 KB ed410b730ab2407cde280806997741b9d7e0acf21d7683715035ba8b070b7e4a
bzminer_v100.40_macos.tar.gz 48.1 MB 55ebdfcd7a965a655fb2357b2274dff0a63e0cb4bef61c8f12c69ef35f462999

Verify before running:

# Linux / macOS
sha256sum -c <<< "<hash>  <file>"

# Windows (PowerShell)
Get-FileHash .\<file> -Algorithm SHA256

A checksum only proves the file is the one that was published — always download from the official release page.

Getting started

  1. Unpack the archive for your platform.
  2. Open a start_<algo> script and replace the placeholder wallet with your own.
  3. Run it, then open http://127.0.0.1:4014/ for the dashboard.

readme.txt inside each archive has the full quick start, the common options, and the hardware-safety settings. config.txt is a commented copy of every setting, generated from the shipped binary, so it always matches the build you have.

config.txt may be JSON or a command line. The shipped file is JSON — every setting inside one { } object. bzminer equally accepts the same file written as the options you would have typed, which is what a mining OS generates and the easier form to write by hand:

# one option per line, or a flag and its value on one line
-a pearl
-p stratum+tcp://pool:1234
-w YOUR_WALLET
--worker "My Rig"

Quote a value containing a space, and start a comment with #. An option you type on the command line beats the file's copy of it, so the file is a default you can override without editing it.

Docker

There is an image, and it carries the GPU userspace as well as the miner - no ROCm install, no driver packages, nothing on the host but a kernel driver:

docker pull bzminer/bzminer:v100.40
docker run --rm -it --gpus all bzminer/bzminer -a pearl -o stratum+tcp://pool:port -w YOUR_WALLET

The identical image is on GitHub as ghcr.io/bzminer/bzminer:v100.40 if you would rather not pull from Docker Hub.

Or keep your config, log and plugins on the host and run it as a service:

docker run -d --name bzminer --restart unless-stopped --gpus all \
    -v /opt/bzminer:/data -p 127.0.0.1:4014:4014 \
    bzminer/bzminer --set http_address=0.0.0.0

With no arguments it runs /data/config.txt; anything you pass goes straight to bzminer, so every command line on this page works unchanged. http_address has to be 0.0.0.0 for the dashboard, because the default 127.0.0.1 binds the container's loopback, which no published port can reach.

GPU flags differ per vendor. NVIDIA is --gpus all (with nvidia-container-toolkit on the host). AMD and Intel are --device /dev/kfd --device /dev/dri --group-add video --group-add render and --device /dev/dri. Overclocking, MSR tuning and huge pages additionally need --privileged; mining does not.

Update with a pull, not the miner's self-update - and the old tag stays published, so a rollback is just naming it:

docker pull bzminer/bzminer && docker restart bzminer

The binary inside the image is byte-identical to the one in bzminer_v100.40_linux.tar.gz above. Full documentation: docker run --rm bzminer/bzminer cat /opt/bzminer/docs/DOCKER.md.

Updating on a mining OS

Both fetch this exact version, so they can be pasted as-is - the version below is already the one on this page.

MMPOS

Put this in miner profile → advanced → "Initiate command prior to miner launch". It downloads once; on every later launch the if sees the archive already in /tmp and exits immediately, so it costs nothing per restart.

export version="v100.40"
if [ -f "/tmp/bzminer_${version}_linux.tar.gz" ]; then
exit 0
else
cd /tmp; wget https://github.com/bzminer/bzminer/releases/download/${version}/bzminer_${version}_linux.tar.gz; tar -xvf bzminer_${version}_linux.tar.gz; sudo cp -adpR bzminer_${version}_linux/bzminer /opt/mmp/miners/bzminer/
fi

Hive OS custom miner

The Linux release now includes bzminer_custom-v100.40.tar.gz, a complete Hive OS custom miner: the full bzminer binary, flight-sheet config adapter, log launcher, and native /hive_status reporting.

  1. Click Copy on the Flight Sheet JSON below.
  2. Open the Hive OS farm page that lists all workers.
  3. Open the Flight Sheets tab.
  4. Click Import from Clipboard.
  5. Create/save the flight sheet and add your PEARL wallet.
  6. Apply the flight sheet to the workers.

The sample mines Pearl on HeroMiners. Change url, pool_urls, algo, and coin for another pool or algorithm. The package maps those fields, %WAL%, the Hive worker name, and pass directly to bzminer. Put optional bzminer CLI arguments in user_config.

Flight Sheet JSON

{
  "name": "PEARL_BZMINER_CUSTOM",
  "isFavorite": false,
  "items": [
    {
      "coin": "PEARL",
      "pool_ssl": false,
      "pool_urls": [
        "us.pearl.herominers.com:1200"
      ],
      "dpool_ssl": false,
      "miner": "custom",
      "miner_alt": "bzminer_custom",
      "miner_config": {
        "url": "us.pearl.herominers.com:1200",
        "algo": "pearl",
        "pass": "x",
        "miner": "bzminer_custom",
        "template": "%WAL%",
        "install_url": "https://github.com/bzminer/bzminer/releases/download/v100.40/bzminer_custom-v100.40.tar.gz",
        "user_config": ""
      },
      "pool_geo": []
    }
  ]
}

Hive OS built-in miner (manual binary replacement)

Run it over SSH or in the Hive web shell.

You do not need to know which bzminer version is installed. Hive keeps one folder per version under /hive/miners/bzminer/, and the flight sheet decides which one runs - so this replaces the binary in every bzminer folder it finds and whichever one your flight sheet points at gets the new build. That is the whole reason it does not name a version directory.

version=v100.40
cd /tmp && wget -q https://github.com/bzminer/bzminer/releases/download/${version}/bzminer_${version}_linux.tar.gz && tar -xf bzminer_${version}_linux.tar.gz || { echo "download failed"; exit 1; }
miner stop
n=0; for d in /hive/miners/bzminer/*/; do [ -d "$d" ] && cp -f "bzminer_${version}_linux/bzminer" "$d" && n=$((n+1)); done
[ "$n" -gt 0 ] && echo "updated $n bzminer folder(s)" || echo "no /hive/miners/bzminer/<version>/ found - install bzminer from the flight sheet first"
miner start

It prints how many folders it updated. 0 means bzminer has never been installed from a flight sheet on that rig, so there is nothing to replace yet.

Reporting problems

Please include: your OS, GPU model(s) and driver version, the algorithm and pool, and the first ~40 lines of the log (it prints the build, the devices it found, and what each backend reported). --list-metrics output helps for sensor issues.

WildRig Multi 0.51.3

25 сент. 2026 г.
  • improved pearlhash power efficiency up to 10% across NVIDIA gpu's

BzMiner v100.36

23 сент. 2026 г.

Release v100.36 of bzminer

All feedback is welcome ;)

  • big pearl improvement on amd rnda4 (other amd's too)
  • big pearl improvement on intel battlemage
  • c29 improvements
  • randomx improvements
  • --amd should disable cpu (--nvidia, --amd, --intel)
  • reset hashrate averaging window when oc is changed
  • fixed issue with workers silently crashing and not submitting shares
  • added watchdog for crashed workers

Mines Tari, Conceal, Ryo, Ergo, Ethereum Classic, EthereumPoW, Ravencoin, Neurai, Neoxa, Meowcoin, Clore, nexa, Pearl, Quantus, Monero, Zephyr, Salvium, VERUS, Warthog and XELIS, and ships sha256d as the open-source SDK example.

Downloads

file size SHA-256
bzminer_v100.36_windows.zip 34.4 MB 85b07dafea1e61a76711fcbd5ca06a4d3671698963283bd829a67f54060fdd49
bzminer_v100.36_linux.tar.gz 35.2 MB 8a665ddd7138a87b94cabba851cc6897e86c65bfcd8f0639ebcb99c1b7c3f889
bzminer_custom-v100.36.tar.gz 35.1 MB d8153e57b5d6805a04b8c78a53d692cd771520cea2b77f985f92c73140b97c22
bzminer_v100.36_docker.tar.gz 13.4 KB d74a6ca44a9b2e20ed9aa2360275afe387cbae6c8079fec01ee7206dfe539a96
bzminer_v100.36_macos.tar.gz 44.0 MB 948c11ddbf2affae59c3abaeb3ee604307b724e366ba3a94379cff41ab8b2709

Verify before running:

# Linux / macOS
sha256sum -c <<< "<hash>  <file>"

# Windows (PowerShell)
Get-FileHash .\<file> -Algorithm SHA256

A checksum only proves the file is the one that was published — always download from the official release page.

Getting started

  1. Unpack the archive for your platform.
  2. Open a start_<algo> script and replace the placeholder wallet with your own.
  3. Run it, then open http://127.0.0.1:4014/ for the dashboard.

readme.txt inside each archive has the full quick start, the common options, and the hardware-safety settings. config.txt is a commented copy of every setting, generated from the shipped binary, so it always matches the build you have.

config.txt may be JSON or a command line. The shipped file is JSON — every setting inside one { } object. bzminer equally accepts the same file written as the options you would have typed, which is what a mining OS generates and the easier form to write by hand:

# one option per line, or a flag and its value on one line
-a pearl
-p stratum+tcp://pool:1234
-w YOUR_WALLET
--worker "My Rig"

Quote a value containing a space, and start a comment with #. An option you type on the command line beats the file's copy of it, so the file is a default you can override without editing it.

Docker

There is an image, and it carries the GPU userspace as well as the miner - no ROCm install, no driver packages, nothing on the host but a kernel driver:

docker pull bzminer/bzminer:v100.36
docker run --rm -it --gpus all bzminer/bzminer -a pearl -o stratum+tcp://pool:port -w YOUR_WALLET

The identical image is on GitHub as ghcr.io/bzminer/bzminer:v100.36 if you would rather not pull from Docker Hub.

Or keep your config, log and plugins on the host and run it as a service:

docker run -d --name bzminer --restart unless-stopped --gpus all \
    -v /opt/bzminer:/data -p 127.0.0.1:4014:4014 \
    bzminer/bzminer --set http_address=0.0.0.0

With no arguments it runs /data/config.txt; anything you pass goes straight to bzminer, so every command line on this page works unchanged. http_address has to be 0.0.0.0 for the dashboard, because the default 127.0.0.1 binds the container's loopback, which no published port can reach.

GPU flags differ per vendor. NVIDIA is --gpus all (with nvidia-container-toolkit on the host). AMD and Intel are --device /dev/kfd --device /dev/dri --group-add video --group-add render and --device /dev/dri. Overclocking, MSR tuning and huge pages additionally need --privileged; mining does not.

Update with a pull, not the miner's self-update - and the old tag stays published, so a rollback is just naming it:

docker pull bzminer/bzminer && docker restart bzminer

The binary inside the image is byte-identical to the one in bzminer_v100.36_linux.tar.gz above. Full documentation: docker run --rm bzminer/bzminer cat /opt/bzminer/docs/DOCKER.md.

Updating on a mining OS

Both fetch this exact version, so they can be pasted as-is - the version below is already the one on this page.

MMPOS

Put this in miner profile → advanced → "Initiate command prior to miner launch". It downloads once; on every later launch the if sees the archive already in /tmp and exits immediately, so it costs nothing per restart.

export version="v100.36"
if [ -f "/tmp/bzminer_${version}_linux.tar.gz" ]; then
exit 0
else
cd /tmp; wget https://github.com/bzminer/bzminer/releases/download/${version}/bzminer_${version}_linux.tar.gz; tar -xvf bzminer_${version}_linux.tar.gz; sudo cp -adpR bzminer_${version}_linux/bzminer /opt/mmp/miners/bzminer/
fi

Hive OS custom miner

The Linux release now includes bzminer_custom-v100.36.tar.gz, a complete Hive OS custom miner: the full bzminer binary, flight-sheet config adapter, log launcher, and native /hive_status reporting.

  1. Click Copy on the Flight Sheet JSON below.
  2. Open the Hive OS farm page that lists all workers.
  3. Open the Flight Sheets tab.
  4. Click Import from Clipboard.
  5. Create/save the flight sheet and add your PEARL wallet.
  6. Apply the flight sheet to the workers.

The sample mines Pearl on HeroMiners. Change url, pool_urls, algo, and coin for another pool or algorithm. The package maps those fields, %WAL%, the Hive worker name, and pass directly to bzminer. Put optional bzminer CLI arguments in user_config.

Flight Sheet JSON

{
  "name": "PEARL_BZMINER_CUSTOM",
  "isFavorite": false,
  "items": [
    {
      "coin": "PEARL",
      "pool_ssl": false,
      "pool_urls": [
        "us.pearl.herominers.com:1200"
      ],
      "dpool_ssl": false,
      "miner": "custom",
      "miner_alt": "bzminer_custom",
      "miner_config": {
        "url": "us.pearl.herominers.com:1200",
        "algo": "pearl",
        "pass": "x",
        "miner": "bzminer_custom",
        "template": "%WAL%",
        "install_url": "https://github.com/bzminer/bzminer/releases/download/v100.36/bzminer_custom-v100.36.tar.gz",
        "user_config": ""
      },
      "pool_geo": []
    }
  ]
}

Hive OS built-in miner (manual binary replacement)

Run it over SSH or in the Hive web shell.

You do not need to know which bzminer version is installed. Hive keeps one folder per version under /hive/miners/bzminer/, and the flight sheet decides which one runs - so this replaces the binary in every bzminer folder it finds and whichever one your flight sheet points at gets the new build. That is the whole reason it does not name a version directory.

version=v100.36
cd /tmp && wget -q https://github.com/bzminer/bzminer/releases/download/${version}/bzminer_${version}_linux.tar.gz && tar -xf bzminer_${version}_linux.tar.gz || { echo "download failed"; exit 1; }
miner stop
n=0; for d in /hive/miners/bzminer/*/; do [ -d "$d" ] && cp -f "bzminer_${version}_linux/bzminer" "$d" && n=$((n+1)); done
[ "$n" -gt 0 ] && echo "updated $n bzminer folder(s)" || echo "no /hive/miners/bzminer/<version>/ found - install bzminer from the flight sheet first"
miner start

It prints how many folders it updated. 0 means bzminer has never been installed from a flight sheet on that rig, so there is nothing to replace yet.

Reporting problems

Please include: your OS, GPU model(s) and driver version, the algorithm and pool, and the first ~40 lines of the log (it prints the build, the devices it found, and what each backend reported). --list-metrics output helps for sensor issues.

Fifth test release of the model-split miner. Mainnet is not affected.

What changed since 0.5.6-test4

  • A multi-GPU rig now declares its shard. On a rig, only one GPU serves the shard; the others keep a copy for PoM. The miner could pick one of those non-serving copies when looking up its shard endpoint, conclude it served nothing and stay silent. Without that declaration, no head would ever start a pipeline. Single-GPU boxes were never affected, which is why the second campaign worked and the fourth did not. The endpoint is now looked up on the GPU that actually serves the shard.

  • A head no longer waits forever for a missing shard. A head gives the links a grace period to declare, then serves or hands over. That deadline was restarted each time the request was looked at again, so it could never expire. It now runs from the first time the request is seen. The head also logs which shard tiers it is still waiting for, and a miner that holds a shard without serving it says so.

  • Links no longer drop a head while it loads. Test4 added an idle timeout on shard sessions, with a keepalive on the control link only. A head needs one to three minutes to load its weights, so the data links went quiet for longer than the timeout and were closed under it. The head now keeps every data link alive.

  • A corrupted model download is no longer stuck. When a downloaded file did not match its expected digest, it was kept on disk, and the next attempt resumed on top of the bad bytes. The file is now deleted on a mismatch, so the next run downloads it again from scratch. If you hit digest mismatch, restart the miner.

  • Shards announce the model of the current era. A miner holding a shard announced the model of the upcoming era instead of the one being mined, which would have failed its model challenge as soon as a model change was scheduled. It now announces the current one and prefetches both. Nothing changes today on mainnet or testnet.

  • Devnet support. --devnet runs a local two-shard 9B bench against a devnet node. It is meant for development only.

Reminder for shard holders

  • Ports 4001 (IPFS) and 60052 (shard gateway) open, TCP, inbound. If you use a custom gateway port, --shard-public must announce the port that actually reaches your miner.
  • A rig with several GPUs serves its shard from one GPU only. The others keep their copy for PoM. This is expected.
  • --force-model shard-N if your card is picked for the wrong shard, and --mine-when-not-synced against the public node.

How to join the testnet?

1/ Download the zip for your class and unzip it into the miner's models/ folder:

8 GB → shard 0 (5.9 GB) → https://huggingface.co/datasets/Keryx-Labs/models/resolve/main/V4-Flash-shard-0.zip 12 GB → shard 1 (9.9 GB) → https://huggingface.co/datasets/Keryx-Labs/models/resolve/main/V4-Flash-shard-1.zip 12 GB → shard 2 (9.9 GB) → https://huggingface.co/datasets/Keryx-Labs/models/resolve/main/V4-Flash-shard-2.zip 16 GB → shard 3 (13.8 GB) → https://huggingface.co/datasets/Keryx-Labs/models/resolve/main/V4-Flash-shard-3.zip 24 GB → shard 4 (19.8 GB) → https://huggingface.co/datasets/Keryx-Labs/models/resolve/main/V4-Flash-shard-4.zip 32 GB → shard 5 (27.4 GB) → https://huggingface.co/datasets/Keryx-Labs/models/resolve/main/V4-Flash-shard-5.zip

2/ A keryxtest: address created on the testnet web wallet: https://testnet.keryx-labs.com/wallet Same escrow procedure as on mainnet, with that address.

3/ Start the miner on testnet, against the public node: ./keryx-miner --testnet --mining-address keryxtest:xxxxxxxxxxxxxxxxxxxxxxxxxxxx --high --mine-when-not-synced --keryxd-address 169.58.155.203:22210 --shard-gateway 0.0.0.0:60052 --shard-public YOUR_PUBLIC_IP:60052

ForgeMiner v1.8.1

21 сент. 2026 г.

ForgeMiner v1.8.1

Quantus is faster on every architecture, and now loads on older drivers too.

What's new

  • Quantus (--algorithm quantus) is faster across the board. New hand-tuned kernels on every supported architecture, same dev fee, same pools:
    • RTX 20-series (Turing): about +29%
    • RTX 30-series (Ampere): about +9%
    • RTX 40-series (Ada): about +5%
    • RTX 50-series (Blackwell): about +30%
  • Runs on older drivers. The 20-, 30- and 40-series Quantus images load on older NVIDIA drivers — no driver update needed. The RTX 50-series (Blackwell) requires NVIDIA driver 580 or newer.
  • Everything else is unchanged from 1.8.0.

Checksums (sha256)

66044b56f63b8e592dfc63af7ea3043bb07b07bd5b1b7927f6b0907a4cb3d907  ForgeMiner-1.8.1-windows.zip
b8cfca82925957303c67e299069806ec27947a50bed3569630940c5c0490b519  ForgeMiner-1.8.1-linux.tar.gz
773e18bf61d3cbd995d299d7023db7c795c255ff6c8e1d87ae567702a4554ce9  ForgeMiner-1.8.1.tar.gz
Русский

ForgeMiner v1.8.1

Quantus стал быстрее на каждой архитектуре и теперь грузится на старых драйверах.

Что нового

  • Quantus (--algorithm quantus) быстрее на всех картах. Новые вручную оптимизированные ядра на каждой поддерживаемой архитектуре, комиссия и пулы прежние:
    • RTX 20-я серия (Turing): около +29%
    • RTX 30-я серия (Ampere): около +9%
    • RTX 40-я серия (Ada): около +5%
    • RTX 50-я серия (Blackwell): около +30%
  • Работает на старых драйверах. Образы Quantus для 20-, 30- и 40-й серий грузятся на старых драйверах NVIDIA — обновлять драйвер не нужно. Для RTX 50-й серии (Blackwell) нужен драйвер NVIDIA 580 или новее.
  • Всё остальное — без изменений с 1.8.0.

Контрольные суммы (sha256)

66044b56f63b8e592dfc63af7ea3043bb07b07bd5b1b7927f6b0907a4cb3d907  ForgeMiner-1.8.1-windows.zip
b8cfca82925957303c67e299069806ec27947a50bed3569630940c5c0490b519  ForgeMiner-1.8.1-linux.tar.gz
773e18bf61d3cbd995d299d7023db7c795c255ff6c8e1d87ae567702a4554ce9  ForgeMiner-1.8.1.tar.gz

Download the assets below · docker pull hashraptor/forge · forgeminer.org · Telegram · Discord

SRBMiner-MULTI v3.6.9

21 сент. 2026 г.
  • Huge efficiency improvements on algorithm 'pearlhash' for NVIDIA GPUs*

  • Improved algorithm 'quantus' on AMD GPUs

  • Improved algorithm 'quantus' on NVIDIA 5000 series GPUs


Same (or better) hashrate at much lower power consumption across all architectures (except SM70 and SM103) GPUs that are power limited (H200, B200..) get a hashrate boost


Custom miner for Hiveos

To use it you need to select “Custom miner” when you create Flight Sheet and paste this into 'Installation url' : https://github.com/doktor83/SRBMiner-Multi/releases/download/3.6.9/srbminer_custom-3.6.9.tar.gz

After that you must set everything manually (--algorithm, --pool, --wallet) through the 'Extra config arguments' field by using parameters. Parameters list here : ( https://github.com/doktor83/SRBMiner-Multi/blob/master/Parameters )


Archive MD5 hashes d17b385d2fd34e208b2285b20e407384 *SRBMiner-Multi-3-6-9-win64.zip 3ace1b1e268763df09146afee6526981 *SRBMiner-Multi-3-6-9-Linux.tar.gz

krig-miner 1.5.2

20 сент. 2026 г.

Mining support for more GPU models:

Quantus (QTC):

  • NVIDIA GeForce GTX 1080: 33.3 MH/s @ 167.66 W
  • NVIDIA GeForce GTX 1660: 85.5 MH/s @ 115.65 W
  • NVIDIA GeForce RTX 3090: 490.4 MH/s @ 370 W
  • NVIDIA GeForce RTX 5090: 1339.7 MH/s @ 575 W
  • AMD Radeon RX 6750 XT: 97.8 MH/s @ 191 W
  • AMD Radeon RX 7600: 77.3 MH/s @ 144 W
  • NVIDIA GTX 10xx/16xx
  • AMD RX 400/500
  • AMD Vega
  • AMD RX 5000/6000/7000/9000
  • AMD Ryzen APU support

Pearl (PRL):

  • AMD Ryzen integrated GPUs (pass --amd-igpu to enable)

BzMiner v100.31

20 сент. 2026 г.

Release v100.31 of bzminer

All feedback is welcome ;)

x improved pearl hashrate on amd and nvidia (post screenshot of 9070xt) x added docker container for bzminer x vega56 amd gpu support for warthog x add Ellesmere support for quantus (rx 570) x add Polaris,tonga,vega support for quantus x improved randomx performance on intel and zen cpus


Mines Tari, Conceal, Ryo, Ergo, Ethereum Classic, EthereumPoW, Ravencoin, Neurai, Neoxa, Meowcoin, Clore, nexa, Pearl, Quantus, Monero, Zephyr, Salvium, VERUS, Warthog and XELIS, and ships sha256d as the open-source SDK example.

Downloads

file size SHA-256
bzminer-update-full-windows-x64.exe 34.2 MB 5918a40e2a97916db69f334b53673105a19234415a57a5390c96dfa20347833c
bzminer_v100.31_windows.zip 34.2 MB 2043139a7584c6884d03ce5b3c1f2ff57be0a0204be68be0bd5a92f7c2201596
bzminer_custom-v100.31.tar.gz 34.9 MB 4f776631c7d918836f56c24a25962ec73fb247a4d053d1f00270f79a716d9666
bzminer_v100.31_macos.tar.gz 43.4 MB 27ca541c95a52ad574c300650743822f2d077016155a0d51b94f99a5a36a8a81

Verify before running:

# Linux / macOS
sha256sum -c <<< "<hash>  <file>"

# Windows (PowerShell)
Get-FileHash .\<file> -Algorithm SHA256

A checksum only proves the file is the one that was published — always download from the official release page.

Getting started

  1. Unpack the archive for your platform.
  2. Open a start_<algo> script and replace the placeholder wallet with your own.
  3. Run it, then open http://127.0.0.1:4014/ for the dashboard.

readme.txt inside each archive has the full quick start, the common options, and the hardware-safety settings. config.txt is a commented copy of every setting, generated from the shipped binary, so it always matches the build you have.

config.txt may be JSON or a command line. The shipped file is JSON — every setting inside one { } object. bzminer equally accepts the same file written as the options you would have typed, which is what a mining OS generates and the easier form to write by hand:

# one option per line, or a flag and its value on one line
-a pearl
-p stratum+tcp://pool:1234
-w YOUR_WALLET
--worker "My Rig"

Quote a value containing a space, and start a comment with #. An option you type on the command line beats the file's copy of it, so the file is a default you can override without editing it.

Docker

There is an image, and it carries the GPU userspace as well as the miner - no ROCm install, no driver packages, nothing on the host but a kernel driver:

docker pull bzminer/bzminer:v100.31
docker run --rm -it --gpus all bzminer/bzminer -a pearl -o stratum+tcp://pool:port -w YOUR_WALLET

The identical image is on GitHub as ghcr.io/bzminer/bzminer:v100.31 if you would rather not pull from Docker Hub.

Or keep your config, log and plugins on the host and run it as a service:

docker run -d --name bzminer --restart unless-stopped --gpus all \
    -v /opt/bzminer:/data -p 127.0.0.1:4014:4014 \
    bzminer/bzminer --set http_address=0.0.0.0

With no arguments it runs /data/config.txt; anything you pass goes straight to bzminer, so every command line on this page works unchanged. http_address has to be 0.0.0.0 for the dashboard, because the default 127.0.0.1 binds the container's loopback, which no published port can reach.

GPU flags differ per vendor. NVIDIA is --gpus all (with nvidia-container-toolkit on the host). AMD and Intel are --device /dev/kfd --device /dev/dri --group-add video --group-add render and --device /dev/dri. Overclocking, MSR tuning and huge pages additionally need --privileged; mining does not.

Update with a pull, not the miner's self-update - and the old tag stays published, so a rollback is just naming it:

docker pull bzminer/bzminer && docker restart bzminer

The binary inside the image is byte-identical to the one in bzminer_v100.31_linux.tar.gz above. Full documentation: docker run --rm bzminer/bzminer cat /opt/bzminer/docs/DOCKER.md.

Updating on a mining OS

Both fetch this exact version, so they can be pasted as-is - the version below is already the one on this page.

MMPOS

Put this in miner profile → advanced → "Initiate command prior to miner launch". It downloads once; on every later launch the if sees the archive already in /tmp and exits immediately, so it costs nothing per restart.

export version="v100.31"
if [ -f "/tmp/bzminer_${version}_linux.tar.gz" ]; then
exit 0
else
cd /tmp; wget https://github.com/bzminer/bzminer/releases/download/${version}/bzminer_${version}_linux.tar.gz; tar -xvf bzminer_${version}_linux.tar.gz; sudo cp -adpR bzminer_${version}_linux/bzminer /opt/mmp/miners/bzminer/
fi

Hive OS custom miner

The Linux release now includes bzminer_custom-v100.31.tar.gz, a complete Hive OS custom miner: the full bzminer binary, flight-sheet config adapter, log launcher, and native /hive_status reporting.

  1. Click Copy on the Flight Sheet JSON below.
  2. Open the Hive OS farm page that lists all workers.
  3. Open the Flight Sheets tab.
  4. Click Import from Clipboard.
  5. Create/save the flight sheet and add your PEARL wallet.
  6. Apply the flight sheet to the workers.

The sample mines Pearl on HeroMiners. Change url, pool_urls, algo, and coin for another pool or algorithm. The package maps those fields, %WAL%, the Hive worker name, and pass directly to bzminer. Put optional bzminer CLI arguments in user_config.

Flight Sheet JSON

{
  "name": "PEARL_BZMINER_CUSTOM",
  "isFavorite": false,
  "items": [
    {
      "coin": "PEARL",
      "pool_ssl": false,
      "pool_urls": [
        "us.pearl.herominers.com:1200"
      ],
      "dpool_ssl": false,
      "miner": "custom",
      "miner_alt": "bzminer_custom",
      "miner_config": {
        "url": "us.pearl.herominers.com:1200",
        "algo": "pearl",
        "pass": "x",
        "miner": "bzminer_custom",
        "template": "%WAL%",
        "install_url": "https://github.com/bzminer/bzminer/releases/download/v100.31/bzminer_custom-v100.31.tar.gz",
        "user_config": ""
      },
      "pool_geo": []
    }
  ]
}

Hive OS built-in miner (manual binary replacement)

Run it over SSH or in the Hive web shell.

You do not need to know which bzminer version is installed. Hive keeps one folder per version under /hive/miners/bzminer/, and the flight sheet decides which one runs - so this replaces the binary in every bzminer folder it finds and whichever one your flight sheet points at gets the new build. That is the whole reason it does not name a version directory.

version=v100.31
cd /tmp && wget -q https://github.com/bzminer/bzminer/releases/download/${version}/bzminer_${version}_linux.tar.gz && tar -xf bzminer_${version}_linux.tar.gz || { echo "download failed"; exit 1; }
miner stop
n=0; for d in /hive/miners/bzminer/*/; do [ -d "$d" ] && cp -f "bzminer_${version}_linux/bzminer" "$d" && n=$((n+1)); done
[ "$n" -gt 0 ] && echo "updated $n bzminer folder(s)" || echo "no /hive/miners/bzminer/<version>/ found - install bzminer from the flight sheet first"
miner start

It prints how many folders it updated. 0 means bzminer has never been installed from a flight sheet on that rig, so there is nothing to replace yet.

Reporting problems

Please include: your OS, GPU model(s) and driver version, the algorithm and pool, and the first ~40 lines of the log (it prints the build, the devices it found, and what each backend reported). --list-metrics output helps for sensor issues.

Fourth test release of the model-split miner. Mainnet is not affected.

Nothing to reconfigure on your side. Replace the binary, restart, keep the same flags. If you were running the test2 binary with the test3 engine, that workaround is over: use this package as it ships.

What changed since 0.5.6-test3

  • A request can now cross the shard boundary. Every request of the second campaign died in the same place: the shard that held the first layers rejected the graph with invalid data ptr / failed to create graph node, while the other shards reported nothing. The cause was in the rpc client: a tensor allocated on one shard server was sent to the next one carrying the first server's memory pointer. The second server does not know that buffer, drops the pointer, and then refuses the whole graph. It only ever happens with two or more shard servers in a row, which is why a single-machine run always worked. Such a tensor is now sent detached, and the receiving server treats it as what it is, a value produced elsewhere. Reproduced locally on one GPU with a truncated head over two real shards, and fixed there before shipping.

  • A head that disappears no longer freezes your GPU. While a head drives your shard, PoW is paused on that GPU on purpose. Until now, a head that vanished without closing the connection, a killed container, a box that lost its network, left the session open forever, and the pause with it. Your miner looked alive and mined nothing. A session with no traffic for 120 s is now closed and PoW resumes. Heads send a keepalive on the control link every 30 s, so a head that is legitimately waiting for its links is never dropped by mistake.

  • Building from source no longer breaks on the second build. The build script decided a llama.cpp patch was already applied by trying to reverse it one by one. Our patches overlap, so on an already-patched checkout that test lied and the build failed. The applied set is now stamped, and the checkout is reset when the set changes. This only concerns people who build the miner themselves.

Reminder for shard holders

  • Ports 4001 (IPFS) and 60052 (shard gateway) open, TCP, inbound. If you use a custom gateway port, --shard-public must announce the port that actually reaches your miner.
  • A rig with several GPUs serves its shard from one GPU only. The others keep their copy for PoM. This is expected.
  • --force-model shard-N if your card is picked for the wrong shard, and --mine-when-not-synced against the public node.

How to join the testnet?

1/ Download the zip for your class and unzip it into the miner's models/ folder:

8 GB → shard 0 (5.9 GB) → https://huggingface.co/datasets/Keryx-Labs/models/resolve/main/V4-Flash-shard-0.zip 12 GB → shard 1 (9.9 GB) → https://huggingface.co/datasets/Keryx-Labs/models/resolve/main/V4-Flash-shard-1.zip 12 GB → shard 2 (9.9 GB) → https://huggingface.co/datasets/Keryx-Labs/models/resolve/main/V4-Flash-shard-2.zip 16 GB → shard 3 (13.8 GB) → https://huggingface.co/datasets/Keryx-Labs/models/resolve/main/V4-Flash-shard-3.zip 24 GB → shard 4 (19.8 GB) → https://huggingface.co/datasets/Keryx-Labs/models/resolve/main/V4-Flash-shard-4.zip 32 GB → shard 5 (27.4 GB) → https://huggingface.co/datasets/Keryx-Labs/models/resolve/main/V4-Flash-shard-5.zip

2/ A keryxtest: address created on the testnet web wallet: https://testnet.keryx-labs.com/wallet Same escrow procedure as on mainnet, with that address.

3/ Start the miner on testnet, against the public node: ./keryx-miner --testnet --mining-address keryxtest:xxxxxxxxxxxxxxxxxxxxxxxxxxxx --high --mine-when-not-synced --keryxd-address 169.58.155.203:22210 --shard-gateway 0.0.0.0:60052 --shard-public YOUR_PUBLIC_IP:60052

SRBMiner-MULTI v3.6.8

19 сент. 2026 г.
  • Hashrate improvement on 'pearlhash' for NVIDIA (mostly 3000 series) GPUs*

  • Added support for AMD ELLESMERE (RX4xx, RX5xx) GPUS on algorithm 'quantus'

  • Bug fixes


Soon, Pearl will be getting an upgrade that will make consumer-grade GPUs pretty much useless. This release is focused on maximizing hashrate on some GPUs; efficiency is not a priority.


Custom miner for Hiveos

To use it you need to select “Custom miner” when you create Flight Sheet and paste this into 'Installation url' : https://github.com/doktor83/SRBMiner-Multi/releases/download/3.6.8/srbminer_custom-3.6.8.tar.gz

After that you must set everything manually (--algorithm, --pool, --wallet) through the 'Extra config arguments' field by using parameters. Parameters list here : ( https://github.com/doktor83/SRBMiner-Multi/blob/master/Parameters )


Archive MD5 hashes d48c754b6b27d8e23632f113fdb0739f *SRBMiner-Multi-3-6-8-win64.zip e3b17f588f42261c815cdcd4f1b17e4c *SRBMiner-Multi-3-6-8-Linux.tar.gz