Install. Start. The card mines and proves.
Ember finds your GPU, makes a wallet for you and runs the node, the miner and the prover as one app. Every hour it compiles the next program while the current one mines, so the card never stops.
Hash, prove, get paid
One client. The card hashes the lottery, proves the shards the chain assigns to it, and every block pays one address.
A new random program every hour. 80% of each block to the card that finds it.
The client switches to the shards the chain assigns to its keys, posts the proof, and goes back to hashing.
Block rewards and proving payouts land on the address the app made for you. The wallet shows them.
Every feature, one line each
What the app does today on the live devnet, and what is built but not yet measured on a card. Each number links to its engineering log entry.
Install, press Start
Five steps from download to the first block on a friend's laptop: drag to Applications, open, Get started, Make me an address, Start mining.
One button starts the node, waits for sync, starts one miner per card and the prover. Quit stops them in order.
NVIDIA through the driver, AMD and Intel through OpenCL, Apple silicon through Metal. Real card names, one worker per card.
A payout key made on your machine and locked to your user, with a backup step before mining starts. Or paste an address you already hold.
Every block this machine finds pays one address in IGN. The dashboard counts them per run, per hour and for life. The wallet shows the balance.
An installer on Windows, a disk image on macOS, a package on Linux. No toolchain, no driver work: the GPU workers are prebuilt.
A custom miner for farms: the Linux miner, node and both GPU workers with the four Hive hooks. Hive itself is untested: report what breaks.
An Apple silicon laptop, no instructions beyond the five steps: 33 accepted blocks in 7 minutes, 0 rejected, 21.0 MH/s average.
log · 4 Oct 2026An RTX 5090 on Windows from the installer: 117 to 119 MH/s, 34 accepted blocks in the first minute, CPU re-check OK on every share.
log · 4 Oct 2026Hashing and proving, switched by the client
The lottery and the proving are kept apart on purpose. The client runs both and the miner sees one balance.
Proving is a switch. On, the client proves the shards the chain assigns to this machine's keys, submits the record to its own node and goes back to hashing. The tile shows assigned, proving, submitted, paid.
Identities take turns on the card and each one votes and pays separately. 8 suits a big card, 2 a small one, 1 an integrated GPU.
The node announces the next seed early. The worker compiles the next program in the background and swaps at the boundary while the current one mines.
log · 4 Oct 2026| Card | Compile, ahead of time | Swap at the boundary | Rate before / after | Rejected |
|---|---|---|---|---|
| Apple M5 Max, Metal | 82 ms | 0.01 ms | 26.7 / 26.7 MH/s | 0 |
| RTX 5090, CUDA | 1,285 ms | 0.00 ms | 121.8 / 123.4 MH/s | 0 |
| AMD Radeon integrated, OpenCL | prepared | no restart | 2.74 / 2.74 MH/s | 0 |
Signed, over the air, at a safe moment
Every app updates itself. This is also how a consensus upgrade reaches every node before its activation height.
The manifest is signed with an Ed25519 key compiled into the app. The app verifies the bytes before it reads them, then checks the download's size and hash.
Node synced, no hourly boundary within 3 minutes, no worker starting. Machines take turns, each in its own minute of the hour, and never while the network lost over 30% of its identities in 10 minutes.
The download and the staging run while the card mines. The swap itself takes seconds. If the new version fails to start twice, the previous one comes back by itself.
At once when a consensus activation is within 1,800 blocks or the version is below the minimum supported, or when you click Install now.
The fleet tunes itself
Nothing here changes the hash. Every variant is the same program in a different shape for the compiler, checked bit for bit before it is timed.
At every hourly prepare the worker compiles the program in several shapes (unroll, load path, register budget, threads per group), times each for 2 seconds and keeps the fastest for the hour. Base keeps its place unless beaten.
log · 4 Oct 2026On the M5 Max, 256-thread groups ran 17.3% and 21.2% faster than base on two programs, under load from other work. The NVIDIA race is built and has not yet run on a GPU.
log · 4 Oct 2026, ratios under contentionEvery race is one record in the app log. The fleet's best variant per card model goes back out inside the signed update manifest, so a card starts from the known best and keeps racing.
Hash per watt, the number miners compare. The app steps an NVIDIA card's power cap from 100% to 50%, holds each step for 60 seconds on the live kernel and leaves the cap at the best MH per watt. Built and unit-tested; not yet run on a card.
A block built on a stale tip earns less. The miner is moving from polling to a template subscription and shorter jobs, so a new tip reaches the card in milliseconds. In progress, no number published yet.
Our own fleet only. A switch, "Allow remote jobs from Igneum (signed)", with the key's fingerprint beside it. Off aborts the running job and stops polling. Jobs run at most once each and only on the machines they name.
Watchdog, restart, clock
Measured against a worker that misbehaves on command: these are recoveries in seconds, not hash rates.
No status line for 90 seconds, or a hash rate of 0 for 60 seconds while synced: the miner is restarted once. If it recurs, that card is marked faulted with the reason and the other cards keep mining.
log · 4 Oct 2026A node that answers nothing for 120 seconds is restarted by the app, with a growing delay when it repeats. Measured: silent node to mining again in 160.0 s.
log · 4 Oct 2026Miners first, then the node, on quit and on update. What crashes comes back. A worker that restarts itself is left alone, so nothing is restarted twice.
A clock 60 seconds slow kept a node silently dead for 12 minutes. Now the app reads block times and an HTTPS Date header: over 5 seconds a warning, over 10 seconds Start is blocked and a Sync clock button appears.
log · 4 Oct 2026| What the worker did | What the app did | Back to mining |
|---|---|---|
| Reported 0 hashes | Restarted the miner once after the 60 s rule | 91.0 s |
| The same again inside five minutes | Marked the card faulted, no further restart; Resume cleared it | 75.4 s to faulted |
| The miner process stopped | Killed and restarted it after the 90 s rule | 101.4 s |
| The node process stopped | Restarted the node, which synced; mining resumed | 160.0 s |
The log and the bench table
Every number on this page has a row. Prototype numbers say so.
Every benchmark and test the project has made, with the hardware and the commands. Newest at the bottom.
/benchOne row per card, generator version and miner version: best MH/s, MH per watt where measured, the date and the log entry behind each number.
/minersThe app uploads its status lines once a minute under a per-install id. Rows marked "reported by the fleet" come from machines we do not own.
Why Igneum Ember stays ahead
Six levers, set on 4 October 2026. Each one is an idea in one line and a measured state. Nothing here claims fastest: the bench table says that, or it does not.
| Lever | The idea | Measured state |
|---|---|---|
| 1 · Race the compiler every hour | For each new program, five to ten kernel variants are compiled, benched for two seconds each, and the winner is kept for the hour. | Measured on the Mac's Metal worker: the winning variant +17.3% on the genesis seed and +21.2% on the hourly seed over the base compile, under load from other work. The RTX 5090 race is prepared and not yet run. Log, 4 Oct 2026 |
| 2 · Auto-tune that learns from the fleet | Apps report the race per card and program class. The best settings come back down through the signed update manifest as defaults, so the miner gets faster for everyone as the fleet grows. | Shipped. The fleet is still small, so no fleet table yet. |
| 3 · Hash per watt, not hash | A sweep per card finds the power point with the best MH per watt and holds it. Miners pay for electricity; that is the number they compare. | Shipped for NVIDIA cards through the power cap. Not yet run on a card; the first sweep on a 5090 is the owed measurement. Clocks are the next lever. |
| 4 · Template latency | Solo against the local node, a new template within 50 ms of a new tip, because a late block on a BlockDAG goes red and earns nothing. | Approximate, from the 0.3.6 release plan and not yet in the engineering log: switched p50 46 to 52 ms on a three-node CPU run, 5 Oct 2026. Ships in 0.3.6. |
| 5 · Never lose a second | Zero-loss hourly program swaps, fault guards, automatic restart, a CPU re-check of every found hash, per-worker health. | Shipped. Swap 0.01 ms on Metal and 0.00 ms on CUDA with 0 rejected blocks; recoveries in the table above. Log, 4 Oct 2026 |
| 6 · Prove it in public | The bench table per card, fed from the job channel. We claim fastest only when the table says so. | Live at /miners, one row per card, generator version and miner version, each with its log entry. |
The dev fee is the software's 1%, visible and switchable. The protocol carries no fee. The fee, in full view.
The fee, in full view
The protocol carries no fee: no dev fund, no fee to any team, foundation or fund. The software fee is the miner app's, like every other GPU miner's, and one flag turns it off.
The Ember software takes a visible, switchable 1% dev fee, the norm for GPU miners. One block template in 100 is requested with the dev payout address instead of yours. The fee goes to Igneum Labs LTD, the company that ships the software. The choice is a template counter, never a random draw, so it is exactly 1 in 100 and anyone can audit it from the source or from the chain. A fee block still adds to your finality weight; the only thing that moves is who the execution layer pays for that one block.
| Where | Off with |
|---|---|
| The app, Settings | the switch beside the rewards address |
| The command line | --dev-fee 0 |
| HiveOS, extra config | DEV_FEE=0 |
Measured on a test network, 4 Oct 2026: 9 fee blocks in the 785 blocks of two fee-paying miners (1.146%); the control miner at --dev-fee 0 paid none; the miners' counters and both nodes agree. The log entry.
The miner software's fee, the same way every GPU miner takes one. The protocol takes none. This switch turns it off.
dev fee 1% (1 block in 100) to 0x<address>; --dev-fee 0 turns it off
dev fee off (--dev-fee 0); the default is 1% (1 block in 100) to 0x<address>
Each fee block is logged as it is accepted. igneum-miner payouts lists blocks per payout address over every block the node holds, with the dev address tagged.
Get the miner
Download only from this domain. Nobody from Igneum will ask for your seed. Every file below is the one the app's signed manifest names, with its version and size.
Public testnet: not yet open; the devnet build is here for people who want to look.
Install on a Hive rig
Miner: Custom. Installation URL: https://dl.igneum.network/dl/public/igneum-hive-0.3.9.tar.gz. Miner name igneum, wallet and worker 0x<your 40-hex payout address>.%WORKER_NAME%, pool URL grpc://<your node>:26610 or local for the bundled node, extra config DEV_FEE=1 IDENTITIES=8 WORKER=auto VOTE=1. The Linux button above is the same archive: the Linux miner, node and both GPU workers. Hive itself is untested so far. Report what breaks.
sha256 7a58a30fd47c9ecb3d4aeaa0c0a464550f7e4b2b33eacf87512f1b72164c829e
Testnet coin for testing: the faucet sends 10 IGN per address per day. Any 4 GB card. The dataset starts at 2 GB and grows by half a gigabyte a year, approximate. Updates arrive signed; the app installs them itself. The wallet reads this machine's node when the miner is installed.
Read more in the litepaper