M
<=

MXGM v0.1.252 — an open-source Cuckatoo32 GPU miner

Published on: October 9, 2026

Author: Maxnflaxl ·

Tags: MXGM

The fast Grin GPU miners, GMiner and lolMiner, are closed source. The open one, the Cuckatoo Reference Miner, runs at less than half GMiner's speed.

MXGM is a Cuckatoo32 miner written from scratch in Rust and open source. It's faster than all three.

https://git.maxnflaxl.dev/maxnflaxl/MXGM

Speed

One RTX 4070 Ti SUPER, watts as the card reports them:

minerg/sWJ a graph
MXGM, --mclk 5001 --cclk 2300 --fan 301.339190.9141
MXGM, stock1.706280.6163
GMiner 3.44, its best (--mclk 5001 --cclk 2400)1.090174.8160
GMiner 3.44, stock1.29276.2214
lolMiner 1.98a, stock0.93219.7236
Cuckatoo Reference Miner 0.3.30.547217.4397

MXGM is the fastest miner at every setting I tried. GMiner at its best draws less power, but MXGM spends less per graph: 141 J to GMiner's 160. Numbers people sent me from an RTX 4060 and a GTX 1080 Ti are in benchmarks.md.

Changes since v0.1.164

  • 3–5% less energy per graph, and faster at every power cap and core clock tested (curves).
  • Windows: a card with no monitor attached now runs K=2, 1.51 g/s on an RTX 4070 Ti SUPER against 1.02 at K=4.
  • Windows: --tune and --report save to %LOCALAPPDATA%\mxgm instead of the current directory.
  • CUDA: lean and mean trimming. --trimming auto falls back to lean when slean doesn't fit.
  • Metal: slean, lean and mean.
  • Fixed dropped edges in the staged scatter of CUDA lean and mean, OpenCL and Metal. CUDA slean, the default, was not affected.
  • --benchmark reports steady-state joules per graph.
  • --tune no longer always recommends the lowest cap.

Apple Silicon

On Macs MXGM runs the reference miner's Metal kernels. Mean trimming is the fastest there: an M3 Max does 0.40 g/s, a little under a quarter of the 4070 Ti SUPER. Not worth mining with, but enough to try it on a laptop.

The reference miner in Rust

Last year the Grin forum discussed funding a Rust rewrite of NicolasFlamel1's Cuckatoo Reference Miner:

https://forum.grin.mw/t/request-for-funding-cuckatoo-reference-miner/12033

That attempt never produced a cycle that passed a correct verifier, and it stalled. MXGM does mean, slean and lean trimming like the reference miner and accepts its command-line flags. Its verifier is tested against Grin's known-answer vectors, with an optional cross-check against Tromp's reference solver.

Other things it does

  • CUDA on NVIDIA, OpenCL on other cards, Metal on Macs.
  • Picks the slean split that fits your card's VRAM, so 8 GB cards work without any config.
  • Multi-GPU.
  • TLS to the pool, reconnects, and failover to backup pools. Tested on 2Miners.
  • Overclocking from the command line: --pl, --cclk, --mclk, offsets, fan. Restored on exit.
  • A watchdog that exits with a restartable code if a card stalls, and a thermal pause.
  • --apiport serves a small browser dashboard and a /summary JSON endpoint.
  • lolMiner-style console and command line, so your scripts mostly just work.

Downloads

  • mxgm-v0.1.252-linux-x86_64.tar.gz: Linux x86-64, glibc 2.30 or newer
  • mxgm-v0.1.252-macos-arm64.tar.gz: macOS on Apple Silicon
  • mxgm-v0.1.252-windows-x86_64.zip: Windows x86-64

K=2, the fastest layout, needs a 16 GB card with no monitor attached. A card that drives a display runs K=4, about 1.0 g/s on an RTX 4070 Ti SUPER. On Linux, K=2 doesn't fit next to the display. On Windows, MXGM keeps 1 GB free on that card, because Windows would otherwise move the miner into system RAM whenever another program wants VRAM, and the rate can drop to 0.05 g/s. If Windows runs a game or browser on a card without a monitor ("High performance" in Windows' graphics settings), --slean-parts 4 keeps that card at K=4.

Verifying

gpg --verify SHA256SUMS.asc SHA256SUMS
sha256sum -c SHA256SUMS            # Linux
shasum -a 256 -c SHA256SUMS        # macOS
certutil -hashfile mxgm-v0.1.252-windows-x86_64.zip SHA256    # Windows: compare with SHA256SUMS

Each archive also has its own .asc. Signing key: A6EF 4605 FCE6 FD23 0262 EAA2 18CE ADAC 856C DB53 (Maxnflaxl [email protected]).

Dev fee

1%: one 36-second round per hour. The closed miners charge the same, so the open one costs you nothing extra.

Fee rounds get their own row in the stats and the API and never mix with your shares. --dev-fee raises it. Nothing lowers it.

What would help

Numbers from cards I don't own. Run

sudo mxgm --report

It benchmarks your card, measures the power curve and prints a markdown block. Root is only for the power curve, because setting the power limit needs it; without it you still get the benchmark. On Windows, use an Administrator terminal. Nothing is uploaded. Send me the block on any of my socials.

Download MXGM v0.1.252