Start mining
Three ways in
All three compute the same hash and submit to the same contract. They differ only in how fast they search, and every one of them needs a funded wallet — a submission costs an ETH fee on top of gas.
| hashrate | needs | good for | |
|---|---|---|---|
| Browser | 30 MH/s on WebGPU | nothing | trying it in a minute |
| CLI | 475 MH/s on CUDA | a Rust toolchain | actually mining |
| Agent | the same as the CLI | an MCP client | hands-off operation |
§1
Mine with the CLI
The fastest of the three. Needs a Rust toolchain; everything else it installs itself.
- 1
Install
One command. Nothing to clone.
shellcargo install --git https://github.com/noncepow/nonce-miners nonce-miner - 2
Make a wallet
The key is encrypted with a password into a standard V3 keystore at
~/.nonce/keystore.json— the same file geth and MetaMask read, so it is not trapped here.shellnonce-miner wallet newThere is no copy of the password anywhere. Lose it and the key goes with it.
- 3
Fund it
Send the address some ETH. Every submission costs a fee on top of gas, so a wallet with none cannot mine at all.
- 4
Check before you spend
Read-only. It answers, in one place, every question that otherwise costs you a failed run: chain reachable, contract present, key usable, how many submissions the balance covers, and whether a GPU is actually available.
shellexport NONCE_RPC_URL=https://rpc.testnet.chain.robinhood.com export NONCE_ADDRESS=0x2002DF653B8Fb6Eb5009D7e4FB59635D62211305 nonce-miner status - 5
Mine
shellnonce-miner --gpu # CUDA nonce-miner # all coresThe GPU path needs an Nvidia driver and nvrtc — no CUDA toolkit, because the kernel is compiled at runtime.
§2
Run with an agent
Eight MCP tools: status, protocol info, start and stop, claim, stake, unstake and strategy. Works with any MCP client — Claude Desktop, Claude Code, Cursor.
- 1
Add the server
Nothing to install:
npxfetches it. Put this in your client's MCP configuration.mcp config{ "mcpServers": { "nonce": { "command": "npx", "args": ["-y", "@noncepow/mcp-server"], "env": { "NONCE_RPC_URL": "https://rpc.testnet.chain.robinhood.com", "NONCE_ADDRESS": "0x2002DF653B8Fb6Eb5009D7e4FB59635D62211305", "NONCE_PRIVATE_KEY": "0x your key" } } } }Leave
NONCE_PRIVATE_KEYout and the server still runs, read only — status and protocol info work, mining and claiming do not. That is the right way to try it. - 2
Give it a GPU
On its own the server mines in-process at about 70 KH/s. If the
nonce-minerbinary is onPATHit drives that instead — 475 MH/s on a CUDA card. Rewards are split by score, so this is the difference between mining and appearing to.shellcargo install --git https://github.com/noncepow/nonce-miners nonce-miner - 3
Ask it to mine
In plain language. It will report the hashrate, your share of the last epoch, and what is still unclaimed.
promptCheck the NONCE protocol status, then start mining on the GPU.
§3
Mine in the browser
Nothing to install. Connect a wallet on the front page and press start — it uses WebGPU where the browser has it, and falls back to worker threads where it does not.
The check runs your browser's kernel against 64 digest vectors the contract itself produced. A kernel that disagrees by one byte finds solutions the contract rejects every time, which reads as bad luck and costs a fee on each attempt.
Before you commit hardware
Rewards are split among everyone who submits in an epoch, so what you earn depends on how many others are mining and on a price nobody can predict. Per-epoch variance is large, because the score of a best-of-N hash search is heavy-tailed: most epochs pay below average and a few pay far above it. Read the limitations first.