BlockchainAppMaker Get a quote

Blockchain

Bitcoin Mining Software: Firmware, Stratum, Pools and Fleet Management

Bitcoin mining software is the set of programs that runs ASIC miners, connects them to a pool and manages a fleet of machines. This guide explains each layer of the stack, the Stratum V1 and V2 protocols, pool payout schemes, what mining pool development involves, and the security risks of each layer.

CPU and GPU mining of Bitcoin has been unprofitable for more than a decade, so every section of this guide assumes ASIC hardware.

From CPUs to ASICs: why the hardware decides the software

Bitcoin mining hardware went through four generations, and each one made the one before it obsolete.

  • CPU (2009 to 2010). The original Bitcoin client mined on ordinary processors.
  • GPU (2010 to 2013). Graphics cards ran SHA-256 in parallel much faster, and miner programs such as CGMiner appeared.
  • FPGA (about 2011 to 2013). Programmable chips used less power per hash, but they were in use only for a short time.
  • ASIC (2013 onward). These chips compute only double SHA-256 and are many orders of magnitude more efficient than general-purpose chips.

A Bitcoin miner program that offers "multi-GPU support" or a "CPU mining mode" today is a warning sign. A desktop app for Windows, Linux or macOS that claims to mine Bitcoin at a profit on a home computer either mines another coin or is malware that uses the computer for someone else.

The four layers of Bitcoin mining software

1. Machine firmware

Every ASIC miner ships with firmware from its manufacturer that runs the hashing chips, the fans and the network interface. Many large operators replace it with aftermarket firmware such as Braiins OS, LuxOS or VNish.

Operators switch firmware for per-chip autotuning, power targets in watts, better heat control and newer pool protocols. Aftermarket firmware can void the warranty, and some builds charge a fee as a share of hashrate, so operators should read the terms before they flash a fleet.

Small open-source home miners such as the Bitaxe and NerdAxe run their own firmware. These devices mine at very low hashrate, and most owners connect them to solo pools for a small chance of finding a full block alone.

2. The pool protocol

Almost no one mines solo with serious hardware, because a single machine would on average wait many years to find a block. Miners join pools, and the miner and the pool talk over the Stratum protocol.

Stratum V1 sends plain JSON over TCP and is still the most common version. Its traffic is unencrypted, so an attacker on the network path can redirect hashrate, and the pool alone chooses which transactions go into each block.

Stratum V2 fixes both problems and uses an encrypted binary format that needs less bandwidth. A block template is the list of transactions that a miner tries to put into the next block. The Job Declaration protocol of Stratum V2 lets miners build their own templates, so the people who do the hashing choose the transactions.

Braiins OS, Auradine's FluxOS, Bitaxe and NerdAxe firmware support Stratum V2 natively. Braiins Pool and DMND run Stratum V2 in production, and DMND accepts templates chosen by miners. Bitcoin Core 30.0, released in October 2025, added an experimental mining interface that local Stratum V2 software can use to request templates from the node and submit blocks. Most fleets still mix both versions, so new software should speak both, usually through a translation proxy.

OCEAN uses a different protocol called DATUM, which also lets miners build their own templates. A DATUM Gateway talks to the miners, a local full node submits blocks, and the first transaction of each block, called the coinbase transaction, pays miners directly.

3. Pool and payout logic

A share is a hash that meets an easier target set by the pool, and shares prove how much work each miner did. A pool finds blocks at uneven intervals, and the payout scheme decides whether the pool or the miner carries the risk of a long gap between blocks.

SchemeHow it paysWho carries the luck risk
PPS (pay per share)A fixed amount for each valid share, whether or not the pool finds blocksThe pool, which charges a higher fee for it
FPPS (full pay per share)Like PPS, plus an estimate of transaction feesThe pool
PPLNS (pay per last N shares)Pays only when the pool finds a block, split across recent sharesThe miner, in exchange for a lower fee

The April 2024 halving cut the block subsidy to 3.125 BTC. Transaction fees are now a larger and more volatile part of revenue, so a miner should check whether a pool passes fees through.

4. Fleet management and monitoring

Fleet software finds machines on the network and pushes firmware and settings in bulk. It tracks each machine's hashrate against the expected value and flags hot boards and dead fans.

