Open-source project
RainbowMiner/RainbowMiner avatar
RainbowMiner/RainbowMiner

RainbowMiner: profit switching across pools, algorithms and miners

GPU/CPU Mining script with intelligent profit-switching between miningpools, algorithms, miners, using all possible combinations of devices (NVIDIA, AMD, CPU). Features: actively maintained, uses the top actual miner programs (Bminer, Ccminer, Claymore, Dstm, EnemyZ, Sgminer, T-rex and more) easy setup wizard, webinterface, auto update.

717 stars201 forksPowerShellGPL-3.0

At a glance

What is it?
RainbowMiner is a GPU and CPU mining script that picks the most profitable miner and pool combination for each rig, with a web interface on port 4000 and a 0.7 percent developer fee. It suits mixed hardware fleets rather than single product lines.
Who is it for?
RainbowMiner fits home operators with mixed NVIDIA, AMD, INTEL and CPU rigs who want automatic profit switching and a browser dashboard; it is a poor fit for a single algorithm farm or for anyone unwilling to depend on a hosted monitoring service.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly PowerShell, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.

Editorial analysis

Profit, not hash rate, decides which miner runs

RainbowMiner treats a mining rig as a scheduling problem. The project describes itself as a GPU and CPU mining script with intelligent profit switching between mining pools, algorithms and miner programs, using every combination of NVIDIA, AMD, INTEL and CPU devices. The switching decision is made on a profit calculation, and the cost of electricity per miner can be included in that calculation, with mining stopping once a coin is no longer worth mining. The intended reader is therefore a homelab operator or small farm running mixed hardware, not a facility running one algorithm on one ASIC generation. The control surface is a browser based web interface at localhost:4000, and a separate hosted service at rbminer.net offers central monitoring across rigs. Offline notifications can be sent by email or through pushover.net, which matters for a machine that sits in a closet rather than next to its owner. Optional watchdog scripts, StartWD.bat and startwd.sh, restart the whole stack after a crash.

Miners/, Pools/ and Modules/ carry the actual logic

The repository layout explains where the moving parts sit. Miners/ holds the miner programs that the project downloads and drives, including Bminer, Ccminer, Claymore, CryptoDredge, Dstm, EnemyZ, Ewbf, Gminer, NBminer, Sgminer, SrbMiner, T-Rex and Xmrig, with MinersOldVersions/ kept alongside it for previous builds. Pools/ carries the shipped pool definitions, and the pool list is long: 2Miners, Abelpool, Binance, F2pool, Nicehash, Luxor, Nanopool, SoloPool, ViaBTC, WoolyPooly and dozens more, with the choice of which algorithms to mine settable per pool. Modules/ holds the scripting logic, Data/ holds state, Includes/ and IncludesLinux/ hold platform includes, and DotNet/ holds the .NET tooling the PowerShell entry points rely on. Two details stand out: the documentation table points at Config\config.txt and Config\pools.config.txt, yet no Config directory appears in the top level listing, so those files appear to be created during install rather than shipped as a fixed tree.

Start.bat and the setup wizard get a rig running without config edits

The install path is script driven on both platforms, Install.bat for Windows and install.sh for Linux. The first run is described as clicking Start.bat and answering questions: the setup wizard asks for your pool credentials and is advertised as working with an ad-hoc default, so no configuration file has to be edited before mining starts. Helpers such as GPUtest.bat, CPUtest.bat and ListDevices.bat exist for probing hardware, and Stopp.bat, Reboot.bat, MinerLog.bat and RemoveLogs.bat cover the daily handling of a running rig. This is the first real use, and it is worth reading the top level of the repository before you start, because the entry points are numerous and the naming is not fully predictable. Every script is a separate entry point, and the presence of both Install.bat and install.sh, or InitClient.bat and initclient.sh, tells you that Windows and Linux are handled by parallel script sets rather than one cross platform runtime. The download itself is a release archive or the developer build master.zip, and no package manager or container image is offered.

Client and server mode for a spread of rigs

Running more than one machine changes the problem, and RainbowMiner answers it with a Client and Server mode. InitServer.bat and initserver.sh start the server side, InitClient.bat and initclient.sh start a rig that reports to it, and InitStandalone.bat with initstandalone.sh covers the single machine case. The stated reason for this design is that it minimizes internet traffic and avoids pool bans, which suggests the server brokers the pool connections on behalf of the clients rather than each rig talking to a pool directly. The trade-off is a single point of failure: if the server host goes down, the clients have nothing to report to. The web interface stays local on each machine, while the hosted monitoring service at rbminer.net provides the fleet view. Configuration is meant to be replicable, and a scheduler handles different power prices and pauses mining during specific timespans, which is the sort of rule a household with a metered tariff will want to change more than once.

Overclocking profiles, MSI Afterburner and HTTP device control

