Ember, the miner
Before you download
Devnet only. No mainnet coin exists and devnet tokens have no monetary value.
Choose your card. See its measured hashrate, power, joules per hash, VRAM use, driver, dataset and evidence grade. Pending cards stay visible.
The Ember candidate supports Windows, Linux and HiveOS; Apple remains a tested preview. Every candidate records its source revision and checksum; every released build will also carry a signature. The miner fee is zero by default. Pool fees appear before connection.
Mine solo against your node or enter a pool endpoint. Ember tests the worker, selects the stored verified tune for a recognised card and reports when no verified tune exists, and reports every accepted or rejected share in plain words.
The release gate requires every supported production worker to reproduce its registered bench row before download; Ember 0.1.0 passed it and is published, signed with the release key.
Mine in one click: Ember 0.1.0, signed
Ember 0.1.0 at 879295c7 is published on the releases host and signed with the release key: each line below read 200 without credentials at 12:28 UK on 11 October 2026, the SHA256SUMS there carries these sums, and its SHA256SUMS.sig verified against the key on the record with the verify command below (the key's fingerprint SHA256:umhm59z0pvL2OCPwi0zl1VcRCr4poHILz9zbzWEGCLk; the public line and the allowed_signers file are on Verify it yourself).
ssh-keygen -Y verify -f allowed_signers -I igneum-release -n igneum-release -s SHA256SUMS.sig < SHA256SUMS
The packages
| platform | GPU family | status | required driver | verified cards |
|---|---|---|---|---|
| Linux | NVIDIA | released, 0.1.0, signed | the CUDA driver named in the stored row | RTX 5090 (the parity row on a rented card) |
| HiveOS | NVIDIA | released, 0.1.0, signed (the custom miner package on the Hive image) | the CUDA driver named in the stored row | the same row |
| Windows | NVIDIA | released, 0.1.0, signed | the driver named in the stored row | RTX 5060 Ti (the parity row) |
| Linux and Windows | AMD | the OpenCL worker exact; its product-path parity row pending | AMD 3683.0 (PAL), the driver of the stored rows | none on the product path yet |
| macOS | Apple silicon | released as a tested preview, 0.1.0, signed | macOS 27.0 Metal | M6 mini (a provisional product pass at 2 GiB) |
Evidence link pending for the stored rows above: they are linked the day their public URLs are named.
What Ember is
Ember is the miner. One command on Linux and HiveOS, an installer on Windows: it finds the cards, runs one worker process per card from its own install directory with the worker's checksum read against the release manifest, selects the stored verified tune for a recognised card (the operating point the bench found, not the one the card boots with) and reports when no verified tune exists, and mines a pool or your own node. The supervisor holds the payout address and the settings and never a key; a miner needs a payout address, not a wallet. The command line, ember, is the same program without a window.
The release interface is required to show, while the card mines: the rate, the energy per hash the card's telemetry reports or the wall figure if you entered a meter, what a day costs at your tariff, the state of every worker (warming, building the next dataset, mining, paused), and every accepted or rejected share with its reason; each of those rows is a requirement until its interface test passes. A rejection carries a word you can read: stale, duplicate, low difficulty, bad nonce, rate, bound, unauthorised, invalid.
The 0.1.0 candidate
The 0.1.0 candidate became the 0.1.0 release on 11 October 2026: the packages above are the candidate's bytes, signed with the release key. The rows below are the candidate's record.
| platform | the candidate | the worker | state |
|---|---|---|---|
| Linux | Ember 0.1.0, a tarball with the workers beside the binary; one-command install | the CUDA worker, the knee as its default, the warm prepare path | the parity row stored; released signed as 879295c7 |
| HiveOS | the same package and worker | the same | the one-command install on the Hive image; released signed as 879295c7 |
| Windows | the Ember executable, cross-built, with its CUDA worker | the knee as its default | launched on an RTX 5060 Ti under its own checksum and mined a window at the bench rate; released signed as 879295c7 |
| macOS | the Metal worker runs on Apple silicon under Ember's safe-Mac policy (no hashes on battery unless allowed, paused in Low Power Mode unless allowed, zero when asleep, thermally critical or under memory pressure) and the memory-pressure guard | the snapshot kernel, double the earlier Metal rate | not in the 0.1.0 candidate; the M6 mini holds a provisional product pass at 2 GiB, the M5 Max is open |
| AMD on Linux and Windows | the OpenCL worker on the corrected kernel | exact and spill-free on every class | The corrected AMD kernel is exact; the RX 9070 XT resource record and wall confirmation remain open; the AMD worker rows on the product path are the next parity rows |
The candidate reproduces byte-identical on a second builder: two machines produce the same five checksums (the earliest attempt differed on every artefact because the build script linked libraries in the filesystem's directory order; fixed as a layout change, never as a tolerance). The release is signed under the release signing key (fingerprint SHA256:umhm59z0pvL2OCPwi0zl1VcRCr4poHILz9zbzWEGCLk; the public line and the verify command are on Verify it yourself); its SHA256SUMS.sig is beside the packages, so every download line reads "signed".
What parity means
The release gate requires every supported production worker to reproduce its registered bench row before download. The bench rows are what every figure on this site rests on; a product that mines at a fraction of the bench is a different product, and on the morning of 11 October 2026 it was: the measured 5090 product path ran at about a third of its bench rate and nearly twice its energy per hash; other affected product rows were superseded. The knee is now the default in every worker, the old default tune is superseded, every earlier Ember rate on the record is superseded, and release parity applies only to the corrected knee configuration, in the auditor's words: "Supersede every earlier Ember/product-path performance figure using the 4096-slot default. Before release, require the production worker to reproduce the bench knee in repeated windows."
The parity row the candidate carries, three 60-second windows per document on each platform, every window within the 5 percent band of the card's bench:
| platform and card | the walk document | the relation document | grade |
|---|---|---|---|
| Linux, a stock RTX 5090 (rented) | 3.6 percent under the bench (scales with the result rate; a product-side row, not a gate) | within 0.4 percent | measured |
| Windows, RTX 5060 Ti | within 1.1 percent | within 1.1 percent | measured |
A new worker checksum carries a new parity row; the release check refuses a candidate with a blank line, so no candidate is offered without it. Stable repeats over longer windows stay a requirement, retained by the auditor, before anything is called released.
What was found and fixed on the way
Every fault below was found on the development chains in the hours before the candidate was packaged, and each was fixed as a class, with a test, before the next row ran:
- the launch tune: the workers' old slot count with no batched tail, every card at a fraction of its bench (the cause of the parity rule above);
- the worker's input loop read one line per burst, so under a fast chain it fell one message behind per block and the card idled after a cancel; the input is now drained in full;
- a worker reporting zero hashes is restarted after 30 seconds; the measurement target halves on every result instead of stepping once a minute; a source's thread is joined and the solo queue drained per template;
- the Windows build asked for a C++ runtime library it had linked dynamically (now static), and the Windows scan wanted a file suffix the fetch had dropped (Ember now also looks beside its own executable and names the directories it searched);
- on Apple, a retired epoch's dataset buffer was not released by the OS after a swap; the measured fix is allocation policy (the retired buffer kept and reused for the next epoch); the M6 footprint remained flat over thirty transitions; M5 Max closure remains open;
- Ember's thermal duty ladder reported 0.75 and 0.5 but mined at 1.0 and 0.75; the duty is now pacing, and the protection reduces at least what it reports;
- Ember's verifier kept host contexts for four epochs (up to 8 GiB at 2 GiB); it holds the current and the next epoch only.
Transitions: what the miner does when the relation changes
Ember supports a warm preparation path; it has passed on the tested CUDA worker and the M6 at 2 GiB. Unsupported memory configurations use the bounded cold path. On the warm path the worker builds the next epoch's dataset beside mining while the chain's schedule announces it, answers prepared, and swaps at the height. On a rented 5090 with the CUDA worker the swap cost zero boundary downtime and zero invalid work in both directions, with a 12 percent rate reduction during the 32-block preparation window while the next dataset is held; the cold path (build at the height) cost 17 to 21 seconds outward and one second returning, and stands as the bounded fallback. On the M6 mini the warm swap at 2 GiB takes about 40 ms; a 16 GB Mac at 4 GiB transitions cold (about 8 seconds), by configuration and not as a failure, which is one reason 2 GiB is the launch default. The record is on Succession.
What is not on this page
No launch-income table is shown. Research card rows remain visible with their measurement grade, on the home page's picker and on IgneumHash. The download is the signed release above, and every figure names its row and its grade as the rows on this site do. Evidence link pending: the miner's own record and the parity rows are linked from this page the day their public URLs are named.