RandomX (Monero PoW Algorithm)
ASIC ResistantRandomX is the proof-of-work algorithm used by Monero (XMR) since November 2019. Designed specifically to be CPU-friendly and ASIC/GPU-resistant, RandomX executes a random program on a virtual machine — a fundamentally different approach from hash-based algorithms. It is widely considered the most successfully ASIC-resistant production PoW algorithm in use today.
How RandomX Works
RandomX generates a random program for each hash attempt and executes it on a virtual machine with floating-point and integer operations, branch instructions, and memory access patterns. The program is different for every nonce, preventing algorithmic optimisation by fixed-function hardware. The algorithm requires 2 GB of RAM in "fast mode" for maximum performance, or 256 MB in "light mode" with lower performance. CPUs with large L3 caches and high memory bandwidth perform best.
History & Evolution
Monero adopted RandomX following a series of earlier algorithm upgrades (CryptoNight and its variants) that were increasingly circumvented by ASIC manufacturers. RandomX was developed by Monero contributors Howard Chu, tevador, hyc, vielmetti, antanst, and SChernykh. Since its activation in November 2019, no viable ASIC has emerged for RandomX — making it the rare case of a PoW algorithm that has genuinely maintained CPU/GPU accessibility over several years.
Hardware Requirements
RandomX strongly favours modern CPUs, particularly those with large L3 caches (AMD EPYC/Threadripper series are highly efficient). GPUs achieve roughly 10–25% of the hashrate per watt compared to CPUs on RandomX, making CPU mining the dominant approach. Home miners can mine XMR on standard desktop or server CPUs. GPU mining XMR is possible but not the optimal choice.
Compatible Mining Software
Mining Pools for RandomX
P2Pool is a decentralised Monero mining pool with zero fees and direct coinbase payouts — strongly recommended for miners who value decentralisation. SupportXMR, MoneroOcean, and Nanopool are centralised alternatives with very low fees (0–0.6%). MoneroOcean supports multi-algorithm profit-switching, which can improve GPU miner returns.
How to Start Mining with RandomX
- Choose hardware — RandomX strongly favours modern CPUs, particularly those with large L3 caches (AMD EPYC/Threadripper series are highly efficient). GPUs achieve roughly 10–25% of the hashrate per w.
- Install mining software — compatible options include: XMRig (primary, open-source — no dev fee), XMR-Stak-RX (legacy), SRBMiner-MULTI, lolMiner (GPU OpenCL).
- Select a pool — P2Pool is a decentralised Monero mining pool with zero fees and direct coinbase payouts — strongly recommended for miners who value decentralisation. SupportXMR, MoneroOcean, and Nanopool are centrali.
- Configure stratum URL and wallet — set
stratum+tcp://pool-url:portas pool address and your XMR wallet address as the username/payout address. - Start mining and monitor — check accepted shares in the pool dashboard within 5–10 minutes of startup.
- Track profitability — use our live calculator to monitor earnings vs electricity costs.
Frequently Asked Questions
Why does Monero use RandomX instead of a simpler algorithm?
Monero's development philosophy prioritises decentralisation and egalitarian mining — anyone with a standard computer should be able to contribute to network security. SHA-256 and most other algorithms are dominated by expensive ASICs that concentrate mining power among large operators. RandomX was specifically designed to prevent this by requiring general-purpose CPU hardware with large caches and unpredictable execution patterns that cannot be efficiently hardcoded into fixed-function chips.
What CPU is best for RandomX mining?
AMD Ryzen Threadripper and EPYC processors with large L3 caches perform best. The Threadripper 3990X (256 MB L3) achieves ~70,000 H/s. Server CPUs like AMD EPYC 7742 can reach 40,000–50,000 H/s. Consumer CPUs like Ryzen 9 5950X achieve ~20,000 H/s. Intel CPUs perform significantly below AMD equivalents on RandomX due to smaller L3 cache sizes. An NVIDIA RTX 4090 achieves only ~19,000 H/s — worse than a mid-range desktop Ryzen.
Can I mine Monero in the background on my home PC?
Yes — RandomX is designed for exactly this use case. XMRig runs with a configurable thread count and CPU priority, allowing background mining while using your computer normally. Many users mine at 50–75% CPU threads to maintain desktop usability. At residential electricity rates, profits will be very small, but Monero mining does not damage standard CPUs and can be paused instantly. The P2Pool decentralised pool makes this even easier with no minimum payout.
Has RandomX ever been broken by ASICs?
No ASIC has been publicly released for RandomX as of 2026. The algorithm's requirement for a general-purpose virtual machine with unpredictable execution patterns has so far prevented the economic case for building fixed-function chips. Monero also has a history of hard-fork ASIC resistance — the community can change the algorithm if a viable ASIC ever appears. This track record has kept ASIC manufacturers from investing in RandomX chips.
What is P2Pool for Monero mining?
P2Pool is a decentralised mining pool protocol originally developed for Monero. Instead of a centralised pool operator managing payouts, P2Pool creates a separate "side chain" where miners collaboratively find blocks and are paid directly from the Monero coinbase transaction — the pool operator never holds funds. Fees are zero, and there is no minimum payout. P2Pool strengthens Monero's decentralisation by preventing large centralised pools from controlling network hashrate.