igneum/site/index.html
igneum-josh c09ef74521 site-redesign: the package's look 1:1, header and footer included
The owner, 12:4x UK: "some things look different on the live site vs the one I sent you, match it 1:1". site/site.css is
now the package's design system as delivered (tokens, type, chrome, components, breakpoints) with self-hosted fonts, the
two text tokens for contrast on light surfaces, and a compatibility layer for the data pages' vocabulary. The header
and footer are the package's (status bar, logo with the ember stop, the six items, the Discover dropdown, the theme
toggle, the Download button, the burger and its sheet; the footer grid with the three icon links, Run, Read, Explore
and the legal line). The home, miner and wallet pages carry the package's markup on our content; the live page, the
explorer, the litepaper, the faucet, the MetaMask page and the generated pages take its values in their own blocks.
The theme is always set (stored, else the OS), so the package's light theme applies. Side-by-side sheets before and
after at 1440 px from tools/site-redesign/sheets.mjs; no sample data, no review chrome, the hero loop continuous.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:57:32 +01:00

284 lines
50 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
<title>Igneum, the GPU-mined layer 1</title>
<meta name="description" content="A GPU-mined chain whose mining program rewrites itself every hour. Miners also prove the blocks. No premine, no stake, no fee to any team.">
<link rel="canonical" href="https://igneum.network/">
<meta name="theme-color" content="#0C0C0E" media="(prefers-color-scheme: dark)">
<meta name="theme-color" content="#F4F1EC" media="(prefers-color-scheme: light)">
<meta property="og:type" content="website">
<meta property="og:site_name" content="Igneum">
<meta property="og:title" content="Igneum, the GPU-mined layer 1">
<meta property="og:description" content="A GPU-mined chain whose mining program rewrites itself every hour. Miners also prove the blocks. No premine, no stake, no fee to any team.">
<meta property="og:url" content="https://igneum.network/">
<meta property="og:image" content="https://igneum.network/og.png?v=3">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:alt" content="Igneum. Mined by GPUs. Proven by fire.">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Igneum, the GPU-mined layer 1">
<meta name="twitter:description" content="A GPU-mined chain whose mining program rewrites itself every hour. Miners also prove the blocks. No premine, no stake, no fee to any team.">
<meta name="twitter:image" content="https://igneum.network/og.png?v=3">
<meta name="twitter:image:alt" content="Igneum. Mined by GPUs. Proven by fire.">
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Crect width='1024' height='1024' fill='%230C0C0E'/%3E%3Cg transform='translate(166.95 166.95) scale(6.901)'%3E%3Cpolygon points='50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34' fill='%23F2541B'/%3E%3Cpolygon points='50,42 59,58 50,82 41,58' fill='%230C0C0E'/%3E%3C/g%3E%3C/svg%3E" type="image/svg+xml">
<link rel="icon" href="/favicon.ico" sizes="48x48">
<link rel="icon" href="/favicon-32.png" type="image/png" sizes="32x32">
<link rel="icon" href="/icon-192.png" type="image/png" sizes="192x192">
<link rel="icon" href="/icon-512.png" type="image/png" sizes="512x512">
<link rel="apple-touch-icon" href="/apple-touch-icon.png" sizes="180x180">
<link rel="manifest" href="/site.webmanifest">
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"Organization","name":"Igneum","url":"https://igneum.network/","logo":"https://igneum.network/icon-512.png","sameAs":["https://github.com/igneum-network"]}
</script>
<!-- head:start -->
<link rel="preload" href="/fonts/unbounded-900.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="/fonts/plex-sans-400.woff2" as="font" type="font/woff2" crossorigin>
<meta name="color-scheme" content="dark light">
<link rel="stylesheet" href="/site.css">
<style>
/* Shared by every page: the head partial, injected by the build between the head markers. Edit the partial, not the page. */
/* Fonts, self-hosted (latin subsets, OFL): Unbounded 500/700/900, IBM Plex Sans 400/500/600, IBM Plex Mono 400/500. Fallbacks carry size and ascent overrides so the swap does not move the layout. The tokens, type and components are in /site.css (docs/plans/site-ui-3.md). */
@font-face{font-family:'Unbounded';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/unbounded-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/unbounded-700.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/unbounded-900.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plex-sans-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plex-sans-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plex-sans-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plex-mono-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plex-mono-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Unbounded Fallback';src:local('Arial Black'),local('Arial-Black'),local('Impact');size-adjust:114%;ascent-override:87.5%;descent-override:21.5%;line-gap-override:0%}
@font-face{font-family:'Plex Sans Fallback';src:local('Arial'),local('Helvetica Neue'),local('Helvetica');size-adjust:100.5%;ascent-override:102%;descent-override:27.4%;line-gap-override:0%}
@font-face{font-family:'Plex Mono Fallback';src:local('Courier New'),local('Menlo');size-adjust:100%;ascent-override:102.5%;descent-override:27.5%;line-gap-override:0%}
</style>
<script>
/* theme before first paint: the footer control stores "light" or "dark" under igneum-theme; nothing stored means the system setting */
(function(){var t=null;try{t=localStorage.getItem("igneum-theme");}catch(e){}if(t!=="light"&&t!=="dark")t=window.matchMedia&&window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark";document.documentElement.setAttribute("data-theme",t);})();
</script>
<!-- head:end -->
<style>
/* home page block (7 Oct 2026, the redesign matched 1:1: the package's hero, live panel, features, economics, tools and CTA band on our content); tokens and components are in /site.css */
.live-peek .scene{position:relative}
.live-peek canvas{height:300px;touch-action:pan-y}
.tip{position:absolute;left:0;top:0;pointer-events:none;background:var(--graphite);border:1px solid var(--line-2);border-radius:8px;padding:11px 13px;font:10px/1.8 var(--mono);color:var(--ink-2);z-index:5;box-shadow:var(--shadow)}
.tip[hidden]{display:none}.tip b{display:block;color:var(--bone);margin-bottom:2px}
.lgi{width:10px;height:10px;border-radius:3px;display:inline-block;flex:none;position:relative;margin-right:6px}
.lgi.tick::after{content:"\2713";position:absolute;left:0;top:-4px;font-size:11px;color:var(--bone)}
#steps-caption{color:var(--ink-2);min-width:0;overflow-wrap:anywhere;font:10px/1.7 var(--mono)}#steps-caption.muted{color:var(--ash)}
.dl-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.dl-row a{display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;row-gap:2px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--row);color:var(--bone);font-weight:600;min-width:0;transition:border-color .2s,transform .2s}
.dl-row a:hover{border-color:var(--line-2);transform:translateY(-2px)}
.dl-row a.primary{background:var(--ember);border-color:var(--ember);color:var(--ember-ink)}
.dl-row a.primary:hover{background:var(--ember-hi)}
.dl-row a span{font:10px/1.6 var(--mono);opacity:.85;grid-column:2}
.dl-row a b{font-weight:600;grid-column:2}
.dl-row a .osmark{grid-row:1/3;grid-column:1}
.dl-row a.primary .osmark{color:#fff}
.stat .v.state{font:500 13px/1.4 var(--mono);color:var(--ash)}
@media (max-width:900px){.dl-row{grid-template-columns:1fr}}
</style>
</head><body>
<!-- nav:start -->
<a class="skip" href="#main">Skip to content</a>
<nav class="nav" aria-label="Main">
<div class="statusbar"><div class="container"><span><span class="dev-label">DEVNET</span>Coins have no value. The chain may reset.</span><span class="hide-phone"><span class="dot off" id="foot-dot"></span><span id="foot-state">devnet</span></span></div></div>
<div class="container nav-row">
<a href="/" class="logo" aria-label="Igneum home">
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
<span class="word">IGNEUM</span><span class="stop">.</span>
</a>
<div class="links" id="nav-links">
<a href="/litepaper" data-nav="litepaper">Litepaper</a>
<a href="/miner" data-nav="miner">Miner</a>
<a href="/app" data-nav="app">App</a>
<a href="/wallet" data-nav="wallet">Wallet</a>
<a href="/live" data-nav="live">Live devnet</a>
<a href="/ledger" data-nav="ledger">Ledger</a>
</div>
<details class="nav-dropdown"><summary>Discover<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></summary><div class="dropdown-body"><a href="/explorer">Explorer<small>Explore / /explorer</small></a><a href="/evidence">Evidence<small>Read / /evidence</small></a><a href="/bench">Engineering log<small>Read / /bench</small></a><a href="/miners">GPU bench table<small>Run / /miners</small></a><a href="/dev-fee">The dev fee<small>Run / /dev-fee</small></a><a href="/faucet">Testnet faucet<small>Run / /faucet</small></a><a href="/metamask">Add Igneum to MetaMask<small>Run / /metamask</small></a><a href="/journey">The journey<small>Explore / /journey</small></a><a href="/provenance">Built on the shoulders<small>Read / /provenance</small></a><a href="/claims">What Igneum does not claim<small>Read / /claims</small></a><a href="/randomx">Igneum vs RandomX<small>Read / /randomx</small></a></div></details>
<div class="nav-controls">
<button class="btn icon-btn" type="button" data-theme-toggle aria-label="Switch to light theme"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><circle cx="12" cy="12" r="4"/><path d="M12 2v2m0 16v2M2 12h2m16 0h2M5 5l1 1m12 12 1 1M5 19l1-1M18 6l1-1"/></svg></button>
<a href="/miner#get" class="btn primary small cta">Download</a>
<button class="burger" id="nav-burger" type="button" aria-expanded="false" aria-controls="nav-sheet" aria-label="Open the menu" aria-haspopup="true"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path class="bars" d="M4 6h16M4 12h16M4 18h16"/><path class="cross" d="m6 6 12 12M6 18 18 6"/></svg></button>
</div>
</div>
<div class="nav-sheet" id="nav-sheet">
<a href="/litepaper" data-nav="litepaper">Litepaper</a>
<a href="/miner" data-nav="miner">Miner</a>
<a href="/app" data-nav="app">App</a>
<a href="/wallet" data-nav="wallet">Wallet</a>
<a href="/live" data-nav="live">Live devnet</a>
<a href="/ledger" data-nav="ledger">Ledger</a>
<a href="/miner#get" class="btn primary">Download</a>
<a href="/explorer">Explorer</a>
<a href="/evidence">Evidence</a>
<a href="/bench">Engineering log</a>
<a href="/miners">GPU bench table</a>
<a href="/dev-fee">The dev fee</a>
<a href="/faucet">Testnet faucet</a>
<a href="/metamask">Add Igneum to MetaMask</a>
<a href="/journey">The journey</a>
<a href="/provenance">Built on the shoulders</a>
<a href="/claims">What Igneum does not claim</a>
<a href="/randomx">Igneum vs RandomX</a>
</div>
</nav>
<script>
(function(){
// the menu: open on the button, closed by any link, Escape (focus back on the button) or a resize past 860 px; the theme toggle flips data-theme and stores it
var n=document.querySelector('.nav'),b=document.getElementById('nav-burger'),s=document.getElementById('nav-sheet');if(!n||!b||!s)return;
function set(o){n.classList.toggle('open',o);b.setAttribute('aria-expanded',o?'true':'false');b.setAttribute('aria-label',o?'Close the menu':'Open the menu');}
b.addEventListener('click',function(){set(!n.classList.contains('open'));});
s.addEventListener('click',function(e){if(e.target.closest('a'))set(false);});
document.addEventListener('keydown',function(e){if(e.key==='Escape'&&n.classList.contains('open')){set(false);b.focus();}});
var mq=window.matchMedia('(min-width:861px)');if(mq.addEventListener)mq.addEventListener('change',function(){set(false);});
var t=n.querySelector('[data-theme-toggle]');
function paintToggle(){var dark=document.documentElement.getAttribute('data-theme')!=='light';t.setAttribute('aria-label',dark?'Switch to light theme':'Switch to dark theme');t.innerHTML=dark?'<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><circle cx="12" cy="12" r="4"/><path d="M12 2v2m0 16v2M2 12h2m16 0h2M5 5l1 1m12 12 1 1M5 19l1-1M18 6l1-1"/></svg>':'<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M20.7 13.3A8.5 8.5 0 0 1 10.7 3.3 8.5 8.5 0 1 0 20.7 13.3Z"/></svg>';}
if(t){t.addEventListener('click',function(){var v=document.documentElement.getAttribute('data-theme')==='light'?'dark':'light';document.documentElement.setAttribute('data-theme',v);try{localStorage.setItem('igneum-theme',v);}catch(e){}document.dispatchEvent(new CustomEvent('igneum-theme'));});paintToggle();document.addEventListener('igneum-theme',paintToggle);}
})();
</script>
<!-- nav:end -->
<main id="main">
<section class="hero"><div class="container"><div class="hero-grid"><div class="hero-copy"><div class="eyebrow"><span class="line"></span><em>Built for GPU miners</em> / devnet live</div><h1>Your GPU has<br><span class="accent">more to give.</span></h1><p class="lead">You already own the card. Igneum gives it a job worth doing: mine the block, prove it, watch it lock. One click installs the node, the miner and the prover.</p><div class="actions"><a href="/miner#get" class="btn primary glow-button">Download the miner<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 3v12m-5-5 5 5 5-5M5 16v4h14v-4"/></svg></a><a href="/live" class="btn ghost">Watch the devnet<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a></div><div class="hero-footnote"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m12 3 8 4v6c0 5-8 9-8 9s-8-4-8-9V7l8-4Z"/><path d="m8 12 3 3 5-6"/></svg>Devnet build. Coins have no value. The chain may reset.</div></div><div class="hero-scene"><canvas id="hero-gpu" aria-label="An illustration of a graphics card: a block lifts off it, four proof shards gather round the block, then a checkpoint cage locks it. The scene is drawn, not measured."></canvas><div class="scene-corner tl"><strong>IGNEUM / EMBER</strong>Your card becomes the network</div><div class="scene-corner tr"><strong id="scene-status">01 / Mining</strong>Illustration</div><div class="scene-corner bl"><strong id="scene-detail">The card runs this hour’s program. A block comes out.</strong>Drawn, not live telemetry. The live graph is below.</div><div class="scene-corner br">GPU &gt; BLOCK &gt; PROOF &gt; LOCK</div><div class="scene-steps" role="group" aria-label="Step through the work cycle" id="scene-steps"><button class="scene-step" type="button" data-stage="0" aria-pressed="true">01 Mine</button><button class="scene-step" type="button" data-stage="1" aria-pressed="false">02 Prove</button><button class="scene-step" type="button" data-stage="2" aria-pressed="false">03 Lock</button></div></div></div><div class="hero-bottom"><div class="principle"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><rect x="6" y="6" width="12" height="12" rx="2"/><rect x="9" y="9" width="6" height="6"/><path d="M9 2v4m6-4v4M9 18v4m6-4v4M2 9h4m-4 6h4m12-6h4m-4 6h4"/></svg><div><strong>Graphics cards only</strong><small>A new mining program every hour</small></div></div><div class="principle"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m12 3 8 4v6c0 5-8 9-8 9s-8-4-8-9V7l8-4Z"/><path d="m8 12 3 3 5-6"/></svg><div><strong>The miners are the provers</strong><small>Same card, two jobs, 80/20 of every block</small></div></div><div class="principle"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><circle cx="12" cy="12" r="9"/><path d="M7 17 17 7"/></svg><div><strong>No premine, no stake</strong><small>No fee to any team in the protocol</small></div></div><div class="principle"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m8 6-6 6 6 6m8-12 6 6-6 6M14 3l-4 18"/></svg><div><strong>Every claim has a status</strong><small><a href="/evidence">The evidence page</a> says how far each one is tested</small></div></div></div></div></section>
<section class="section rule compact" id="follow"><div class="container"><div class="section-head"><div><div class="eyebrow"><span class="line"></span>See what your card joins</div><h2>Follow the work.<br>See the chain grow.</h2></div><a href="/live" class="text-link">Open the observatory<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a></div><div class="panel live-peek"><div class="panel-head"><div class="eyebrow"><em>BLOCKDAG</em><span>/</span>The live devnet, one lane per miner.</div><span class="pill warm" id="dag-state">connecting</span></div><div class="scene"><canvas id="dag" aria-label="The live devnet's block graph: time-aligned miner lanes, every parent connection, the selected chain as one path, checkpoint bands as the observer reports them"></canvas><div class="tip" id="dag-tip" hidden></div><div class="chip-zoom" id="dag-chip" hidden>scroll to zoom · Esc to release</div></div><div class="panel-footer"><div class="legend"><span><i class="lgi" style="border:1.5px solid var(--included)"></i>Included</span><span><i class="lgi" style="border:1.5px solid var(--excluded)"></i>Excluded</span><span><i class="lgi" style="border:1.5px solid var(--ember);background:var(--ember-tint)"></i>Selected chain</span><span><i class="lgi tick"></i>Proven</span><span><i class="lgi" style="border:1.5px solid var(--ember);border-radius:50%"></i>Locked checkpoint</span></div><span id="steps-caption" aria-live="polite">Connecting to the devnet observer.</span></div></div><div class="stat-grid" style="margin-top:18px" id="facts" aria-live="polite"><div class="stat"><div class="key">Live now</div><strong id="f-hash">pending</strong><div class="small"><span id="f-keys">pending</span> vote keys mined a block in the last ten minutes; a card runs several</div></div><div class="stat"><div class="key">Proven and paid</div><strong id="f-paid">pending</strong><div class="small">shards proven and paid on the chain so far, <span id="f-paid10">pending</span> of them in the last ten minutes</div></div><div class="stat" style="grid-column:span 2"><div class="key">The chip model</div><strong>5x to 9x</strong><div class="small">Built for graphics cards. In our public model the strongest chip reaches 5x to 9x per joule against an RTX 5090 today; class v4, now on the vote, brings that to 2.1x to 3.9x, and class v5 makes the dataset the chain’s own state, so a chip that stores it or recomputes it is wrong on every item. <a href="/litepaper#chip-model">The model and every measurement are public.</a></div></div></div><div class="label-below"><span id="facts-note">One node is read every 2 s. The chip figures are a cost model, not a measurement.</span><a href="/explorer" class="text-link">Look a block up in the explorer<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a></div></div></section>
<section id="why" class="section rule">
<div class="container">
<div class="section-head">
<div><div class="eyebrow"><span class="line"></span>What miners asked for, 2018 to 2026</div><h2>Three things, in order.</h2></div>
<p>Twenty launch posts and threads, and the same three asks each time: hardware that keeps its value, income that does not fall off a cliff, a fair supply. The front page answers those three. Finality is on page two.</p>
</div>
<div class="grid-3">
<article class="feature reveal">
<div class="number">01<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><rect x="6" y="6" width="12" height="12" rx="2"/><rect x="9" y="9" width="6" height="6"/><path d="M9 2v4m6-4v4M9 18v4m6-4v4M2 9h4m-4 6h4m12-6h4m-4 6h4"/></svg></div>
<h3>Your card stays a card.</h3>
<p>The hash is a new random program every hour over a dataset the chain draws from its own state. No scheduled fork, no release a team must ship. The chip model and its number are published with every era on <a href="/evidence">/evidence</a>. When you stop, the card still games.</p>
<a href="/litepaper#mining" class="text-link">How mining works<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</article>
<article class="feature reveal">
<div class="number">02<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m12 3 8 4v6c0 5-8 9-8 9s-8-4-8-9V7l8-4Z"/><path d="m8 12 3 3 5-6"/></svg></div>
<h3>Income with no cliff.</h3>
<p>No halving day. The schedule glides month by month, then holds a steady share of supply for ever. A block pays its miner whether or not anyone buys a proof that day. What each card mines, and what its electricity costs, comes as one table when the testnet schedule is cut.</p>
<a href="/miner#card" class="text-link">What your card does here<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</article>
<article class="feature reveal">
<div class="number">03<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 2c1 5 6 7 6 12a6 6 0 0 1-12 0c0-3 2-5 3-7 0 3 2 4 2 4s3-4 1-9Z"/></svg></div>
<h3>A fair supply.</h3>
<p>No premine. No fund, no foundation, no fee to any team. Nobody holds a coin before block one. The founders mine from genesis with disclosed addresses and the same software as everyone else. The launch weeks ramp up from a low start, so they are worth less to a private farm.</p>
<a href="/litepaper#economics" class="text-link">The economics, as published<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</article>
</div>
<div class="label-below"><span>Blocks are final by miners alone, with no stake and no other chain.</span><a href="/litepaper#finality" class="text-link">How, on page two<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a></div>
</div>
</section>
<section class="section rule" id="economics"><div class="container"><div class="split-section"><div><div class="eyebrow"><span class="line"></span>The economic design, as published</div><h2>Made for the people running the hardware.</h2><p class="lead">Every block pays the card that found it and the cards that prove it. The protocol carves out nothing for a team, a foundation or a fund. No premine, no stake.</p><div class="actions"><a href="/litepaper#economics" class="btn ghost">Read the economics<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a><a href="/dev-fee" class="text-link">The software’s dev fee, in full view<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a></div></div><div class="panel reward-bars reveal"><div class="reward-row"><span class="mini-title muted">Each block, by the rule</span><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m12 3 9 5-9 5-9-5 9-5ZM3 8v9l9 5 9-5V8M12 13v9"/></svg></div><div class="reward-row"><strong>100<span class="accent">%</span></strong><span class="small">to miners and provers</span></div><div class="reward-bar" aria-label="80 percent to the miner, 20 percent to the proving pool"><i></i><i></i></div><div class="reward-key"><div><strong><span class="accent">80%</span> Mining</strong><span>to the card that found the block</span></div><div><strong><span class="molten">20%</span> Proving</strong><span>to the cards that prove it</span></div><div><strong>0% Treasury</strong><span>nothing to any team</span></div></div><p class="reward-note">The protocol rule, not an income forecast. Cap 4,000,000,000 IGN, halving every two years. Devnet coins have no value.</p></div></div></div></section>
<section class="section rule" id="explore"><div class="container"><div class="section-head"><div><div class="eyebrow"><span class="line"></span>Find your place</div><h2>A whole network to look round.</h2></div></div><div class="tools-grid"><article class="tool-card"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M20 8V4H5a3 3 0 0 0 0 6h15v10H5a3 3 0 0 1-3-3V7m18 5h-6v5h6"/><path d="M16 14.5h1"/></svg><h3>Keep what you earned.</h3><p>A desktop wallet that checks finality itself. Block rewards and proving payouts in one history.</p><a href="/wallet" class="text-link">The wallet<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a></article><article class="tool-card"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M3 3v18h18M7 16l4-5 4 2 6-8"/></svg><h3>See what your card does here.</h3><p>Measured hash rates per card, with the watts, the date and the log entry behind each number.</p><a href="/miners" class="text-link">The bench table<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a></article><article class="tool-card"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 5C9 3 5 3 2 4v15c3-1 7-1 10 1 3-2 7-2 10-1V4c-3-1-7-1-10 1v15"/></svg><h3>Understand the design.</h3><p>Mining, proving, finality, the economics and the open questions, in one readable paper.</p><a href="/litepaper" class="text-link">Read the litepaper<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a></article></div></div></section>
<section class="section rule" id="get"><div class="container"><div class="section-head"><div><div class="eyebrow"><span class="line"></span><span data-product="full">Igneum Ember</span> · one click</div><h2>Install. Start. The card mines.</h2></div><a href="/miner" class="text-link">Everything about the miner<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a></div><div class="dl-row"><a data-dl="miner-windows" href="https://dl.igneum.network/public/igneum-miner-windows.exe" class="primary"><svg class="osmark" viewBox="0 0 24 24" width="28" height="28" fill="currentColor" aria-hidden="true"><path d="M3 5.5l7.5-1v7H3zM11.5 4.3L21 3v8.5h-9.5zM3 12.5h7.5v7L3 18.5zM11.5 12.5H21V21l-9.5-1.3z"/></svg><b>Windows</b> <span data-dl-meta="miner-windows">v0.3.19 · 62.7 MB</span></a><a data-dl="miner-mac" href="https://dl.igneum.network/public/igneum-miner-mac.dmg"><svg class="osmark" viewBox="0 0 24 24" width="28" height="28" fill="currentColor" aria-hidden="true"><path d="M16.4 12.6c0-2.3 1.9-3.4 2-3.5-1.1-1.6-2.8-1.8-3.4-1.8-1.4-.1-2.8.8-3.5.8-.7 0-1.8-.8-3-.8-1.5 0-3 .9-3.8 2.3-1.6 2.8-.4 7 1.2 9.3.8 1.1 1.7 2.4 2.9 2.3 1.2 0 1.6-.7 3-.7s1.8.7 3 .7c1.3 0 2-1.1 2.8-2.3.9-1.3 1.2-2.6 1.3-2.6-.1 0-2.5-.9-2.5-3.7zM14.1 5.8c.6-.8 1.1-1.9.9-3-.9 0-2 .6-2.7 1.4-.6.7-1.1 1.8-1 2.9 1.1.1 2.1-.5 2.8-1.3z"/></svg><b>macOS</b> <span data-dl-meta="miner-mac">v0.3.19 · 42.1 MB</span></a><a href="/miner#get"><svg class="osmark" viewBox="0 0 24 24" width="28" height="28" fill="currentColor" aria-hidden="true"><path d="M12 2c-2.4 0-4 1.9-4 4.6 0 1.2.2 2 0 2.8-.6 1.4-2.1 2.9-2.6 4.9-.3 1.1-.1 2 .3 2.6-.6.4-1.3 1-1.1 1.7.3 1 2.1 1.2 3.2 1.8.7.4 1.5.6 2.1.1.6.2 1.3.3 2.1.3s1.5-.1 2.1-.3c.6.5 1.4.3 2.1-.1 1.1-.6 2.9-.8 3.2-1.8.2-.7-.5-1.3-1.1-1.7.4-.6.6-1.5.3-2.6-.5-2-2-3.5-2.6-4.9-.2-.8 0-1.6 0-2.8C16 3.9 14.4 2 12 2zm-1.4 4.2c.5 0 .8.5.8 1.2s-.3 1.2-.8 1.2-.8-.5-.8-1.2.3-1.2.8-1.2zm2.8 0c.5 0 .8.5.8 1.2s-.3 1.2-.8 1.2-.8-.5-.8-1.2.3-1.2.8-1.2zM12 9.3c.9 0 1.9.5 1.9 1s-1 1.2-1.9 1.2-1.9-.7-1.9-1.2 1-1 1.9-1zm0 3.4c2.2 0 3.6 2.6 3.6 4.4 0 1.5-1.6 2.3-3.6 2.3s-3.6-.8-3.6-2.3c0-1.8 1.4-4.4 3.6-4.4z"/></svg><b>Linux · HiveOS</b> <span>on the miner page</span></a></div><p class="notice" data-devnet-notice><b>Devnet.</b> Coins have no value and the chain may be reset.</p><p class="notice" data-testnet-notice>Public testnet: not yet open; the devnet build is here for people who want to look. The public testnet is weeks away: three seed nodes and the public RPC are up, and it opens when the go checklist closes.</p><p class="notice"><a href="/miner">Read more about the miner</a>. The protocol carries no fee. The one payment to the project is the Ember software’s optional 1% dev fee, like other GPU miners, off with one flag. Download only from this domain. Nobody from Igneum will ask for your seed. Questions: <a href="https://discord.gg/igneum" rel="noopener">the Discord</a>.</p></div></section>
<section class="section compact" id="next"><div class="container"><div class="cta-band reveal"><div><div class="eyebrow"><span class="line"></span>Your next block starts here</div><h2>Give your GPU<br>something to do.</h2><p>Download Ember, watch the devnet, and tell us what breaks. The people on the Discord run cards like yours.</p></div><div><div class="actions"><a href="/miner#get" class="btn primary glow-button">Get the miner<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 3v12m-5-5 5 5 5-5M5 16v4h14v-4"/></svg></a><a href="/live" class="btn ghost">Watch the devnet<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a></div><p class="small">Experimental software. No promise of earnings.</p></div></div></div></section>
<section class="section compact" id="ledger"><div class="container"><div class="ledger-line"><p>Every criticism, answered or conceded, and <a href="/claims">what Igneum does not claim</a>.</p><a href="/ledger" class="btn">The ledger</a></div></div></section>
</main>
<!-- footer:start -->
<footer class="site-footer">
<div class="container">
<div class="footer-grid">
<div class="footer-brand">
<a href="/" class="logo" aria-label="Igneum home"><svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg><span class="word">IGNEUM</span><span class="stop">.</span></a>
<p>Mined by GPUs. Proven by fire.</p>
<div class="social" aria-label="Igneum elsewhere">
<a href="https://github.com/igneum-network/spec" target="_blank" rel="noopener" aria-label="Igneum on GitHub: the spec, the vectors and the issues"><svg viewBox="0 0 24 24" width="22" height="22" fill="currentColor" aria-hidden="true"><path d="M12 .5C5.7.5.5 5.7.5 12c0 5.1 3.3 9.4 7.9 10.9.6.1.8-.3.8-.6v-2.1c-3.2.7-3.9-1.4-3.9-1.4-.5-1.3-1.3-1.7-1.3-1.7-1-.7.1-.7.1-.7 1.2.1 1.8 1.2 1.8 1.2 1 1.8 2.7 1.3 3.4 1 .1-.8.4-1.3.7-1.6-2.6-.3-5.3-1.3-5.3-5.7 0-1.3.5-2.3 1.2-3.1-.1-.3-.5-1.5.1-3.1 0 0 1-.3 3.2 1.2.9-.3 1.9-.4 2.9-.4s2 .1 2.9.4c2.2-1.5 3.2-1.2 3.2-1.2.6 1.6.2 2.8.1 3.1.8.8 1.2 1.8 1.2 3.1 0 4.4-2.7 5.4-5.3 5.7.4.4.8 1.1.8 2.2v3.2c0 .3.2.7.8.6 4.6-1.5 7.9-5.8 7.9-10.9C23.5 5.7 18.3.5 12 .5z"></path></svg></a>
<a href="https://discord.gg/igneum" target="_blank" rel="noopener" aria-label="The Igneum Discord"><svg viewBox="0 0 24 24" width="22" height="22" fill="currentColor" aria-hidden="true"><path d="M19.6 5.3A17 17 0 0 0 15.4 4l-.2.4a15.6 15.6 0 0 1 3.9 1.9 13.6 13.6 0 0 0-14.2 0A15.6 15.6 0 0 1 8.8 4.4L8.6 4a17 17 0 0 0-4.2 1.3C1.8 9.2 1.1 13 1.4 16.7a17.1 17.1 0 0 0 5.2 2.6l1.1-1.8a10.8 10.8 0 0 1-1.7-.8l.4-.3a12.2 12.2 0 0 0 11.2 0l.4.3-1.7.8 1.1 1.8a17 17 0 0 0 5.2-2.6c.4-4.3-.7-8-3-11.4zM8.7 14.4c-1 0-1.8-.9-1.8-2.1s.8-2.1 1.8-2.1 1.9 1 1.8 2.1c0 1.2-.8 2.1-1.8 2.1zm6.6 0c-1 0-1.8-.9-1.8-2.1s.8-2.1 1.8-2.1 1.9 1 1.8 2.1c0 1.2-.8 2.1-1.8 2.1z"></path></svg></a>
<a data-social="reddit" href="https://www.reddit.com/user/Igneum_network/" target="_blank" rel="noopener" aria-label="Igneum on Reddit"><svg viewBox="0 0 24 24" width="22" height="22" fill="currentColor" aria-hidden="true"><path d="M22 12.1a2.2 2.2 0 0 0-3.7-1.6 10.8 10.8 0 0 0-5.8-1.8l1-4.6 3.2.7a1.5 1.5 0 1 0 .2-.9l-3.6-.8a.5.5 0 0 0-.5.4l-1.1 5.2a10.8 10.8 0 0 0-5.9 1.8A2.2 2.2 0 1 0 3.4 14a4.3 4.3 0 0 0 0 .7c0 3.4 3.9 6.1 8.6 6.1s8.6-2.7 8.6-6.1a4.3 4.3 0 0 0 0-.7 2.2 2.2 0 0 0 1.4-1.9zM7 13.6a1.5 1.5 0 1 1 1.5 1.5A1.5 1.5 0 0 1 7 13.6zm8.6 4.1a5.7 5.7 0 0 1-3.6 1.1 5.7 5.7 0 0 1-3.6-1.1.4.4 0 0 1 .6-.6 4.9 4.9 0 0 0 3 .9 4.9 4.9 0 0 0 3-.9.4.4 0 0 1 .6.6zm-.3-2.6a1.5 1.5 0 1 1 1.5-1.5 1.5 1.5 0 0 1-1.5 1.5z"></path></svg></a>
</div>
<a href="https://github.com/igneum-network/spec" target="_blank" rel="noopener" class="text-link">Specification and test vectors<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M6 18 18 6M6 6h12v12"/></svg></a>
</div>
<div class="footer-column"><h4>Run</h4><div>
<a href="/miner#get">Get Ember</a>
<a href="/miner">The miner</a>
<a href="/app">The app</a>
<a href="/wallet">The wallet</a>
<a href="/miners">GPU bench table</a>
<a href="/dev-fee">The dev fee</a>
<a href="/faucet">Testnet faucet</a>
<a href="/metamask">Add Igneum to MetaMask</a>
</div></div>
<div class="footer-column"><h4>Read</h4><div>
<a href="/litepaper">Litepaper</a>
<a href="/evidence">Evidence</a>
<a href="/bench">Engineering log</a>
<a href="/ledger">Ledger: every criticism</a>
<a href="/claims">What Igneum does not claim</a>
<a href="/randomx">Igneum vs RandomX</a>
<a href="/provenance">Built on the shoulders</a>
</div></div>
<div class="footer-column"><h4>Explore</h4><div>
<a href="/live">Live devnet</a>
<a href="/explorer">Explorer</a>
<a href="/journey">Journey</a>
<a href="/miner#get">Downloads: devnet build</a>
<a href="https://discord.gg/igneum" target="_blank" rel="noopener">Community Discord</a>
<a href="mailto:hello@igneum.network">hello@igneum.network</a>
<a href="https://github.com/igneum-network/spec/issues" rel="noopener">An issue on the spec</a>
</div></div>
</div>
<div class="footer-bottom">
<p>Igneum Labs LTD · Unit IH-00-01-01-OF-01, Level 01, Innovation One, Dubai International Financial Centre. Experimental software. Nothing on this site is an offer to sell anything.<br>Report a flaw by email or by an issue on the spec. Nobody from Igneum will ask for your seed. © 2026 Igneum · not an offer to sell anything</p>
<div class="theme-group" role="group" aria-label="Theme"><button type="button" data-theme-set="system" aria-pressed="true">System</button><button type="button" data-theme-set="light" aria-pressed="false">Light</button><button type="button" data-theme-set="dark" aria-pressed="false">Dark</button></div>
</div>
</div>
</footer>
<script>
(function(){
// theme control: stores light or dark under igneum-theme; system clears it and follows the OS. The head applied the value before paint.
var bs=document.querySelectorAll('[data-theme-set]');if(!bs.length)return;
var media=window.matchMedia('(prefers-color-scheme: light)');
function stored(){try{var t=localStorage.getItem('igneum-theme');return t==='light'||t==='dark'?t:'system';}catch(e){return 'system';}}
function apply(){var c=stored();document.documentElement.setAttribute('data-theme',c==='system'?(media.matches?'light':'dark'):c);bs.forEach(function(b){b.setAttribute('aria-pressed',b.getAttribute('data-theme-set')===c?'true':'false');});document.dispatchEvent(new CustomEvent('igneum-theme'));}
bs.forEach(function(b){b.addEventListener('click',function(){var v=b.getAttribute('data-theme-set');try{if(v==='system')localStorage.removeItem('igneum-theme');else localStorage.setItem('igneum-theme',v);}catch(e){}apply();});});
if(media.addEventListener)media.addEventListener('change',function(){if(stored()==='system')apply();});
document.addEventListener('igneum-theme',function(){var c=stored();bs.forEach(function(b){b.setAttribute('aria-pressed',b.getAttribute('data-theme-set')===c?'true':'false');});});
bs.forEach(function(b){b.setAttribute('aria-pressed',b.getAttribute('data-theme-set')===stored()?'true':'false');});
// the network state word in the status bar: one read of the observer per page view
var fs=document.getElementById('foot-state'),fd=document.getElementById('foot-dot');if(fs&&fd){fetch('/api/live?window=30',{cache:'no-store'}).then(function(r){return r.json();}).then(function(d){var on=d&&d.ok&&d.state&&!d.state.stale;fs.textContent=on?'devnet live':'devnet, observer stale';fd.className='dot '+(on?'live':'off');}).catch(function(){fs.textContent='devnet';});}
})();
</script>
<!-- footer:end -->
<!-- journey:start -->
<script type="application/json" id="journey-data">{"updated":"2026-10-06","stage":"phase-3","phases":[{"id":"phase-1","name":"Specification","when":"Under way; closes when the specification is out for external review","status":"active","line":"Mining generator, shard proving, finality rules, written for external review"},{"id":"phase-2","name":"Prove the proving","when":"Under way; closes at its gate","status":"active","line":"Mining program proven on Apple, NVIDIA and AMD; shard proving benchmark on consumer cards still to run","gate":"A fixed published workload, job received to accepted proof on a declared consumer card, sustained with no growing backlog, reproduced by three independent operators"},{"id":"phase-3","name":"Devnet","when":"Live since 3 October 2026; closes at its gate","status":"active","line":"BlockDAG node mining on the new program, GPU miners on three vendors, EVM execution in build","gate":"1 block a second held with proofs under 60 s behind the tip"},{"id":"phase-4","name":"Finality and job market","when":"Closes when the finality design passes external review","status":"next","line":"Sustained-mining finality, external proving jobs, miner client with auto-switching","gate":"Finality design passes external review"},{"id":"phase-5","name":"Public testnet","when":"Weeks away: when the go checklist closes","status":"next","line":"Three seed nodes and the public RPC are up; the one-click miner app on Windows, macOS and Linux, HiveOS, pools, the first rollup as a proving customer, no coin yet","gate":"1,000 independent miners run 30 days and rollup proofs are delivered on time"},{"id":"phase-6","name":"Mainnet fair launch","when":"After the testnet has passed its gate (1,000 independent miners for 30 days, rollup proofs on time) and one proving customer has signed: a customer paying for proofs at a published rate, or a letter of intent with a volume","status":"next","line":"Genesis with no premine, 30-day ramp. No listing is arranged, promised or sought by the project"}],"log":[{"date":"2026-10-06","text":"16:01Z: Ember run 6 on the three-card Windows rig","short":"16:01Z: Ember run 6 on the three-card Windows rig"},{"date":"2026-10-06","text":"Counter ASIC 3.0 item 2: the per-day derivation","short":"Counter ASIC 3.0 item 2"},{"date":"2026-10-06","text":"Counter ASIC 3.0 item 8: program work in the latency shadow","short":"Counter ASIC 3.0 item 8"},{"date":"2026-10-06","text":"Counter ASIC 3.0 item 6: the reserve families' step costs","short":"Counter ASIC 3.0 item 6"},{"date":"2026-10-06","text":"Counter ASIC 3.0 gate run, the hash side","short":"Counter ASIC 3.0 gate run, the hash side"},{"date":"2026-10-06","text":"16:01Z: Ember run 6 on the three-card Windows rig (RTX 5090, RTX 4070, RX 9070 XT)","short":"16:01Z: Ember run 6 on the three-card Windows rig (RTX 5090, RTX 4070"},{"date":"2026-10-06","text":"00:4xZ, the empty `/api/state` reply","short":"00:4xZ, the empty `/api/state` reply"},{"date":"2026-10-06","text":"07:12Z to 07:17Z, the host's chain mode with --save-shards records and --prev, on the Apple M5 Max's CPU","short":"07:12Z to 07:17Z, the host's chain mode with --save-shards records…"},{"date":"2026-10-06","text":"07:52Z to 08:24Z, the segment-aligned prover beside the miner on the RTX 5090 Windows rig's RTX 5090","short":"07:52Z to 08:24Z, the segment-aligned prover beside the miner on the…"},{"date":"2026-10-06","text":"08:26Z to 08:35Z, the fast-time harness on the fresh-record rule","short":"08:26Z to 08:35Z, the fast-time harness on the fresh-record rule"},{"date":"2026-10-06","text":"12:25 to 13:20Z, the finality route: why 26 fresh nodes lost the seed every checkpoint","short":"12:25 to 13:20Z, the finality route: why 26 fresh nodes lost the…"},{"date":"2026-10-05","text":"Ember Tune: the two-knob efficiency tune, the fleet prior, and what the three-card Windows rig could measure tonight","short":"Ember Tune: the two-knob efficiency tune, the fleet prior"},{"date":"2026-10-05","text":"The SP1 CPU prover on the three-card Windows rig beside the miners, and the backend survey: no zkVM proves on AMD","short":"The SP1 CPU prover on the three-card Windows rig beside the miners,…"},{"date":"2026-10-05","text":"The 9070 XT on the eGPU: why 17.9 MH/s, and what moved","short":"The 9070 XT on the eGPU"},{"date":"2026-10-05","text":"Ember Tune: the two-knob efficiency tune, the fleet prior, and what the three-card Windows rig (RTX 5090, RTX 4070, RX 9070 XT) could measure tonight","short":"Ember Tune: the two-knob efficiency tune, the fleet prior"},{"date":"2026-10-05","text":"Read width of the lottery hash: 4, 16 and 64-byte loads, a per-load mix, a written scratch; three cards","short":"Read width of the lottery hash"},{"date":"2026-10-05","text":"The hot table on the M5 Max: a second table sized to GPU cache beside the 1 GiB dataset","short":"The hot table on the M5 Max"},{"date":"2026-10-05","text":"Mixer x4 and the cache growth rule: the class v3 dataset construction, with the x8 candidate","short":"Mixer x4 and the cache growth rule"},{"date":"2026-10-05","text":"The SP1 CPU prover on the three-card Windows rig (RTX 5090, RTX 4070, RX 9070 XT) beside the miners, and the backend survey: no zkVM proves on AMD","short":"The SP1 CPU prover on the three-card Windows rig (RTX 5090, RTX…"},{"date":"2026-10-05","text":"Proving v1: segment records, the chain rule, the unproven rule; what was measured tonight","short":"Proving v1: segment records, the chain rule"},{"date":"2026-10-05","text":"Dp4a-class throughput on the M5 Max: the dot4 emulation against the ALU chain","short":"Dp4a-class throughput on the M5 Max"},{"date":"2026-10-05","text":"Layer 3 scratch soundness","short":"Layer 3 scratch soundness"},{"date":"2026-10-05","text":"Epoch length as an era parameter : the Apple M5 Max's compile-ahead per program","short":"Epoch length as an era parameter"},{"date":"2026-10-05","text":"Aggregation cost on the RTX 5090: what a per-block aggregation spends and what each lever gives","short":"Aggregation cost on the RTX 5090"},{"date":"2026-10-05","text":"The C4 fix: certificate-driven reorg","short":"The C4 fix: certificate-driven reorg"},{"date":"2026-10-05","text":"EVM transaction relay: three nodes in a chain, every transaction sent to one end included by the other two miners","short":"EVM transaction relay"},{"date":"2026-10-05","text":"The prover carries both fee tables and the height switch: one pinned guest on either side of DAA 210,000","short":"The prover carries both fee tables and the height switch"},{"date":"2026-10-05","text":"FUD ledger sweep round 6","short":"FUD ledger sweep round 6"},{"date":"2026-10-05","text":"Live devnet: real transactions, the first non-empty shard proven and paid, and the exporter's block structure fixed","short":"Live devnet: real transactions, the first non-empty shard proven and…"},{"date":"2026-10-05","text":"The program id split: why the Apple M5 Max rejected the RTX 5090 Windows rig's proofs, and the verifier at 114 s","short":"The program id split"},{"date":"2026-10-05","text":"Live devnet: the first shards proven, verified and paid","short":"Live devnet: the first shards proven, verified and paid"},{"date":"2026-10-04","text":"One-click Windows workers: what the Apple M5 Max could measure","short":"One-click Windows workers"},{"date":"2026-10-04","text":"First finality lock on the live devnet: checkpoint 242 at 77.4% of all weight, two hours after genesis","short":"First live finality lock: 77.4% of weight, 17 voters"},{"date":"2026-10-04","text":"The gfx1036 worker fault and what the Apple M5 Max could and could not reproduce","short":"The gfx1036 worker fault and what the Apple M5 Max could and could…"},{"date":"2026-10-04","text":"A node 60 s behind the clock is silently dead","short":"A node 60 s behind the clock is silently dead"},{"date":"2026-10-04","text":"First machine on the Igneum Miner app: the RTX 5090 Windows rig's RTX 5090 at 118 MH/s, via Setup.exe","short":"First machine on the one-click app: a 5090 at 118 MH/s"},{"date":"2026-10-04","text":"Difficulty rule v2: the live oscillation, its cause, the DAG replay, the fix behind a height switch","short":"Difficulty rule v2"},{"date":"2026-10-04","text":"The observer stored nothing for 78 minutes, then 7,022 blocks in two minutes","short":"The observer stored nothing for 78 minutes, then 7,022 blocks in two…"},{"date":"2026-10-04","text":"The RTX 5090 Windows rig at the 14:20 boundary: a worker stuck on the previous epoch","short":"The RTX 5090 Windows rig at the 14"},{"date":"2026-10-04","text":"Shard proving on the RTX 5090: a full shard compressed in 10.9 s, a two-shard block aggregated in 2.2 s, all verified","short":"Shard layer on the RTX 5090: a full shard proven in 10.9 s, a block aggregated in 2.2 s"}]}</script>
<!-- journey:end -->
<script src="/scenes/feed.js"></script>
<script src="/live-dag.js"></script>
<script src="/hero-scene.js"></script>
<script src="/ui.js" defer></script>
<script>
(function(){
var fmtN=function(v){return v===null||v===undefined?'pending':Number(v).toLocaleString('en-GB');};
function fmtHash(h){if(h===null||h===undefined||!(h>0))return 'pending';return h>=1e9?(h/1e9).toFixed(1)+' GH/s':(h/1e6).toFixed(1)+' MH/s';}
var cap=document.getElementById('steps-caption'),st=document.getElementById('dag-state');
// the feed's state is the caption while the feed is not live; the scene writes the caption while it is
function onState(s,r){st.className='pill'+(s==='live'?' warm':'');st.textContent=(s==='live'?'live devnet':s==='connecting'?'connecting':r||s);
if(s==='live')return;cap.classList.add('muted');cap.textContent=s==='connecting'?'Connecting to the devnet observer.':s==='stale'?(r.charAt(0).toUpperCase()+r.slice(1))+'. The scene holds the last stored blocks.':'Live feed unavailable. The scene holds its last blocks; the live page shows the last stored state.';}
function onData(d){var s=d.state,pv=d.proving;
document.getElementById('f-hash').textContent=fmtHash(s.hashes_per_second_estimate);
document.getElementById('f-keys').textContent=fmtN(s.miners_10m!==null&&s.miners_10m!==undefined?s.miners_10m:(d.miners||[]).length);
var paid=document.getElementById('f-paid');if(!pv||!pv.supported){paid.textContent='no proving layer';paid.className='v state';}else if(!pv.active){paid.textContent='proving not active';paid.className='v state';}else{paid.textContent=fmtN(pv.paid_shards_total);paid.className='v';}
document.getElementById('f-paid10').textContent=fmtN(pv&&pv.active?(pv.shards_paid_10m||0):null);
var fn=d.finality,note=document.getElementById('facts-note');
note.textContent='One node is read every 2 s. '+(fn&&fn.supported&&!fn.active?'Finality is paused: under two thirds of the weight is signing, so no checkpoint locks until it returns. ':fn&&fn.active&&fn.latest_locked_index?'The latest locked checkpoint is #'+fmtN(fn.latest_locked_index)+'. ':'')+(pv&&pv.active&&pv.median_proof_lag_s?'Proofs land a median '+Math.round(pv.median_proof_lag_s)+' s behind the tip. ':'')+'The chip figures are a cost model, not a measurement.';}
function hms(ms){var d=new Date(ms);return String(d.getUTCHours()).padStart(2,'0')+':'+String(d.getUTCMinutes()).padStart(2,'0')+':'+String(d.getUTCSeconds()).padStart(2,'0');}
function caption(d){var nb=null;(d.blocks||[]).forEach(function(b){if(!nb||b.ts>nb.ts)nb=b;});if(!nb)return;var sh=nb.shards||[],w=nb.locked?'locked checkpoint':nb.proven?'proven':nb.chain?'on the selected chain':nb.color==='blue'?'included':nb.color==='red'?'excluded':'pending';
cap.classList.remove('muted');cap.textContent=(nb.number?'block '+fmtN(nb.number):nb.hash)+': mined '+hms(nb.ts)+', '+w+(sh.length?'; '+sh.length+(sh.length===1?' shard ':' shards ')+(sh.every(function(x){return x.state==='paid';})?'paid':sh.some(function(x){return x.state==='verified'||x.state==='paid';})?'proven':sh.some(function(x){return x.state==='proving';})?'proving':'planned'):'');}
var c=document.getElementById('dag'),dag=null;
if(c&&window.IgneumFeed&&window.IgneumDag){dag=IgneumDag.mount(c,{poll:false,window:60,fps:60,tooltip:document.getElementById('dag-tip'),chip:document.getElementById('dag-chip')});
IgneumFeed.start({window:300,subs:[dag],onState:onState,onData:function(d){onData(d);caption(d);}});}
// the hero illustration: continuous, labelled as drawn, never fed by the chain
var hc=document.getElementById('hero-gpu');
if(hc&&window.IgneumHero)IgneumHero.mount(hc,{steps:document.querySelectorAll('#scene-steps [data-stage]'),status:document.getElementById('scene-status'),detail:document.getElementById('scene-detail')});
})();
</script>
</body>
</html>