# xmrig/xmrig

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/xmrig-xmrig).**

9,998 stars · 3,817 forks · C · GPL-3.0

## Links

- GitHub: https://github.com/xmrig/xmrig
- Homepage: https://xmrig.com/
- awesome-repositories: https://awesome-repositories.com/repository/xmrig-xmrig.md

## Topics

`argon2` `cpuminer` `cryptocurrency` `cryptonight` `miner` `monero` `randomx` `xmr` `xmrig`

## Description

XMRig is a multi-algorithm hashing tool and cryptocurrency miner that utilizes CPU, CUDA, and OpenCL hardware to execute hashing algorithms across multiple operating systems. It functions as a computational engine for mining cryptocurrency and benchmarking hardware efficiency.

The project includes a Stratum proxy server that routes mining traffic between worker clients and pools to optimize connectivity and balance load. It also provides a secured HTTP management API for monitoring hashrates and modifying miner configuration in real time without restarting the process.

The software covers a broad range of capabilities, including hardware acceleration for NVIDIA and OpenCL-compatible GPUs, remote instance management via access tokens, and encrypted network connectivity using SSL/TLS. It further incorporates operational data logging and a JSON-based configuration system for defining hardware and pool settings.

The codebase utilizes a multi-platform build system to produce native binaries for Windows, Linux, macOS, and FreeBSD.

## Tags

### DevOps & Infrastructure

