CGMiner

CGMiner is a historical open-source, command-line Bitcoin miner written in C. Its upstream repository describes the final code as a multi-pool FPGA and ASIC miner, records version 4.11.1 on 16 August 2018, and has been read-only since the owner archived it on 27 May 2020. It should not be presented as a currently maintained GPU or altcoin miner.[1][2]
Development and hardware scope
CGMiner began as a fork of Jeff Garzik's CPU miner and became widely used during the GPU and FPGA eras. Upstream later removed CPU and GPU mining because they were no longer efficient for Bitcoin; the final documentation focuses on FPGA and ASIC hardware, Stratum and GBT pool connections, device monitoring and a local control API.[3]
Release history
The upstream NEWS file dates version 1.0 to 9 May 2011. Version 1.2.4, released in July 2011, records the change to maintenance under the CGMiner name and a major rewrite incorporating GPU mining. As Bitcoin mining hardware specialized, version 3.0.0 removed CPU mining in April 2013, and version 3.8.0 removed GPU/OpenCL and Scrypt support in November 2013. The remaining upstream line concentrated on Bitcoin ASIC and FPGA devices; version 4.11.1 of August 2018 is the final NEWS entry.[2]
This history explains why descriptions of CGMiner as both a CPU/GPU program and an ASIC controller can each be accurate for different releases. Hardware support and command-line options must be tied to a version instead of treated as permanent features.
Pool and mining functions
The final upstream program could connect to multiple pools using Stratum or GetBlockTemplate and could mine solo through a local Bitcoin node. It supported failover, round-robin, rotation, load-balancing and quota-based pool strategies. CGMiner reported accepted and rejected work, hardware errors, pool status, block information and per-device performance.[3]
The program also detected supported devices, allowed devices to be enabled or disabled, and, where a driver exposed the controls, reported temperatures and adjusted clocks, voltage or fan behavior. These were operator controls rather than guarantees: available measurements and safe ranges depended on the exact miner and firmware.
Hardware support
The final README lists a broad but historical collection of drivers. Representative families included Avalon and BitBurner boards, Antminer U1/U2/U3 and early S-series devices, BitFury-based miners, Butterfly Labs products, Hashfast and KnCMiner hardware, along with several USB and serial FPGA/ASIC controllers. Inclusion in that list means an upstream driver existed at the archived version; it does not establish support for later models or current vendor firmware.[3]
Management API
CGMiner includes a text-based management API for monitoring and, when authorized, changing miner state. The API can return summaries, pool and device statistics and configuration information. Privileged command groups can switch pools or alter devices. By default, API access is intended for the local machine; network listening and address-based permissions have to be configured deliberately.[4]
The address restrictions are not encryption or strong user authentication. Exposing a privileged legacy API to an untrusted network can allow operational changes or disclose mining information. Remote monitoring should therefore be isolated by the surrounding host and network rather than relying only on the program's allow list.
Licence and configuration
CGMiner is distributed under the GNU General Public License version 3. Configuration can be supplied through command-line options or a JSON configuration file, and interactive changes can be written to a file. Configuration examples in the archived documentation preserve historical behavior but may contain pool endpoints, device settings or tuning assumptions that are no longer appropriate.[3]
Upstream project and forks
Programs using the CGMiner name for GPU mining, Decred, CryptoNight or other altcoins are forks or separate packages, not releases from Con Kolivas's archived upstream project. Their versions, maintainers, device support and security must be evaluated independently. A vendor's embedded miner or firmware is also not automatically an official CGMiner release.
Downloads and safety
The archived repository is the authoritative record of upstream source and history, but it is not an actively supported download channel. Old binary links use legacy infrastructure and should not be treated as a current recommendation. Avoid third-party executables advertised as a new CGMiner version; verify the exact repository, source and hardware vendor, scan files, and do not expose the control API to untrusted networks.[1]
References
- ↑ 1.0 1.1 ckolivas/cgminer, GitHub, retrieved 28 August 2026.
- ↑ 2.0 2.1 CGMiner NEWS, upstream repository, retrieved 28 August 2026.
- ↑ 3.0 3.1 3.2 3.3 CGMiner README, upstream repository, retrieved 28 August 2026.
- ↑ CGMiner API README, upstream repository, retrieved 28 August 2026.