Fleet software also curtails power when electricity prices spike or a utility calls a demand-response event. Some sites curtail power automatically when real-time energy prices rise. Such sites need accurate, frequent power readings for each machine or rack, a topic covered in the IoT energy meter guide.

Bitcoin mining pool development

A mining pool is a server system, not a smart contract. A pool team builds or adapts six parts:

  • Full node. A Bitcoin node supplies block templates and broadcasts found blocks.
  • Stratum server. The server sends jobs to miners and receives their shares, over V1, V2 or both.
  • Share validation. The pool checks each share against the job and the share difficulty, and it adjusts each miner's difficulty to keep the share rate steady.
  • Accounting database. The database records shares per worker and computes balances under the chosen payout scheme.
  • Payout engine. The engine batches and signs payout transactions, or it pays miners in the coinbase transaction.
  • Dashboard and API. Miners see hashrate, shares, rejects and balances.

Open-source starting points include CKPool, Public Pool and the Stratum V2 Reference Implementation (SRI). A new pool needs enough hashrate to find blocks often, because a pool with little hashrate finds blocks rarely. A PPLNS pool then pays its miners rarely, and a PPS pool must pay its miners from its own capital until it finds a block.

Build, buy or customize Bitcoin mining software

ComponentUsual choiceWhen building makes sense
ASIC firmwareStock firmware or established aftermarket firmwareAlmost never. Chip-level work needs deep hardware access, and a mistake can disable the machine.
PoolJoin an existing poolWhen an operator has enough hashrate to find blocks often, or runs a pool as a business
Stratum proxyOpen-source proxies and the SV2 reference implementationWhen an operator needs custom routing, failover or accounting between sites
Fleet dashboardVendor tools or managers bundled with firmwareOften, to connect power contracts, SCADA systems and billing for hosting clients

Most operators buy the firmware and the pool software, because errors there can damage machines or lose blocks, and they build the parts that hold their own business rules.

Mining economics the software should show

Revenue per unit of hashrate is often called hashprice. Hashprice depends on the BTC price, the transaction fees and the network difficulty, which adjusts every 2,016 blocks. Cost depends mostly on the electricity price and the machine's efficiency in joules per terahash.

Fleet software should show these figures per machine and per site, so the operator can see when an older model costs more to run than it earns. Software should never show projected profit as certain, because difficulty has risen over long periods, and the BTC price can fall as fast as it rises.

Security and operational risks

  • Malicious firmware. Unofficial builds have been caught sending part of the hashrate to another wallet. Operators should check file hashes and download firmware only from the official source.
  • Exposed management panels. Miner web panels often keep default passwords and should never be reachable from the internet, so fleets belong on a separate network segment behind a VPN.
  • Changes to payout addresses. A change of pool credentials or payout address should require logging and a second approver.
  • Custody. Mined BTC still needs proper key management. The crypto wallet development guide covers custody options.

In this guide, "mining" means securing Bitcoin with proof of work. Issuing a new coin is a separate topic, which the Bitcoin minting guide and the cryptocurrency development guide cover.

Frequently asked questions

What is Bitcoin mining software?

Bitcoin mining software includes the firmware on each ASIC miner, the Stratum connection to a pool, the pool's own server software and the fleet tools that monitor and control many machines.

Can I mine Bitcoin profitably with a GPU or laptop?

No. Most of the network's hashrate comes from ASICs, so the difficulty matches ASIC speed. A GPU produces a tiny fraction of an ASIC's hashrate for each watt of power, so the electricity would cost more than the mining earns. GPUs still mine some other proof-of-work coins, but not Bitcoin.

Is aftermarket firmware legal and safe?

Aftermarket firmware is generally legal, but it can void the warranty, and some builds charge a fee as a share of hashrate. Use well-known firmware from its official source, test it on a few machines first, and keep a way to restore the stock firmware.

What does Stratum V2 change for a small miner?

For a small miner, Stratum V2 mainly adds encryption, which stops hashrate hijacking, and a binary format that uses less bandwidth. The ability to build block templates matters more to large miners and to the decentralization of the network.

Should a mining operation run its own pool?

Usually not, because a pool needs enough hashrate to find blocks often, or its payouts swing widely. Most operations gain more from good fleet management and power contracts than from running a pool.