- [Proof of Work Mining Clients](https://awesome-repositories.com/f/devops-infrastructure/proof-of-work-mining-clients.md) — Executes hashing algorithms using CPU and GPU hardware across multiple operating systems to earn cryptocurrency rewards. ([source](https://xmrig.com/docs/miner))
- [CPU Mining Software](https://awesome-repositories.com/f/devops-infrastructure/cpu-mining-software.md) — Provides a software tool that uses CPU hardware to execute hashing algorithms for cryptocurrency mining.
- [CPU Mining Configurations](https://awesome-repositories.com/f/devops-infrastructure/cpu-mining-configurations.md) — Optimizes mining algorithms for processors by tuning thread counts and memory page sizes. ([source](https://xmrig.com/docs/miner/command-line-options))
- [GPU Mining Configurations](https://awesome-repositories.com/f/devops-infrastructure/gpu-mining-configurations.md) — Provides JSON-based specifications for configuring GPU and CPU hardware to control mining execution. ([source](https://cdn.jsdelivr.net/gh/xmrig/xmrig@master/README.md))
- [Miner Management Interfaces](https://awesome-repositories.com/f/devops-infrastructure/http-api-interfaces/miner-management-interfaces.md) — Provides a secured HTTP API for real-time monitoring of hashrates and modification of miner configuration.
- [Proof of Work Mining Infrastructure](https://awesome-repositories.com/f/devops-infrastructure/proof-of-work-mining-infrastructure.md) — Defines hardware parameters and pool settings through JSON files to optimize mining performance.

### Scientific & Mathematical Computing

- [Cryptocurrency Hashing Engines](https://awesome-repositories.com/f/scientific-mathematical-computing/cryptocurrency-hashing-engines.md) — Functions as a multi-algorithm computational engine for executing cryptocurrency hashes and benchmarking hardware efficiency.

### Artificial Intelligence & ML

- [CUDA Mining Backends](https://awesome-repositories.com/f/artificial-intelligence-ml/hardware-acceleration-backends/cuda-mining-backends.md) — Leverages NVIDIA GPUs through a dedicated CUDA hardware backend for high-performance mining. ([source](https://xmrig.com/docs/miner/command-line-options))

### Hardware & IoT

- [GPU Mining Implementations](https://awesome-repositories.com/f/hardware-iot/gpu-mining-implementations.md) — Implements hardware-accelerated hashing leveraging NVIDIA CUDA and OpenCL compatible GPUs for high-performance mining.

### Networking & Communication

- [Mining Pool Connectivity](https://awesome-repositories.com/f/networking-communication/mining-pool-connectivity.md) — Manages authenticated connections to mining pools and daemons using URLs and encryption. ([source](https://xmrig.com/docs/miner/command-line-options))
- [Traffic Routing Proxies](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-infrastructure-configuration/network-infrastructure/traffic-routing-proxies.md) — Routes Stratum traffic between mining clients and pools to optimize connectivity and balance load.
- [Stratum Protocol Proxies](https://awesome-repositories.com/f/networking-communication/stratum-protocol-proxies.md) — Routes mining traffic between worker clients and pools to optimize connectivity and balance load.
- [HTTP Servers](https://awesome-repositories.com/f/networking-communication/http-clients/http-servers.md) — Ships a built-in HTTP server that allows users to retrieve real-time data and modify state without restarting. ([source](https://xmrig.com/docs/miner/api))
- [Proxy Servers](https://awesome-repositories.com/f/networking-communication/proxy-servers.md) — Includes a Stratum proxy server that acts as an intermediary between mining clients and pools.
- [Traffic Proxying](https://awesome-repositories.com/f/networking-communication/traffic-proxying.md) — Implements a routing mechanism to intercept and forward Stratum protocol traffic between clients and pools. ([source](https://xmrig.com/))

### Operating Systems & Systems Programming

- [OpenCL Accelerators](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-interfacing-drivers/hardware-acceleration/opencl-accelerators.md) — Utilizes OpenCL compatible GPU hardware for hash computation with specific platform and device targeting. ([source](https://xmrig.com/docs/miner/command-line-options))

### Software Engineering & Architecture

- [Hardware Abstraction Layers](https://awesome-repositories.com/f/software-engineering-architecture/hardware-abstraction-layers.md) — Decouples hashing logic from hardware by routing tasks to dedicated CPU, CUDA, or OpenCL execution providers.
- [JSON Configuration Schemas](https://awesome-repositories.com/f/software-engineering-architecture/application-lifecycle-management/configuration-management/configuration-formats-and-schemas/json-configuration-schemas.md) — Uses a structured JSON configuration system to define operational behavior and system state at startup.
- [Runtime Parameter Configurators](https://awesome-repositories.com/f/software-engineering-architecture/default-configuration-values/execution-parameter-configurations/application-parameter-configurators/runtime-parameter-configurators.md) — Allows updating operational parameters via JSON files or command line interfaces during runtime without restarts. ([source](https://xmrig.com/docs/miner))
- [Performance Benchmarking](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/performance-engineering/performance-benchmarking.md) — Measures computational speed and hashrates to evaluate processor efficiency for specific hashing algorithms.

### Part of an Awesome List

- [Cross-Platform Compilers](https://awesome-repositories.com/f/awesome-lists/devtools/cross-platform-compilers.md) — Compiles source code into native binaries for Windows, macOS, FreeBSD, and Linux distributions. ([source](https://xmrig.com/docs/miner/build))

### Development Tools & Productivity

- [Cross-Platform Build Systems](https://awesome-repositories.com/f/development-tools-productivity/cross-platform-build-systems.md) — Utilizes a cross-compiler setup to produce native binaries for Windows, Linux, macOS, and FreeBSD.

### Security & Cryptography

- [Hashrate Optimizations](https://awesome-repositories.com/f/security-cryptography/memory-hard-cryptographic-algorithms/hashrate-optimizations.md) — Optimizes hashrates by adjusting memory page sizes and thread counts based on hashing algorithm requirements.

### Testing & Quality Assurance

- [Hashing Performance Benchmarks](https://awesome-repositories.com/f/testing-quality-assurance/performance-testing-analysis/performance-diagnostics/performance-measurement/hashing-performance-benchmarks.md) — Provides benchmarking tools to measure processor computation speed and efficiency for specific hashing algorithms. ([source](https://xmrig.com/))
