# XMRig: CPU and GPU Miner for RandomX, KawPow, and CryptoNight

> XMRig is an open-source, cross-platform miner for RandomX, KawPow, CryptoNight, and GhostRider algorithms that runs on Windows, Linux, macOS, and FreeBSD. It supports CPU mining on multiple architectures and GPU mining via OpenCL and CUDA.

**xmrig/xmrig** — RandomX, KawPow, CryptoNight and GhostRider unified CPU/GPU miner and RandomX benchmark

- Repository: https://github.com/xmrig/xmrig
- Website: https://xmrig.com/
- Stars: 10,135 · Forks: 3,828
- Language: C
- License: GPL-3.0
- Published: 2026-09-21 · Updated: 2026-09-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/xmrig-xmrig

## What XMRig Does and Which Algorithms It Supports

XMRig is a CPU and GPU miner for four algorithm families: RandomX, KawPow, CryptoNight, and GhostRider. RandomX is the proof-of-work algorithm used by Monero. KawPow is used by Ravencoin. CryptoNight is used by various CryptoNote-based coins. GhostRider, which has its own README in the source tree, is a chained algorithm used by Raptoreum. The README describes XMRig as a unified miner, meaning a single binary handles all four algorithm families rather than requiring a separate tool for each. Official pre-built binaries are available for Windows, Linux, macOS, and FreeBSD on the GitHub releases page. The repository also provides a RandomX benchmark at xmrig.com/benchmark for measuring CPU performance independently of active mining.

## Mining Backends: CPU, OpenCL for AMD, and CUDA for NVIDIA

XMRig supports three distinct mining backends. The CPU backend works on x86, x64, ARMv7, ARMv8, and RISC-V architectures, which covers most modern processors. The OpenCL backend handles AMD GPU mining. The CUDA backend handles NVIDIA GPU mining, but the README notes it is available via an external CUDA plugin at github.com/xmrig/xmrig-cuda rather than being bundled in the main binary. This means NVIDIA GPU mining requires downloading and installing the separate CUDA plugin alongside the main XMRig binary. OpenCL support for AMD GPUs is included in the main binary. The command-line interface does not expose all features; the README recommends the JSON config file for full control, including per-algorithm mining profiles that cannot be set via command-line flags alone.

## Configuration: JSON Config File and the Wizard

The preferred configuration method is a JSON config file, which the README describes as more flexible and human-friendly than command-line options. The Wizard at xmrig.com/wizard generates an initial config.json by asking for your pool URL, wallet address, and algorithm preferences. The config file allows setting mining profiles for different algorithms with specific thread counts, CPU affinity, and intensity settings. Options that cannot be set from the command line, such as per-algorithm profiles and backend-specific tuning, are only available via the config file. The README notes that important options can be changed at runtime without restarting the miner by editing the config file or making API calls to XMRig's HTTP API. The Workers dashboard at workers.xmrig.info provides a web interface for managing multiple miners via the HTTP API.

## The Donation Model and the donate-level Option

XMRig includes a default donation of one percent, implemented as one minute of mining directed to the developer's pool for every 100 minutes of operation. The README states this can be increased via the donate-level option in the config file. The README also states it can be disabled in source code, meaning the only way to remove the donation entirely is to modify and recompile the source. The developer's XMR donation address is published in the README. The donate-level setting is documented in the config file reference at xmrig.com/docs/miner/config. Users who want zero donation must build from source and modify the relevant constant, which requires a C++ build environment and the CMake build system.

## Limitations: No Bitcoin Mining and No Built-In GUI

