ALCHEMISTSminer guide

Back to the mine

Mining in the browser

The easiest way: open the mine, press Start mining and pick the power. CPU runs in any modern browser with the number of threads you choose; GPU uses WebGPU (Chrome or Edge on desktop) and an intensity slider that leaves the card idle between batches. A session wallet created in the browser signs the submits, so there are no wallet pop-ups every minute: fund it with a little ETH, and move the loot to your main wallet with one click when you want. The GPU self-test shows what your card does.

Two ways to sign. The session wallet is a key created in your browser: you fund it with a small amount and it submits on its own, no pop-ups, and you move the loot to your main wallet with one click. Your own wallet mines under your main address with nothing deposited anywhere, but every submit has to be confirmed in the wallet within the minute after the find, so you stay at the keyboard.

Limits. Set a maximum price per submit (the mine skips the minute when the price is higher), a budget for the run, the number of rounds (minutes) or submits, a minimum balance to keep in the wallet and the overpay margin that covers a price step between the quote and the block. Mining stops by itself when a limit is reached, when the vein is exhausted or when the mine is paused. The settings are remembered by your browser.

Everything below is the standalone miner for rigs and rented cards: it is faster per card, runs unattended and drives up to 32 addresses per card.

Two files

Source and releases: github.com/simonborel617-cmyk/alchemists-miner. The latest release carries hb-miner-linux-x64, alchemists-miner.exe and SHA256SUMS; verify the checksums before running anything.

hb-miner-linux-x64 computes hashes on an NVIDIA card under Linux (Turing, Ampere, Ada, Hopper; CUDA driver 12.4 or newer). alchemists-miner.exe (Windows) or python gpu-miner.py drives the card and submits finds to the contract. The card can live on another machine or in the cloud: the orchestrator talks to it over ssh.

FileRuns onDoes
hb-miner-linux-x64Linux + NVIDIASHA-256 for up to 32 addresses per card, one process
alchemists-miner.exeWindows, keys stay heresessions, submits, reveals, reports
miners.txtnext to the orchestratorone private key per line
deployments/robinhood.jsonnext to the orchestratorcontract addresses from the release

How it works

Every minute the mine issues a new challenge and a threshold in bits. The orchestrator sends the card one line, PARAMS <challenge> <threshold> <addr1,addr2,...>, and a single miner process hashes sha256(address ‖ nonce ‖ challenge) for all addresses in turn. When it finds a hash above the threshold for an address it prints FOUND addr=... nonce_dec=... bits=N and keeps looking only for something better for that address. In the next minute the orchestrator submits the best hash of every address and pays the current submit price in ETH. The type and tier of the ingredient are revealed one minute later; your next submit does the reveal.

One address can submit one find per minute, so a strong card is split across several addresses. They share one process, so the card's power is divided between them without loss. Every 10 seconds the miner prints STATS ... rate= in GH/s and the orchestrator shows it in its report.

Setup

  1. Miner wallets: one private key per line in miners.txt. Each needs ETH for gas and for the submit price. The starting price is 0.0002 ETH and it rises with mining.
  2. The card: copy hb-miner-linux-x64 to a Linux machine with an NVIDIA card and run ./hb-miner-linux-x64 --selftest. Expect SELF-TEST: PASS and SELF-TEST host: PASS.
  3. The orchestrator: put deployments/robinhood.json from the release next to alchemists-miner.exe.
./hb-miner-linux-x64 --addr 0x1111111111111111111111111111111111111111 \
  --challenge 0x4242424242424242424242424242424242424242424242424242424242424242 --benchsecs 20

Run

A card over ssh, all addresses from miners.txt:

alchemists-miner.exe --net robinhood --box "ssh -i C:/path/key -p PORT root@HOST ./hb-miner-linux-x64" --miners-file miners.txt

A local card under Linux:

python gpu-miner.py --net robinhood --box "./hb-miner-linux-x64" --miners-file miners.txt

Several cards: repeat --box for each one, every address goes to every card. Dry run without transactions: --dry. Stop: create a file named gpu-stop.txt next to the program.

What you will see

One line per minute with the challenge, threshold, unlocked tiers, ore and price, and a line submitted N bits ... revealed type T tier K for every submit. If the best hash of the minute is below the threshold there is no submit and nothing is spent. Every ten minutes a report by tier and the hashrate of every card.

Costs

Gas is about 300k per submit with reveal; at a 0.01 gwei base fee that is thousandths of a cent. The main cost is the submit price. It goes to the Cauldron and is visible in the contract as currentPrice(). The orchestrator pays with a 25 % margin and the contract refunds the excess in the same transaction.

Safety

Keys never leave the machine that runs the orchestrator: the card only receives public addresses. Do not run the orchestrator on a rented card. Your keys should live with you.