Device tuning is a first class part of the project rather than an afterthought. GPUs can be overclocked directly on memory, core, power limit and voltage, unlimited custom overclocking profiles can be stored per miner and algorithm, and MSI Afterburner profiles can be switched per miner and algorithm. Devices can be bound to or excluded from specific algorithms and miners, which is what makes one rig behave differently depending on which coin it is working on. The interesting piece is Doc/DEVICECONTROL.md, which lets home automation switch GPUs on and off with a single HTTP call, for example by room temperature, without changing the configuration. That is a genuine convenience, but it also means an HTTP endpoint can change what your hardware is doing, so the exposure of that interface is the operator's responsibility. The project also bundles OhGodAnETHlargementPill and reports very low CPU usage, the latter mattering when the CPU is one of the mining devices.

The 0.7 percent developer fee and the GPL-3.0 licence

RainbowMiner is not free of running costs. The feature list names a minimum developer fee of 0.7 percent, described as ten minutes per day, which is the mechanism by which the author is paid. On a rig that mines around the clock that is a small but permanent cut of every coin mined, and it is worth pricing against the electricity figure you feed into the profit calculation. The code is released under GPL-3.0, and the repository ships a LICENSE file alongside a SECURITY.md. That licence carries obligations for anyone who modifies and redistributes the script, though the wording of how the fee interacts with a modified build is not documented anywhere in the project files. The miner binaries also carry their own terms, since the miner programs and the pools are separate projects, and that fee line is the only place this cost is quantified.

Where RainbowMiner is the wrong tool

Several constraints make it a poor fit for some users. A farm dedicated to a single coin gains nothing from profit switching, and the breadth of pool and miner integration becomes overhead rather than benefit. The design leans on a hosted component, rbminer.net, for fleet monitoring, so operators who want all monitoring on their own hardware are partly dependent on a service they do not run. The published README does not document rollback, and it does not explain what happens to a rig when the automatic update fails, though Doc/UPDATE.md is pointed at for that topic. The wizard requires handing over pool credentials, which is a reasonable convenience for a personal rig and a larger question for anyone running shared accounts. The primary language is PowerShell, and much of the entry surface is a wide set of .bat and .ps1 files whose names are inconsistent, Stopp.bat being the clearest example. Patching something for your own farm means reading that script surface, not a clean API.

Updates and the release line through v5.0.3.6

Maintenance is visible in the release history rather than in promises. The last push was on 2026-10-20, and tag v5.0.3.6 shipped on the same day, following v5.0.3.5 and v5.0.3.4 on 2026-10-05, so two patch versions landed on a single afternoon. Updater.bat and Updater.ps1 implement the built in automatic update, and UpdateToMaster.bat points at the developer build, while Repair.bat, Repair.ps1 and ResetBenchmark.bat exist for recovering a rig whose state has gone wrong. The documentation table calls Doc/UPDATE.md the source of truth for updates and for the failure case of the automatic update, and states that the documentation set is kept current with every release. Reset and repair scripts being shipped as a matter of course says something about how often a mining rig ends up in a broken state.

Editorial conclusion

RainbowMiner fits home operators with mixed NVIDIA, AMD, INTEL and CPU rigs who want automatic profit switching and a browser dashboard; it is a poor fit for a single algorithm farm or for anyone unwilling to depend on a hosted monitoring service. Before adopting it, check that Doc/CONFIG.md covers the Config\config.txt keys you need, confirm the 0.7 percent fee is acceptable for a rig running all day, and read Doc/UPDATE.md to see what the automatic update does when it fails. The last push was on 2026-10-20 and release v5.0.3.6 shipped the same day, so the project is moving, but the README does not document rollback.

Frequently asked questions

Does RainbowMiner work on Linux as well as Windows?

Yes. The project states that it supports AMD, INTEL, NVIDIA and CPU devices on both Windows and Linux, and the repository ships parallel .sh scripts such as install.sh, initserver.sh and gputest.sh alongside the .bat files.

How much of my mining time does the RainbowMiner developer fee take?

The documented minimum developer fee is 0.7 percent, described as ten minutes per day, and the project also advertises a built in automatic update alongside it.

How do I add a pool that RainbowMiner does not ship?

Custom pools are maintained on the User Pools page of the web interface, and the procedure is described in Doc/USERPOOLS.md, with per pool settings such as which algorithms to mine kept in Config\pools.config.txt.

Can I run my own miner program instead of the ones RainbowMiner includes?

Yes. Custom miners can be integrated, and the import of HiveOS flight sheets is supported, with the details in Doc/CUSTOMMINERS.md.

Official sources

  1. Issues
  2. License: GPL-3.0
  3. RainbowMiner/RainbowMiner on GitHub
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/rainbowminer-rainbowminer.svg)](https://hysenlabs.com/projects/rainbowminer-rainbowminer)

Was this useful?