309 lines
37 KiB
HTML
309 lines
37 KiB
HTML
<!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>
|
||
<link rel="preconnect" href="https://cdn.jsdelivr.net" crossorigin>
|
||
<!-- 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>
|
||
<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(){try{var t=localStorage.getItem("igneum-theme");if(t==="light"||t==="dark")document.documentElement.setAttribute("data-theme",t);}catch(e){}})();
|
||
</script>
|
||
<!-- head:end -->
|
||
<style>
|
||
/* home page block (docs/plans/site-ui-3.md section 3, redrawn 6 Oct 2026: the scene is the page; restored 7 Oct 2026 on the owner's word, with the X31 to X35 wording kept); tokens and components are in /site.css */
|
||
/* the header on this page only: the wordmark, Litepaper, Live and Download, 56 px, transparent over the hero */
|
||
.nav{position:absolute;left:0;right:0;top:0;background:transparent;border-bottom:0;backdrop-filter:none;-webkit-backdrop-filter:none;z-index:40}
|
||
.nav .wrap{height:56px}
|
||
.nav .cta{min-height:40px;padding:8px 14px;font-size:14px}
|
||
.hero{padding:calc(56px + var(--s-6)) 0 0}
|
||
.hero .wrap{text-align:center}
|
||
.hero h1{font-size:clamp(26px,3.6vw,44px);font-weight:700;line-height:1.15;letter-spacing:-.01em;max-width:24ch;margin:0 auto var(--s-5)}
|
||
.hero .cta{justify-content:center;margin-bottom:var(--s-5)}
|
||
.bleed{width:100%;padding:0 var(--gutter)}
|
||
.bleed .scene{position:relative;max-width:1400px;margin:0 auto}
|
||
.bleed canvas{width:100%;height:min(54vh,520px);min-height:300px;display:block;border-radius:var(--r-card);background:var(--row);border:1px solid var(--line);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:6px;padding:10px 12px;font:400 12px/1.5 var(--f-mono);color:var(--ink-2);z-index:5}
|
||
.tip[hidden]{display:none}.tip b{display:block;color:var(--bone);margin-bottom:2px}
|
||
.legend-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 18px;max-width:1400px;margin:var(--s-3) auto 0;padding:0 4px;font:400 11px/1.4 var(--f-mono);color:var(--ash)}
|
||
.legend-row .lg{display:flex;flex-wrap:wrap;gap:8px 16px}
|
||
.legend-row .lg span{display:inline-flex;align-items:center;gap:7px;color:var(--ink-2);font-family:var(--f-sans);font-size:12px}
|
||
.lgi{width:10px;height:10px;border-radius:3px;display:inline-block;flex:none;position:relative}
|
||
.lgi.tick::after{content:"\2713";position:absolute;left:0;top:-4px;font-size:11px;color:var(--bone)}
|
||
#steps-caption{color:var(--bone);text-align:left;min-width:0}#steps-caption.muted{color:var(--ash)}
|
||
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4)}
|
||
.fact{background:var(--graphite);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-2);min-width:0}
|
||
.fact .v{font:700 var(--t-num)/1 var(--f-display);color:var(--bone);letter-spacing:-.02em;overflow-wrap:anywhere}
|
||
.fact .v.state{font:500 var(--t-base)/1.3 var(--f-mono);color:var(--ash)}
|
||
.fact p{margin:0;color:var(--ink-2);font-size:var(--t-base)}
|
||
.fact .k{font:500 var(--t-sm)/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ash)}
|
||
.dl-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3)}
|
||
.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:var(--r-row);background:var(--graphite);color:var(--bone);font-weight:600;min-width:0}
|
||
.dl-row a:hover{text-decoration:none;border-color:var(--line-2);background:var(--hover)}
|
||
.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:400 var(--t-sm)/1.4 var(--f-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}
|
||
.notice{font-size:var(--t-base);color:var(--ink-2);margin:var(--s-3) 0 0}
|
||
.notice b{color:var(--bone);font-weight:600}
|
||
.ledger-line{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--s-3);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:var(--s-4) 0}
|
||
.ledger-line p{margin:0;color:var(--ink-2)}
|
||
@media (max-width:900px){.facts,.dl-row{grid-template-columns:1fr}.hero{padding-top:calc(56px + var(--s-5))}.bleed canvas{height:300px}}
|
||
@media (max-width:720px){.hero .cta .btn{width:100%}}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
|
||
<!-- nav:start -->
|
||
<a class="skip" href="#main">Skip to content</a>
|
||
<nav class="nav" aria-label="Main">
|
||
<div class="wrap">
|
||
<a href="/" class="brand" aria-label="Igneum home">
|
||
<svg class="mark" viewBox="0 0 1024 1024" width="28" height="28" 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>
|
||
</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>
|
||
<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"><span class="bars" aria-hidden="true"></span></button>
|
||
<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>
|
||
</div>
|
||
</div>
|
||
</nav>
|
||
<script>
|
||
(function(){
|
||
// the menu: open on the button, closed by any link, Escape (focus back on the button) or a resize past 900 px
|
||
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');document.documentElement.style.overflow=o?'hidden':'';}
|
||
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:901px)');if(mq.addEventListener)mq.addEventListener('change',function(){set(false);});
|
||
})();
|
||
</script>
|
||
<!-- nav:end -->
|
||
|
||
<main id="main">
|
||
|
||
<header class="hero" id="top">
|
||
<div class="wrap">
|
||
<h1>A proof-of-work chain for graphics cards, whose miners prove the blocks.</h1>
|
||
<div class="cta">
|
||
<a href="#get" class="btn primary">Download the miner</a>
|
||
<a href="/litepaper" class="btn">Read the litepaper</a>
|
||
</div>
|
||
</div>
|
||
<div class="bleed">
|
||
<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="legend-row">
|
||
<div class="lg">
|
||
<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-12)"></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" class="mono" aria-live="polite">Connecting to the devnet observer.</span>
|
||
</div>
|
||
</div>
|
||
</header>
|
||
|
||
<section id="facts" class="sec">
|
||
<div class="wrap">
|
||
<div class="facts">
|
||
<div class="fact"><div class="k">Live now</div><div class="v" id="f-hash">pending</div><p><span id="f-keys">pending</span> vote keys mined a block in the last ten minutes; a card runs several.</p></div>
|
||
<div class="fact"><div class="k">Proven and paid</div><div class="v" id="f-paid">pending</div><p>shards proven and paid on the chain so far, <span id="f-paid10">pending</span> of them in the last ten minutes.</p></div>
|
||
<div class="fact"><div class="k">The chip model</div><div class="v">5x to 9x</div><p>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></p></div>
|
||
</div>
|
||
<p class="note" id="facts-note">One node is read every 2 s. The chip figures are a cost model, not a measurement.</p>
|
||
</div>
|
||
</section>
|
||
|
||
<section id="get" class="sec">
|
||
<div class="wrap">
|
||
<div class="sec-head">
|
||
<div class="eyebrow"><span data-product="full">Igneum Ember</span> · one click</div>
|
||
<h2 id="mine">Install. Start. The card mines.</h2>
|
||
</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.18 · 62.6 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.18 · 42.0 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 id="ledger" class="sec">
|
||
<div class="wrap">
|
||
<div class="ledger-line">
|
||
<p>Every criticism, answered or conceded, and <a href="/litepaper#limits">what Igneum does not claim</a>.</p>
|
||
<a href="/ledger" class="btn">The ledger</a>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</main>
|
||
|
||
<!-- footer:start -->
|
||
<footer class="foot">
|
||
<div class="wrap">
|
||
<div class="foot-grid">
|
||
<div class="foot-brand">
|
||
<a href="/" class="brand" aria-label="Igneum home"><svg class="mark" viewBox="0 0 1024 1024" width="26" height="26" 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></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>
|
||
</div>
|
||
<nav class="foot-col" aria-label="Read">
|
||
<div class="eyebrow">Read</div>
|
||
<a href="/litepaper">Litepaper</a>
|
||
<a href="/litepaper#limits">What Igneum does not claim</a>
|
||
<a href="/litepaper#randomx">Igneum vs RandomX</a>
|
||
<a href="/bench">Engineering log</a>
|
||
<a href="/evidence">Evidence</a>
|
||
<a href="/ledger">Ledger: every criticism</a>
|
||
</nav>
|
||
<nav class="foot-col" aria-label="Run">
|
||
<div class="eyebrow">Run</div>
|
||
<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="/miner#fee">The dev fee</a>
|
||
<a href="/faucet">Testnet faucet</a>
|
||
</nav>
|
||
<nav class="foot-col" aria-label="Follow">
|
||
<div class="eyebrow">Follow</div>
|
||
<a href="/live">Live devnet</a>
|
||
<a href="/explorer">Explorer</a>
|
||
<a href="/litepaper#roadmap">Journey</a>
|
||
<a href="/metamask">Add to MetaMask</a>
|
||
<a href="/miner#get">Downloads: devnet build</a>
|
||
</nav>
|
||
<nav class="foot-col" aria-label="Contact">
|
||
<div class="eyebrow">Contact</div>
|
||
<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>
|
||
<span class="foot-note">Report a flaw by either. Nobody from Igneum will ask for your seed.</span>
|
||
</nav>
|
||
</div>
|
||
<div class="foot-base">
|
||
<span class="foot-imprint">Igneum Labs LTD · Unit IH-00-01-01-OF-01, Level 01, Innovation One, Dubai International Financial Centre</span>
|
||
<span class="foot-state"><span class="dot off" id="foot-dot"></span><span id="foot-state">devnet</span></span>
|
||
<span class="theme" 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></span>
|
||
<span class="mono foot-copy">© 2026 Igneum · not an offer to sell anything</span>
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
|
||
<script>
|
||
(function(){
|
||
// theme control: stores light or dark under igneum-theme; system clears it. The head applied the stored value before paint.
|
||
var bs=document.querySelectorAll('[data-theme-set]');if(!bs.length)return;
|
||
function cur(){try{var t=localStorage.getItem('igneum-theme');return t==='light'||t==='dark'?t:'system';}catch(e){return 'system';}}
|
||
function paint(){var c=cur();bs.forEach(function(b){b.setAttribute('aria-pressed',b.getAttribute('data-theme-set')===c?'true':'false');});}
|
||
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){}
|
||
if(v==='system')document.documentElement.removeAttribute('data-theme');else document.documentElement.setAttribute('data-theme',v);paint();});});
|
||
paint();
|
||
// the network state word in the footer: 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 and one rollup signs for the testnet","status":"next","line":"Sustained-mining finality, external proving jobs, miner client with auto-switching","gate":"Finality design passes external review and one rollup signs for testnet"},{"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 and rollup proofs on time","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>
|
||
(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');
|
||
// 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){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);}});}
|
||
})();
|
||
</script>
|
||
</body>
|
||
</html>
|