XMRig does not support Bitcoin's SHA-256 algorithm. Bitcoin mining requires dedicated ASIC hardware running manufacturer-specific firmware; a software miner on a general-purpose CPU or consumer GPU cannot produce competitive hash rates for Bitcoin. The same applies to Ethereum's former Ethash algorithm, now irrelevant after Ethereum's transition away from proof-of-work. XMRig has no graphical user interface; it is a command-line tool. The README mentions the Workers dashboard at workers.xmrig.info as an external management interface, but that requires the HTTP API to be enabled in the config. The README for XMRig is minimal compared to the external documentation site at xmrig.com/docs/miner, so many configuration details require visiting the external site. On macOS, some third-party anti-virus products may flag XMRig as a threat because the same binary is commonly deployed by malware on compromised systems.

## XMRig versus TeamRedMiner for AMD GPU Mining

TeamRedMiner is a miner focused specifically on AMD GPU mining for several algorithms. It is a closed-source binary distributed without charge. XMRig is open-source under GPL-3.0. For AMD GPU mining on algorithms supported by both tools, TeamRedMiner often publishes per-algorithm performance comparisons in its documentation. XMRig's advantage is its unified support for CPU and multiple GPU backends in a single binary, its open-source code that users can audit and modify, and its cross-platform support including ARM. TeamRedMiner runs only on AMD GPUs and does not support CPU mining. For CPU-only mining on RandomX, XMRig is the standard reference implementation, since RandomX was designed to be CPU-friendly and its reference implementation is closely tied to XMRig's development.

## Maintenance and Licence

The repository had its last push on 2026-09-27, one day before this article. Recent releases include v6.26.0 on 2026-03-28 and v6.25.0 on 2025-12-23. The repository is maintained by xmrig and sech1, listed in the README as the core developers. Contact options listed are support@xmrig.com, a Reddit presence at reddit.com/user/XMRig, and a Twitter account. XMRig is released under the GPL-3.0 licence, which means any redistributed modifications must also be released under GPL-3.0. The external documentation site at xmrig.com and the HTTP API at xmrig.com/docs/miner/api are maintained alongside the binary releases. The CUDA plugin at github.com/xmrig/xmrig-cuda is a separate repository and may not always have a release synchronized with the main binary.

## Conclusion

XMRig suits miners who need a configurable, open-source miner for RandomX or CryptoNight algorithms that runs on CPU, AMD GPU, or NVIDIA GPU. It is not the right tool for mining Bitcoin or Ethereum, as neither uses a supported algorithm. Before deploying it, configure a config.json file with your pool address, wallet address, and algorithm settings using the Wizard at xmrig.com/wizard, and review the donate-level option if the default one-percent donation is a concern.

## FAQ

### What does XMRig do?

XMRig is a miner for RandomX, KawPow, CryptoNight, and GhostRider algorithms. It directs CPU or GPU computation toward a mining pool that pays out cryptocurrency rewards when blocks are found. Configuration is done via a JSON config file specifying pool URL, wallet address, and algorithm settings.

### Can XMRig mine Bitcoin?

No. XMRig supports RandomX, KawPow, CryptoNight, and GhostRider. Bitcoin uses SHA-256, which is not in XMRig's supported algorithm list. Bitcoin mining requires SHA-256 ASICs that run purpose-built firmware.

### Can XMRig mine on CPU and GPU simultaneously?

Yes. XMRig supports three backends: CPU, OpenCL for AMD GPUs, and CUDA for NVIDIA GPUs via an external plugin. All backends can be configured in the same config.json file and run concurrently during the same mining session.

### How do I use XMRig?

Download a pre-built binary from the GitHub releases page for your operating system, use the Wizard at xmrig.com/wizard to generate a config.json with your pool and wallet settings, then run the xmrig binary from the command line. The JSON config file supports all options; the command line does not expose per-algorithm profiles.

## Sources

- [License: GPL-3.0](https://github.com/xmrig/xmrig/blob/master/LICENSE)
- [Project website](https://xmrig.com/)
- [README](https://github.com/xmrig/xmrig/blob/master/README.md)
- [Releases](https://github.com/xmrig/xmrig/releases)
- [xmrig/xmrig on GitHub](https://github.com/xmrig/xmrig)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/xmrig-xmrig
