RandomX, explained and indexed

RandomX is the proof of work that keeps Monero mineable on an ordinary CPU. This is a directory of it: how the algorithm works, what RandomX v2 changes, the variants and the coins built on them, and the miners and pools that run it — every figure from the source code, the specification or the project that published it.

A flat illustration of a processor chip in indigo and orange, its pins running out into circuit traces across the picture

Guide

What is RandomX? The CPU proof of work, explained

RandomX is the proof of work Monero has run since 30 November 2019: random programs executed in a virtual machine over a 2080 MiB dataset, built so that an ordinary CPU stays the efficient way to mine. How one hash is made, and why it needs that much memory.

A flat illustration of two blocks of small square cells standing side by side, one indigo and one orange

Guide

RandomX v2: what changes and when Monero switches

RandomX v2, released in March 2026, makes each hash about 53% more work — longer programs, AES in the main loop, a rarer rounding change and a deeper prefetch — for a small loss of hashrate. Monero has not switched yet: the change waits for a hard fork with no date set.

A flat illustration of three memory modules standing upright, each faced with a grid of orange square cells

Guide

How much memory does RandomX need?

RandomX needs 2080 MiB of shared memory to mine in fast mode, 256 MiB to verify in light mode, and a 2 MiB scratchpad for every mining thread. Where each figure comes from, what huge pages do for it, and how much free RAM a machine needs in practice.

A flat illustration of a bunch of keys of different shapes on rings, in indigo and orange, one fob cut with square cells

Guide

RandomX variants: rx/0, rx/2, rx/wow, rx/arq and more

RandomX is a family: Monero's rx/0 and the coming rx/2, and variants for Wownero, ArQmA, Graft, Safex and YadaCoin, each with its own salt and some with smaller scratchpads or shorter loops. What each RandomX variant changes, read from XMRig's source.

A flat illustration of plain round tokens in indigo and orange scattered over a ruled ledger page, a few stamped with small grids of square cells

Guide

Which coins use RandomX?

Monero is the coin RandomX was built for, but not the only one: XMRig's own coin table lists Monero, Zephyr and Townforge on standard RandomX, and Wownero, ArQmA, Graft and YadaCoin on variants of it. What each runs, and what such a list does not tell you.

A flat illustration of a ring of small houses around a round blue pool, each house joined to the next by a thin line

Guide

P2Pool: mining RandomX without a pool operator

P2Pool is a decentralised Monero pool: a sidechain of its own, merge-mined with Monero, that pays each miner straight from the block, with no fee and nobody holding the funds. Its main, mini and nano chains, what it needs to run, and how a RandomX miner connects.

A flat illustration of a small stationary engine with a large indigo flywheel and an orange housing pierced by a grid of square cells

Guide

XMRig: the RandomX miner, set up and explained

XMRig is the open-source miner most RandomX mining runs on: CPU first, with OpenCL for AMD and a plugin for NVIDIA, and official builds for Windows, Linux, macOS and FreeBSD. Its RandomX algorithm names, the settings that matter, and the 1% donation.

A flat illustration of a small box-shaped desktop computer with a screen of orange square cells, beside an indigo desk lamp

Guide

RandomX on Apple Silicon: what an M1 Mac can do

RandomX runs on Apple Silicon through its ARM64 JIT and hardware AES, but without the huge pages it gets on Linux: macOS on arm64 has no 2 MiB pages to give the dataset. What we measured on a Mac mini M1, and the ARM fix in RandomX 1.2.2 and 2.0.1.