diff --git a/docs/plans/site-ui-3-audit.md b/docs/plans/site-ui-3-audit.md new file mode 100644 index 00000000..268a81ff --- /dev/null +++ b/docs/plans/site-ui-3-audit.md @@ -0,0 +1,364 @@ +# Site UI 3 audit: the website and litepaper through the miner app's lens + +6 October 2026, 19:00 to 21:00 UK. Branch `site-ui-3`. the project lead's ask: "run the website and all pages and litepaper through the +same apple lens as the miner app", and "leave no stone unturned". The standard is `docs/plans/miner-ui-3-audit.md` and +`docs/plans/miner-ui-3.md` (branch `miner-ui-3`). The design that answers this audit is `docs/plans/site-ui-3.md`. + +## 1. Method + +| Input | How | +|---|---| +| Every page in `site/` | 15 pages: index, litepaper, live, miners, miner, wallet, bench, evidence, ledger, explorer, block, address, faucet, metamask, 404 | +| Screenshots | headless Chromium (Playwright's cached build, never Chrome.app) against `tools/site-serve.mjs` on a private port, reading the live API; full page at 1440 and 390, dark and light: `docs/plans/site-ui-3-shots/before/` | +| Live states | the same pages with `/api/*` blocked (failed fetch) and with the observer's reply rewritten stale (`state.stale: true`, 70 min old): `before-states/*-fail.jpg`, `*-stale.jpg`; the loading state read from each page's JS | +| Print | `/litepaper` printed to A4 in both themes: `before-states/litepaper-1440-{dark,light}.pdf` | +| Keyboard | Tab pressed 2, 3 and 8 times on the home page, the focused element and its outline recorded: `before-states/index-*-focus*.png` | +| Contrast | every text token on every surface token, both themes, computed (WCAG relative luminance) | +| Links | every href and src (914 attributes, 210 unique) followed; anchors against ids; externals with curl | +| Downloads | every installer fetched from dl.igneum.network and hashed against the host manifest and the page | +| Numbers | every number and dated claim traced to the bench log, the ledger, the spec, the analysis docs or the live API | +| Rating | the miner-ui-3 scale: "10 = nothing to change. The three questions per screen: what does it say in jargon, which number has no unit or no meaning, which 0 or blank has no reason word." | + +The pane in the desktop app was used to confirm the item 0 fix live (counters and legend) but its screenshots come back +black under a 1440 emulation, so every image here is from the headless run. + +## 2. Screen by screen + +Rating: 10 = nothing to change. The three questions per screen: what does it say in jargon, which number has no unit or +no meaning, which 0 or blank has no reason word. Screenshots: `docs/plans/site-ui-3-shots/before/--.jpg`. + +### Home, 6 + +Good: the hero says what it is in a sentence, the four facts are tiles with units, the light-client card verifies a real +certificate in the tab, the download buttons carry version and size, the economics bar reads at a glance. + +| Problem | Where | +|---|---| +| The lead paragraph runs 100 words and carries the chip model's numbers (5x to 9x per joule, about 2x), a model figure the plan says to word before any public push | hero, line 345 | +| Eight sections before the download; the one primary action ("See the miner") scrolls to the middle of the page | hero CTA | +| Two ember primaries on screen at once in the hero (the nav's "The miner" and "See the miner") plus every stat number in ember | hero, stats | +| Every section below the fold is invisible until scrolled (`.reveal` at opacity 0); a print, a screenshot, a slow scroller or a reader with JavaScript off gets blank sections | 37 `.reveal` elements | +| The live scene showed window counts as chain facts, grey nodes, and a simulation under a live-looking label when the fetch failed (fixed in item 0) | chain scene | +| The journey log's default eight entries are engineering shorthand with scrub artefacts ("the 12-node the cloud provider network", "00:4xZ", CLI flags, ledger ids) | journey | +| "vote keys active in 10 min (a card runs several)", "BLS aggregate, version 1", "final · cp 5", "igneum-proving-pool-v0" on the surface | strip, hero card, wallet, economics | +| The mine heading is 91 characters | section 6 | +| Horizontal overflow at 390 (395 px) | phone | +| No light mode | whole page | + +Apple would: one screen that says what it is, shows the chain alive, offers the download, and lets the sceptic check three things; everything else one link away. + +### Litepaper, 5 + +Good: a real table of contents with a sticky rail, numbered sections, "what we do not claim" as its own section, every +other-chain claim labelled approximate, the pager at the foot of each section. + +| Problem | Where | +|---|---| +| Light by default while every other page is dark; its own token set (ground, surface, quiet, tint) | :root | +| Accents as text (ember, molten) fail 4.5:1 in light mode everywhere they appear: eyebrows, links, the tile numbers | section 6 of this audit | +| File paths inline in the abstract and limits (`docs/analysis/chip-model-v3.md`, `asic-resistance-history.md`, `prover-tiers-real-cards.md`, which does not exist) | abstract, randomx, proving, limits | +| 92 sentences over 30 words; the longest 152 words (Ember status) and 136 (proving measurements) | mining, proving, ember | +| "One section at a time" is the default, so the print is one section and a search of the page finds one section | contents | +| The cover says updated 5 October; the body cites 6 October nine times | cover | +| Placeholders on the public page: "the entry lands tonight", "measurement tonight" | questions miners ask | +| Numbers in prose, not tables: the proving measurements, the swap figures, the prover tiers | proving, ember | +| Roadmap says the proof lag is "not yet measured on the live chain" while the API reports a median lag of 387 s | roadmap | +| Tint callouts (`--tint`) against the app's no-tint rule | callouts | + +Apple would: dark like the rest, a readable 68-character measure, every measured number in a table with its date and +source, the limits section set as callouts, the whole paper on one page with a sticky section nav, printable. + +### Live, 6 + +Good: the status tiles say what they measure and over what window, the lane scene is real data with a legend in the +ledger's words, the miners table and the events feed are honest, "observer offline" is said in words. + +| Problem | Where | +|---|---| +| "DEVNET V0" eyebrow (the chain is v4) | eyebrow | +| The fee sentence pins DAA 210,000 and the chain passes it tonight | intro | +| "proven 0/16" counted the on-screen window (fixed in item 0) | strip stats | +| Hash rate "n/a" when the estimate is missing; "n/a" in the proof lag panel | tiles, canvas panel | +| "DAA", "pgas", "gwei", "observer", "api unreachable" on the surface with no gloss | intro, tiles, notes | +| The scene is a lane chart with coloured squares, not a DAG; the selected chain is a spline through the squares | canvas | +| 2,000 px of miners table on one screen with every engine cell "not reported" | miners | +| Eight tiles before the scene; the scene is the page's job | layout | + +Apple would: the DAG first, the eight numbers under it as one row, the tables folded. + +### Miner, 5 + +Good: every feature is one line with its measurement and a link to the log entry, the fee section shows the fee and +the off switch, the recoveries table has units. + +| Problem | Where | +|---|---| +| The h1 is 96 characters and wraps to seven lines at 1440 | hero | +| 8,947 px tall; the download sits at 7,700 px | whole page | +| Buttons say v0.3.13, the Flight Sheet URL is 404 and its sha256 is the hash of a dead file (L2) | get | +| "every NVIDIA card from 8 GB proves" cites a file that is not in the repository and contradicts /evidence row 16 | hero, features | +| "Six levers" has no document; the "3 minutes / 30% in 10 minutes" update rules have no source | levers, updates | +| "until 0.3.6", "Ships in 0.3.6" at 0.3.13 | caption, lever 4 | +| Command lines and env strings as body text (`--dev-fee 0`, `DEV_FEE=1 IDENTITIES=8 WORKER=auto VOTE=1`) outside a code block | fee, hive | +| Three ember primaries on one screen (nav, "Downloads", band) | hero, band | + +Apple would: install, start, the card mines, download here; every feature behind a chevron with its number; the fee +as one sentence and a switch. (The copy and images are being redone by the site-miner agent today; this page is +styled through the shared CSS only.) + +### Wallet, 6 + +Good: the three states are three cards with a word each, the timed first run is a table with units, the checks before +"final" are four numbered sentences. + +| Problem | Where | +|---|---| +| "Your coins. Final means final." and "The miner pays this wallet." are aphorisms; "No confirmation counts, no trusting the node" is an antithesis | hero, band, lead | +| Every timed number has no row in the log or the repository ("The log entry ships with the wallet") against "every number has a row" | first run | +| 5,880 px tall; download at 4,800 px | whole page | +| The two screenshots are the same size as the text column and carry an example address | hero, transaction | +| Horizontal overflow at 390 | phone | + +(The content is being redone by the wallet-ui-3 agent today; styled through the shared CSS only.) + +### Miners (bench table), 5 + +Good: six measured rows with date and version, prototype rows say so, "no tune reports yet" says why. + +| Problem | Where | +|---|---| +| "3 entries, newest at the bottom" is the bench template's eyebrow on a page with three sections | eyebrow | +| "MH per watt: not measured" on every row while the 5090's watts are in the ledger (E17) and eleven rented cards were measured today | table | +| "Rows: 6. Source file: site/miner-bench.json", "tools/tuning.mjs --priors --site" on the page | notes | +| Two 40-word sentences | priors | + +Apple would: the table, the rate per watt where measured, "not measured" with the reason once. + +### Explorer, 7 + +Good: eight tiles with units and a sub-line each, a real table of real blocks, a legend in the ledger's words, the public +API card, the error sentences are words. + +| Problem | Where | +|---|---| +| "n/a" in the height, difficulty and hash-rate tiles and the Txs and Proof-records cells when a field is missing | tiles, table | +| "DAA" in two tiles and two notes with no gloss anywhere on the page | tiles, notes | +| "Older blocks" stops the 5 s refresh for good after the first click, silently | button | +| "cached 10 s" (the explorer endpoint is 5 s); "under check" names a field today's /api/supply does not carry | API card, note | +| "observer" six times as a word for the reader | intro, notes | + +Apple would: the same page with the state words and the glosses. + +### Block and address, 6 + +Good: every header field, the mergeset, the coinbase outputs and the proof records as labelled rows; a block that is a +checkpoint shows its weight; the error sentences name what a hash or an address is. + +| Problem | Where | +|---|---| +| "n/a" in twelve places (miner, vote key, difficulty, subsidy, selected parent, parent levels, balance, last block, subsidy and tx cells) | both pages | +| The address balance reads "n/a" for every address with the sentence "no EVM RPC configured on this deployment (EXPLORER_EVM_RPC)", an environment variable on a public page | address | +| The default balance sub-line is the raw RPC method name `eth_getBalance` | address | +| A never-seen address returns zeros with no sentence saying it has never mined | address | +| "E(DAA) of spec 2.5", "pgas", "needs an EVM RPC", "the proving feed" | block | +| The only way back is the eyebrow link | both | + +Apple would: "balance not shown on this deployment" once, "this address has not mined in the last day", the spec words +behind a tooltip. + +### Faucet, 7 + +Good: one job, one form, one button, the four rules as numbered sentences, the status words are sentences. + +| Problem | Where | +|---|---| +| "not yet open" notice and a form the reader can still submit, which answers "The faucet is not open yet" | form | +| "No account, no sign-in" (antithesis); "Mainnet starts from an empty genesis" stated as fact for a plan | intro, rules | + +### MetaMask, 6 + +Good: two cards, the numbers a wallet needs, a button with five state sentences, the by-hand steps. + +| Problem | Where | +|---|---| +| Canonical and share URL point at /wallet (L4) | head | +| "Explorer: none yet" while /explorer is live; "until the Igneum Wallet ships, MetaMask is the wallet" while 0.1.4 ships; "The Igneum Miner app" | devnet card, app section | +| Not in the nav; reachable from the footer and the faucet only | nav | + +### 404, 6 + +Good: short, three links, noindex. + +| Problem | Where | +|---|---| +| "These four pages are everything the site has" (fifteen pages); "in 17 sections" (nineteen) | copy | +| "Nothing is mined here." is an aphorism | h1 | +| No miner, wallet, explorer or ledger card; no canonical, OG or manifest | links, head | + +### Engineering log (bench), 5 + +Good: every measurement in one place, 83 entries with a contents rail, the scrub keeps machine names out. + +| Problem | Where | +|---|---| +| 189,472 px tall at 1440 (190 screens), 311,114 at 390: Chromium needs minutes to lay it out, and a phone reader scrolls for an hour | whole page | +| Headings carry commit hashes and internal names (by design of the generator) and run past 150 characters in the sticky contents | contents | +| The eyebrow "83 entries, newest at the bottom" is right here and wrong on the two pages that reuse the template | eyebrow | +| One plain-text GitHub Actions URL 404s to the public (L9) | entry 346 | + +Apple would: the log as a list of entries, each collapsed to its heading and date, opened on demand; a search box. + +### Evidence, 6 + +Good: 31 rows with five labels, the label counts as tiles, a sort on every column, "none yet" said in every verification cell. + +| Problem | Where | +|---|---| +| The page shows designed 6 where the source table says 5 (row 17 carries two labels and the build buckets the first) | tiles | +| Two scrub artefacts in the rows ("the Apple M5 Max M5 Max", "a an RTX 5090 on Windows with an RTX 5090") | rows 1, 30 | +| The "What moved on 4 and 5 October" tables of the source are not rendered anywhere | body | +| 23,031 px tall; the table scrolls sideways under 1,140 px with a one-line warning | table | +| Three file paths on the surface | notes | + +### Ledger, 5 + +Good: 167 criticisms with their status and the answer as first written, a search, the counts as chips, nothing deleted. + +| Problem | Where | +|---|---| +| 53,522 px tall at 1440, 113,082 at 390, with a 712 px horizontal overflow at 390 (a long id or path in a card) | whole page | +| 40 section headings with duplicate ids; the section links land on the first | sections | +| 165 "Evidence:" lines and the "Decision owner:" lines are dropped against the renderer's "nothing is dropped" | cards | +| The page's counts differ from the source's count table by 3, 2 and 2 | chips | +| `~/.config/igneum`, "pid 33114", `--rpclisten=0.0.0.0:26610`, "PC 2" fifteen times and "the Mac" nineteen times on a public page; the renderer skips the forbidden-strings hard stop | cards | +| "Nothing deleted, nothing softened." (antithesis) | meta | + +Apple would: the ledger as a filterable list with one card open at a time, the scrub applied, the ids unique. + + +## 3. The tick list: nothing lost + +Appendix A carries every claim, number, date, link and feature per page, with its source and whether the source still +says the same today. The build keeps every row; a row that moves gets its new place written beside it. + +## 4. Links, downloads, icons, 404 + +Every internal anchor resolves (268 fragment links, 0 missing ids). Every local asset exists. Every external link answers +200 except one plain-text GitHub Actions URL in the bench log (private repository, 404 to the public). All four downloads +hash-match the host manifest. The live 404 body is byte-identical to `site/404.html`. + +| # | Finding | Where | Consequence | +|---|---|---|---| +| L1 | `site/downloads.json` is two releases stale (miner 0.3.9 and 0.3.10, written 5 Oct 21:52Z); the host serves 0.3.14 | `site/downloads.json`; `site/build.mjs` 266 to 313 | any build whose 8 s fetch of the host manifest fails stamps dead versions, dead URLs and wrong hashes on every download button | +| L2 | `miner.html` carries v0.3.13 on all four buttons, a Flight Sheet URL that is 404 (`igneum-hive-0.3.13.tar.gz`) and the sha256 of that dead file | `site/miner.html` 462 to 471 | a HiveOS miner copying the repo page's URL gets nothing; the live deploy shows 0.3.14 because the build fetched the manifest, so only a failed fetch exposes it | +| L3 | the host publishes no checksum file beside any download; only the Hive button shows a hash; Windows, Mac and Wallet show none | dl.igneum.network; `index.html` 513 to 514, `wallet.html` 371 | a sceptic cannot verify three of four downloads from the page | +| L4 | `metamask.html` canonical and og:url point at `/wallet` while the sitemap lists `/metamask` | `site/metamask.html` 8, 14; `sitemap.xml` 10 | search folds the page into /wallet | +| L5 | sitemap omits /ledger, /explorer and /faucet; lastmod dates predate the 6 Oct changes | `site/sitemap.xml` | the three pages are found only by crawl | +| L6 | two Open Graph sets: seven pages send a 256 px square (`og-small.png`, `summary` card), seven send 1200 by 630 (`og.png`); `og-coin.png` duplicates `og.png` byte for byte; `og-square.png` is referenced nowhere | `site/partials/head.html`, page heads | a shared link shows a small square for the home page and the litepaper, the two pages most shared | +| L7 | icon links differ by page: address, block, explorer, faucet carry no SVG icon and no 192 or 512 link; ledger lacks 512; 404 lacks canonical, OG, manifest and favicon-32 | page heads | install and tab icons vary by page | +| L8 | `/404` answers 200 as a clean URL | Vercel `cleanUrls` | harmless, noindex | +| L9 | the bench log prints a GitHub Actions URL as text that 404s to the public | `site/bench.html` 346 | a reader following it hits a wall | + +## 5. Live elements and their states + +| Page | Element | Fresh | Loading | Failed fetch | Stale observer | Empty | +|---|---|---|---|---|---|---| +| index | hero strip, chain scene, light-client card | item 0: chain block, shards proven, last lock | "connecting to the devnet observer" (item 0) | "simulated preview · live feed unavailable" with a note (item 0); before item 0 the simulation ran under a live-looking label | "observer offline, last update N ago" (item 0) | not reached: the scene always has the window | +| live | the lane scene, finality strip, proving strip, events, miners table, blocks per minute | reads /api/live every 2 s | counters at 0, "n/a" in proven until the first reply (item 0 made it "pending") | after 3 failures: "api unreachable" in the status tile and "api unreachable, scene frozen" on the canvas; tiles keep their last numbers | "OFFLINE", "last update N ago", the scene frozen with "observer offline" | no empty words: an empty window draws nothing; the tables say "No blocks in the last 10 minutes." and "No events yet." | +| miners | the bench table | static | static | no change (static page) | no change | "No tune reports yet. The first rows appear once five machines with the same card model have reported." | +| explorer | tiles, latest blocks | /api/stats, /api/supply, /api/explorer | "Loading." in the table, tile values at their defaults | tiles keep defaults, the table shows the fetch error text or "The API did not answer." | "OFFLINE", "last update N ago", "observer offline, last known" over the table | "No blocks in the last 24 hours." | +| block, address | the detail pages | /api/explorer | h1 "Block" / the address, cells empty | "The API did not answer: " | no stale word: the detail is the stored block | "Not found." / zeros with no "never seen" sentence | +| faucet | the form | /api/faucet on submit | the form | "The faucet did not answer. Try again in a minute." | not applicable | the not-open notice | +| wallet, miner | download buttons, product names | build-time stamps | static | no change | no change | not applicable | + +Rule for the design: every live element names its state in words with the reason (section 2.5 of the design); no counter +shows `n/a`, `--` or a bare `0`. + +## 6. Contrast + +Computed for every text token on every surface token. Dark passes everywhere (lowest: ember text on the litepaper's +`--surface-2`, 4.79:1). Light fails for both accent colours as text: + +| Theme | Text | On | Ratio | Body 4.5:1 | +|---|---|---|---|---| +| light (site tokens) | ember #D9430F | page #F4F1EC | 3.92 | fail | +| light (site tokens) | ember #D9430F | card #FFFFFF | 4.41 | fail | +| light (site tokens) | molten #B9741C | page #F4F1EC | 3.34 | fail | +| light (site tokens) | quiet #6E6B65 | surface-2 #ECE8E0 | 4.35 | fail | +| light (app tokens) | ember #E04A14 | page #F4F1EC | 3.61 | fail | +| light (app tokens) | molten #B8731F | page #F4F1EC | 3.38 | fail | +| light, proposed | ember-text #B8390C | page, card, row | 5.14, 5.79, 4.74 | pass | +| light, proposed | molten-text #8F5810 | page, card, row | 5.22, 5.88, 4.81 | pass | + +Today the litepaper (light by default) sets eyebrows, links and figures in ember and molten at body sizes: every one of +them is under 4.5:1. The design splits the accents into a fill token and a text token (design 2.1). + +## 7. Keyboard and focus + +Focus is visible: a 2 px ember outline at 3 px offset on every link and button (`site/partials/head.html` 23), confirmed at +Tab 2, 3 and 8 in both themes and at 390 px. The skip link appears on the first Tab. The burger menu at 390 is reachable. +What is missing: the canvas scenes have no keyboard alternative and no text summary for a screen reader beyond the +counters; the litepaper's section pills are buttons without `aria-pressed`; the theme has no control at all on 14 of 15 +pages (the litepaper offers one). + +## 8. Phone width + +| Page | 390 px | Finding | +|---|---|---| +| index | horizontal overflow, page 395 px wide | the livestrip's `nowrap` tiles and the hero grid | +| wallet | horizontal overflow, page 395 px wide | same class | +| ledger | horizontal overflow, page 712 px wide | a long id or path in a card without `overflow-wrap` | +| the other twelve pages | no overflow | | + +## 9. Print + +`/litepaper` printed to A4: three pages in dark mode (the page colours print as set), the nav and footer print, and only +the open section prints because the paper opens in "one section at a time" mode. A reader who prints the litepaper gets +the abstract and the footer. The design adds a print stylesheet and prints the whole paper (design 4). + +## 10. Top ten findings + +Ranked by reach (who sees it) and by what it costs a reader. + +| # | Finding | Consequence per reader | +|---|---|---| +| 1 | The home live scene showed window counts as chain facts and grey blocks (fixed in item 0, commit 84a6de2) | every visitor read a dead chain; fixed before this audit shipped | +| 2 | Fifteen pages carry fifteen stylesheets with three token sets (home, litepaper, chrome) and no light mode on fourteen of them; the litepaper is light by default, the rest dark | a reader crossing from the paper to the home page changes world; a light-mode user gets dark pages everywhere but one | +| 3 | Light-mode accents fail body contrast everywhere they are used as text | the litepaper's links, eyebrows and figures are hard to read in light mode | +| 4 | Scroll-reveal hides every section below the fold until it scrolls into view (`.reveal` at opacity 0) | a slow scroller, a print, a screenshot or a reader with JavaScript off gets blank sections | +| 5 | The print of the litepaper is one section, dark, with nav and footer | the paper cannot be printed | +| 6 | The repo's download snapshot and the miner page are stale against the host (L1, L2) | a failed manifest fetch ships dead links and a wrong hash | +| 7 | Developer text on user surfaces: the litepaper's abstract cites `docs/analysis/chip-model-v3.md` and other repo paths inline; DAA numbers appear without the word for them | a reader who is not in the repo sees file paths | +| 8 | Horizontal overflow at 390 on index and wallet | the phone page scrolls sideways | +| 9 | Three of four downloads show no hash and the host publishes no checksum file (L3) | a sceptic cannot verify the installer | +| 10 | Two Open Graph sets, a wrong canonical on /metamask, three pages missing from the sitemap (L4 to L6) | shared links and search see a smaller, inconsistent site | + +Also found and fixed in item 0 without a row: the scene's fixed 16 ms frame step (double speed on 120 Hz displays), and +polling that stopped for good after one failed fetch. + +## Appendix A. The tick list per page + +`docs/plans/site-ui-3-ticklist.md`: 502 rows (home 88, litepaper 151, nav 11, footer 24, live 22, miners 19, miner 66, +wallet 29, bench 5, evidence 12, ledger 8, explorer 23, block 11, address 9, faucet 8, metamask 9, 404 7), each with its +source and today's verdict (MATCH, STALE, UNSOURCED, APPROX), the ledger's stated sentences with their presence on each +page, the nine "what we do not claim" sentences and the four "what Ember does not claim" sentences verbatim, and the +scrub rules. The build keeps every row; the design's per-page notes (section 5 of `site-ui-3.md`) say where a row moved. + +## Appendix B. The stones + +| # | Stone | Turned | Where | +|---|---|---|---| +| 1 | every page in site/, including API-backed ones and 404 | yes, 15 pages | section 2, `before/` | +| 2 | every state of every live element: loading, empty, failed fetch, stale | yes: failed and stale captured for 10 pages; loading and empty read from each page's JS | section 5, `before-states/` | +| 3 | every link followed, internal and external | yes: 914 attributes, 210 unique, 268 anchors, every external with curl | section 4 | +| 4 | every number traced to its source and checked against the live API or the bench log today | yes, appendix A | appendix A | +| 5 | both themes | yes, dark and light for every page | `before/` | +| 6 | 1440 and 390 | yes | `before/` | +| 7 | keyboard focus | yes, Tab 2, 3, 8, both themes, both widths | section 7, `before-states/*focus*` | +| 8 | contrast | yes, every token pair, both themes | section 6 | +| 9 | the litepaper's every section and footnote | yes, appendix A (L rows) | appendix A | +| 10 | the downloads' hashes against the host | yes, four files fetched and hashed | section 4 | +| 11 | the Open Graph and favicon set | yes, every meta and icon, sizes measured with sips | section 4, L6 and L7 | +| 12 | the 404 page | yes, live body byte-identical, `/404` answers 200 | section 4, L8 | +| 13 | print of the litepaper | yes, both themes, A4 | section 9 | +| 14 | the live API itself against the page | yes, item 0 (height, paid shards, lock index, lag) | commit 84a6de2 | diff --git a/docs/plans/site-ui-3-shots/after/address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-dark.jpg b/docs/plans/site-ui-3-shots/after/address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-dark.jpg new file mode 100644 index 00000000..8acbb3ea Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-light.jpg b/docs/plans/site-ui-3-shots/after/address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-light.jpg new file mode 100644 index 00000000..3f01d981 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/address_igneumdev:qz9hw3xy72g4guwfddvpxs-390-dark.jpg b/docs/plans/site-ui-3-shots/after/address_igneumdev:qz9hw3xy72g4guwfddvpxs-390-dark.jpg new file mode 100644 index 00000000..cd013243 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/address_igneumdev:qz9hw3xy72g4guwfddvpxs-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/address_igneumdev:qz9hw3xy72g4guwfddvpxs-390-light.jpg b/docs/plans/site-ui-3-shots/after/address_igneumdev:qz9hw3xy72g4guwfddvpxs-390-light.jpg new file mode 100644 index 00000000..4401e5f0 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/address_igneumdev:qz9hw3xy72g4guwfddvpxs-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/bench-1440-dark.jpg b/docs/plans/site-ui-3-shots/after/bench-1440-dark.jpg new file mode 100644 index 00000000..fea6015a Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/bench-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/bench-1440-light.jpg b/docs/plans/site-ui-3-shots/after/bench-1440-light.jpg new file mode 100644 index 00000000..94efcd3a Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/bench-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/bench-390-dark.jpg b/docs/plans/site-ui-3-shots/after/bench-390-dark.jpg new file mode 100644 index 00000000..7065243d Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/bench-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/bench-390-light.jpg b/docs/plans/site-ui-3-shots/after/bench-390-light.jpg new file mode 100644 index 00000000..4baf6bc8 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/bench-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/block_cc9d87b929b6404c-1440-dark.jpg b/docs/plans/site-ui-3-shots/after/block_cc9d87b929b6404c-1440-dark.jpg new file mode 100644 index 00000000..1709de99 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/block_cc9d87b929b6404c-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/block_cc9d87b929b6404c-1440-light.jpg b/docs/plans/site-ui-3-shots/after/block_cc9d87b929b6404c-1440-light.jpg new file mode 100644 index 00000000..27db8b23 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/block_cc9d87b929b6404c-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/block_cc9d87b929b6404c-390-dark.jpg b/docs/plans/site-ui-3-shots/after/block_cc9d87b929b6404c-390-dark.jpg new file mode 100644 index 00000000..aa5ce617 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/block_cc9d87b929b6404c-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/block_cc9d87b929b6404c-390-light.jpg b/docs/plans/site-ui-3-shots/after/block_cc9d87b929b6404c-390-light.jpg new file mode 100644 index 00000000..53915723 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/block_cc9d87b929b6404c-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/evidence-1440-dark.jpg b/docs/plans/site-ui-3-shots/after/evidence-1440-dark.jpg new file mode 100644 index 00000000..b8907b32 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/evidence-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/evidence-1440-light.jpg b/docs/plans/site-ui-3-shots/after/evidence-1440-light.jpg new file mode 100644 index 00000000..466b0053 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/evidence-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/evidence-390-dark.jpg b/docs/plans/site-ui-3-shots/after/evidence-390-dark.jpg new file mode 100644 index 00000000..07f9cbfd Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/evidence-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/evidence-390-light.jpg b/docs/plans/site-ui-3-shots/after/evidence-390-light.jpg new file mode 100644 index 00000000..63ed4d4f Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/evidence-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/explorer-1440-dark.jpg b/docs/plans/site-ui-3-shots/after/explorer-1440-dark.jpg new file mode 100644 index 00000000..c9be143e Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/explorer-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/explorer-1440-light.jpg b/docs/plans/site-ui-3-shots/after/explorer-1440-light.jpg new file mode 100644 index 00000000..52bf46b6 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/explorer-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/explorer-390-dark.jpg b/docs/plans/site-ui-3-shots/after/explorer-390-dark.jpg new file mode 100644 index 00000000..f91a06cf Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/explorer-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/explorer-390-light.jpg b/docs/plans/site-ui-3-shots/after/explorer-390-light.jpg new file mode 100644 index 00000000..dd5b5ff0 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/explorer-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/faucet-1440-dark.jpg b/docs/plans/site-ui-3-shots/after/faucet-1440-dark.jpg new file mode 100644 index 00000000..c3219e1a Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/faucet-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/faucet-1440-light.jpg b/docs/plans/site-ui-3-shots/after/faucet-1440-light.jpg new file mode 100644 index 00000000..c625577e Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/faucet-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/faucet-390-dark.jpg b/docs/plans/site-ui-3-shots/after/faucet-390-dark.jpg new file mode 100644 index 00000000..ae48a792 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/faucet-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/faucet-390-light.jpg b/docs/plans/site-ui-3-shots/after/faucet-390-light.jpg new file mode 100644 index 00000000..e7617a9b Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/faucet-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/index-1440-dark-clip.png b/docs/plans/site-ui-3-shots/after/index-1440-dark-clip.png new file mode 100644 index 00000000..aae007e9 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/index-1440-dark-clip.png differ diff --git a/docs/plans/site-ui-3-shots/after/index-1440-dark.jpg b/docs/plans/site-ui-3-shots/after/index-1440-dark.jpg new file mode 100644 index 00000000..cc8ecbd8 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/index-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/index-1440-light-clip.png b/docs/plans/site-ui-3-shots/after/index-1440-light-clip.png new file mode 100644 index 00000000..8a8b1627 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/index-1440-light-clip.png differ diff --git a/docs/plans/site-ui-3-shots/after/index-1440-light.jpg b/docs/plans/site-ui-3-shots/after/index-1440-light.jpg new file mode 100644 index 00000000..fee82934 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/index-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/index-390-dark-clip.png b/docs/plans/site-ui-3-shots/after/index-390-dark-clip.png new file mode 100644 index 00000000..44c234bb Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/index-390-dark-clip.png differ diff --git a/docs/plans/site-ui-3-shots/after/index-390-dark.jpg b/docs/plans/site-ui-3-shots/after/index-390-dark.jpg new file mode 100644 index 00000000..d12bfb46 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/index-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/index-390-light-clip.png b/docs/plans/site-ui-3-shots/after/index-390-light-clip.png new file mode 100644 index 00000000..a81a4221 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/index-390-light-clip.png differ diff --git a/docs/plans/site-ui-3-shots/after/index-390-light.jpg b/docs/plans/site-ui-3-shots/after/index-390-light.jpg new file mode 100644 index 00000000..1576a469 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/index-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/ledger-1440-dark.jpg b/docs/plans/site-ui-3-shots/after/ledger-1440-dark.jpg new file mode 100644 index 00000000..00af4f7a Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/ledger-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/ledger-1440-light.jpg b/docs/plans/site-ui-3-shots/after/ledger-1440-light.jpg new file mode 100644 index 00000000..00af4f7a Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/ledger-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/ledger-390-dark.jpg b/docs/plans/site-ui-3-shots/after/ledger-390-dark.jpg new file mode 100644 index 00000000..7decfa9f Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/ledger-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/ledger-390-light.jpg b/docs/plans/site-ui-3-shots/after/ledger-390-light.jpg new file mode 100644 index 00000000..7decfa9f Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/ledger-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/litepaper-1440-dark.jpg b/docs/plans/site-ui-3-shots/after/litepaper-1440-dark.jpg new file mode 100644 index 00000000..08aea3d5 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/litepaper-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/litepaper-1440-light.jpg b/docs/plans/site-ui-3-shots/after/litepaper-1440-light.jpg new file mode 100644 index 00000000..0465f63c Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/litepaper-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/litepaper-1440-light.pdf b/docs/plans/site-ui-3-shots/after/litepaper-1440-light.pdf new file mode 100644 index 00000000..9557aa88 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/litepaper-1440-light.pdf differ diff --git a/docs/plans/site-ui-3-shots/after/litepaper-1440-light.png b/docs/plans/site-ui-3-shots/after/litepaper-1440-light.png new file mode 100644 index 00000000..a2823c51 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/litepaper-1440-light.png differ diff --git a/docs/plans/site-ui-3-shots/after/litepaper-390-dark.jpg b/docs/plans/site-ui-3-shots/after/litepaper-390-dark.jpg new file mode 100644 index 00000000..bd909e6e Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/litepaper-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/litepaper-390-light.jpg b/docs/plans/site-ui-3-shots/after/litepaper-390-light.jpg new file mode 100644 index 00000000..ced3b2c2 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/litepaper-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/live-1440-dark.jpg b/docs/plans/site-ui-3-shots/after/live-1440-dark.jpg new file mode 100644 index 00000000..acedcab6 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/live-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/live-1440-light.jpg b/docs/plans/site-ui-3-shots/after/live-1440-light.jpg new file mode 100644 index 00000000..f321e908 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/live-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/live-390-dark.jpg b/docs/plans/site-ui-3-shots/after/live-390-dark.jpg new file mode 100644 index 00000000..8497655e Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/live-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/live-390-light.jpg b/docs/plans/site-ui-3-shots/after/live-390-light.jpg new file mode 100644 index 00000000..8f1d4667 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/live-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/metamask-1440-dark.jpg b/docs/plans/site-ui-3-shots/after/metamask-1440-dark.jpg new file mode 100644 index 00000000..a5cd1d97 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/metamask-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/metamask-1440-light.jpg b/docs/plans/site-ui-3-shots/after/metamask-1440-light.jpg new file mode 100644 index 00000000..3d065ea3 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/metamask-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/metamask-390-dark.jpg b/docs/plans/site-ui-3-shots/after/metamask-390-dark.jpg new file mode 100644 index 00000000..ebbced3d Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/metamask-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/metamask-390-light.jpg b/docs/plans/site-ui-3-shots/after/metamask-390-light.jpg new file mode 100644 index 00000000..596f3fd7 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/metamask-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/miner-1440-dark.jpg b/docs/plans/site-ui-3-shots/after/miner-1440-dark.jpg new file mode 100644 index 00000000..b0bd183e Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/miner-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/miner-1440-light.jpg b/docs/plans/site-ui-3-shots/after/miner-1440-light.jpg new file mode 100644 index 00000000..e3820e07 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/miner-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/miner-390-dark.jpg b/docs/plans/site-ui-3-shots/after/miner-390-dark.jpg new file mode 100644 index 00000000..d4605f02 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/miner-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/miner-390-light.jpg b/docs/plans/site-ui-3-shots/after/miner-390-light.jpg new file mode 100644 index 00000000..ff8773bc Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/miner-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/miners-1440-dark.jpg b/docs/plans/site-ui-3-shots/after/miners-1440-dark.jpg new file mode 100644 index 00000000..974f6e66 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/miners-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/miners-1440-light.jpg b/docs/plans/site-ui-3-shots/after/miners-1440-light.jpg new file mode 100644 index 00000000..980fa550 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/miners-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/miners-390-dark.jpg b/docs/plans/site-ui-3-shots/after/miners-390-dark.jpg new file mode 100644 index 00000000..730400a2 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/miners-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/miners-390-light.jpg b/docs/plans/site-ui-3-shots/after/miners-390-light.jpg new file mode 100644 index 00000000..459e045e Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/miners-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/no-such-page-1440-dark.jpg b/docs/plans/site-ui-3-shots/after/no-such-page-1440-dark.jpg new file mode 100644 index 00000000..0f4b22f6 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/no-such-page-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/no-such-page-1440-light.jpg b/docs/plans/site-ui-3-shots/after/no-such-page-1440-light.jpg new file mode 100644 index 00000000..7c44c82a Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/no-such-page-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/no-such-page-390-dark.jpg b/docs/plans/site-ui-3-shots/after/no-such-page-390-dark.jpg new file mode 100644 index 00000000..afe56624 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/no-such-page-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/no-such-page-390-light.jpg b/docs/plans/site-ui-3-shots/after/no-such-page-390-light.jpg new file mode 100644 index 00000000..e3d48f5e Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/no-such-page-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/wallet-1440-dark.jpg b/docs/plans/site-ui-3-shots/after/wallet-1440-dark.jpg new file mode 100644 index 00000000..afddf42c Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/wallet-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/wallet-1440-light.jpg b/docs/plans/site-ui-3-shots/after/wallet-1440-light.jpg new file mode 100644 index 00000000..ecb4c5b8 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/wallet-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/wallet-390-dark.jpg b/docs/plans/site-ui-3-shots/after/wallet-390-dark.jpg new file mode 100644 index 00000000..511694e0 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/wallet-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/after/wallet-390-light.jpg b/docs/plans/site-ui-3-shots/after/wallet-390-light.jpg new file mode 100644 index 00000000..6cee2e10 Binary files /dev/null and b/docs/plans/site-ui-3-shots/after/wallet-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before-states/address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-dark-fail.jpg b/docs/plans/site-ui-3-shots/before-states/address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-dark-fail.jpg new file mode 100644 index 00000000..b526e30e Binary files /dev/null and b/docs/plans/site-ui-3-shots/before-states/address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-dark-fail.jpg differ diff --git a/docs/plans/site-ui-3-shots/before-states/block_cc9d87b929b6404c-1440-dark-fail.jpg b/docs/plans/site-ui-3-shots/before-states/block_cc9d87b929b6404c-1440-dark-fail.jpg new file mode 100644 index 00000000..9a5022f2 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before-states/block_cc9d87b929b6404c-1440-dark-fail.jpg differ diff --git a/docs/plans/site-ui-3-shots/before-states/block_cc9d87b929b6404c-1440-dark-stale.jpg b/docs/plans/site-ui-3-shots/before-states/block_cc9d87b929b6404c-1440-dark-stale.jpg new file mode 100644 index 00000000..c02325d7 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before-states/block_cc9d87b929b6404c-1440-dark-stale.jpg differ diff --git a/docs/plans/site-ui-3-shots/before-states/explorer-1440-dark-fail.jpg b/docs/plans/site-ui-3-shots/before-states/explorer-1440-dark-fail.jpg new file mode 100644 index 00000000..3ff25031 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before-states/explorer-1440-dark-fail.jpg differ diff --git a/docs/plans/site-ui-3-shots/before-states/explorer-1440-dark-stale.jpg b/docs/plans/site-ui-3-shots/before-states/explorer-1440-dark-stale.jpg new file mode 100644 index 00000000..0162dea0 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before-states/explorer-1440-dark-stale.jpg differ diff --git a/docs/plans/site-ui-3-shots/before-states/faucet-1440-dark-fail.jpg b/docs/plans/site-ui-3-shots/before-states/faucet-1440-dark-fail.jpg new file mode 100644 index 00000000..dc899e95 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before-states/faucet-1440-dark-fail.jpg differ diff --git a/docs/plans/site-ui-3-shots/before-states/faucet-1440-dark-stale.jpg b/docs/plans/site-ui-3-shots/before-states/faucet-1440-dark-stale.jpg new file mode 100644 index 00000000..dc899e95 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before-states/faucet-1440-dark-stale.jpg differ diff --git a/docs/plans/site-ui-3-shots/before-states/index-1440-dark-fail.jpg b/docs/plans/site-ui-3-shots/before-states/index-1440-dark-fail.jpg new file mode 100644 index 00000000..3bd4cff3 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before-states/index-1440-dark-fail.jpg differ diff --git a/docs/plans/site-ui-3-shots/before-states/index-1440-dark-focus3.png b/docs/plans/site-ui-3-shots/before-states/index-1440-dark-focus3.png new file mode 100644 index 00000000..e51008e2 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before-states/index-1440-dark-focus3.png differ diff --git a/docs/plans/site-ui-3-shots/before-states/index-1440-dark-focus8.png b/docs/plans/site-ui-3-shots/before-states/index-1440-dark-focus8.png new file mode 100644 index 00000000..c001b6ec Binary files /dev/null and b/docs/plans/site-ui-3-shots/before-states/index-1440-dark-focus8.png differ diff --git a/docs/plans/site-ui-3-shots/before-states/index-1440-dark-stale.jpg b/docs/plans/site-ui-3-shots/before-states/index-1440-dark-stale.jpg new file mode 100644 index 00000000..c398578b Binary files /dev/null and b/docs/plans/site-ui-3-shots/before-states/index-1440-dark-stale.jpg differ diff --git a/docs/plans/site-ui-3-shots/before-states/index-1440-light-focus3.png b/docs/plans/site-ui-3-shots/before-states/index-1440-light-focus3.png new file mode 100644 index 00000000..706dd71b Binary files /dev/null and b/docs/plans/site-ui-3-shots/before-states/index-1440-light-focus3.png differ diff --git a/docs/plans/site-ui-3-shots/before-states/index-1440-light-focus8.png b/docs/plans/site-ui-3-shots/before-states/index-1440-light-focus8.png new file mode 100644 index 00000000..5347dff5 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before-states/index-1440-light-focus8.png differ diff --git a/docs/plans/site-ui-3-shots/before-states/index-390-dark-focus2.png b/docs/plans/site-ui-3-shots/before-states/index-390-dark-focus2.png new file mode 100644 index 00000000..9783a2e2 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before-states/index-390-dark-focus2.png differ diff --git a/docs/plans/site-ui-3-shots/before-states/litepaper-1440-dark.pdf b/docs/plans/site-ui-3-shots/before-states/litepaper-1440-dark.pdf new file mode 100644 index 00000000..29afd306 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before-states/litepaper-1440-dark.pdf differ diff --git a/docs/plans/site-ui-3-shots/before-states/litepaper-1440-dark.png b/docs/plans/site-ui-3-shots/before-states/litepaper-1440-dark.png new file mode 100644 index 00000000..f9b2d7a6 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before-states/litepaper-1440-dark.png differ diff --git a/docs/plans/site-ui-3-shots/before-states/litepaper-1440-light.pdf b/docs/plans/site-ui-3-shots/before-states/litepaper-1440-light.pdf new file mode 100644 index 00000000..a58f6c77 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before-states/litepaper-1440-light.pdf differ diff --git a/docs/plans/site-ui-3-shots/before-states/litepaper-1440-light.png b/docs/plans/site-ui-3-shots/before-states/litepaper-1440-light.png new file mode 100644 index 00000000..447425a1 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before-states/litepaper-1440-light.png differ diff --git a/docs/plans/site-ui-3-shots/before-states/live-1440-dark-fail.jpg b/docs/plans/site-ui-3-shots/before-states/live-1440-dark-fail.jpg new file mode 100644 index 00000000..69891690 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before-states/live-1440-dark-fail.jpg differ diff --git a/docs/plans/site-ui-3-shots/before-states/live-1440-dark-stale.jpg b/docs/plans/site-ui-3-shots/before-states/live-1440-dark-stale.jpg new file mode 100644 index 00000000..9d5e4e2a Binary files /dev/null and b/docs/plans/site-ui-3-shots/before-states/live-1440-dark-stale.jpg differ diff --git a/docs/plans/site-ui-3-shots/before-states/miner-1440-dark-fail.jpg b/docs/plans/site-ui-3-shots/before-states/miner-1440-dark-fail.jpg new file mode 100644 index 00000000..91d0cdad Binary files /dev/null and b/docs/plans/site-ui-3-shots/before-states/miner-1440-dark-fail.jpg differ diff --git a/docs/plans/site-ui-3-shots/before-states/miners-1440-dark-fail.jpg b/docs/plans/site-ui-3-shots/before-states/miners-1440-dark-fail.jpg new file mode 100644 index 00000000..a7992fdc Binary files /dev/null and b/docs/plans/site-ui-3-shots/before-states/miners-1440-dark-fail.jpg differ diff --git a/docs/plans/site-ui-3-shots/before-states/miners-1440-dark-stale.jpg b/docs/plans/site-ui-3-shots/before-states/miners-1440-dark-stale.jpg new file mode 100644 index 00000000..a7992fdc Binary files /dev/null and b/docs/plans/site-ui-3-shots/before-states/miners-1440-dark-stale.jpg differ diff --git a/docs/plans/site-ui-3-shots/before-states/wallet-1440-dark-fail.jpg b/docs/plans/site-ui-3-shots/before-states/wallet-1440-dark-fail.jpg new file mode 100644 index 00000000..be706fa3 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before-states/wallet-1440-dark-fail.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-dark.jpg b/docs/plans/site-ui-3-shots/before/address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-dark.jpg new file mode 100644 index 00000000..bbe4ae0a Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-light.jpg b/docs/plans/site-ui-3-shots/before/address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-light.jpg new file mode 100644 index 00000000..85665d22 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/address_igneumdev:qz9hw3xy72g4guwfddvpxs-390-dark.jpg b/docs/plans/site-ui-3-shots/before/address_igneumdev:qz9hw3xy72g4guwfddvpxs-390-dark.jpg new file mode 100644 index 00000000..f94781f3 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/address_igneumdev:qz9hw3xy72g4guwfddvpxs-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/address_igneumdev:qz9hw3xy72g4guwfddvpxs-390-light.jpg b/docs/plans/site-ui-3-shots/before/address_igneumdev:qz9hw3xy72g4guwfddvpxs-390-light.jpg new file mode 100644 index 00000000..f94781f3 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/address_igneumdev:qz9hw3xy72g4guwfddvpxs-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/bench-1440-dark.jpg b/docs/plans/site-ui-3-shots/before/bench-1440-dark.jpg new file mode 100644 index 00000000..4ed3ae62 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/bench-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/bench-1440-light.jpg b/docs/plans/site-ui-3-shots/before/bench-1440-light.jpg new file mode 100644 index 00000000..4ed3ae62 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/bench-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/bench-390-dark.jpg b/docs/plans/site-ui-3-shots/before/bench-390-dark.jpg new file mode 100644 index 00000000..16edcced Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/bench-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/bench-390-light.jpg b/docs/plans/site-ui-3-shots/before/bench-390-light.jpg new file mode 100644 index 00000000..16edcced Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/bench-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/block_cc9d87b929b6404c-1440-dark.jpg b/docs/plans/site-ui-3-shots/before/block_cc9d87b929b6404c-1440-dark.jpg new file mode 100644 index 00000000..c02325d7 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/block_cc9d87b929b6404c-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/block_cc9d87b929b6404c-1440-light.jpg b/docs/plans/site-ui-3-shots/before/block_cc9d87b929b6404c-1440-light.jpg new file mode 100644 index 00000000..c02325d7 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/block_cc9d87b929b6404c-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/block_cc9d87b929b6404c-390-dark.jpg b/docs/plans/site-ui-3-shots/before/block_cc9d87b929b6404c-390-dark.jpg new file mode 100644 index 00000000..063a4028 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/block_cc9d87b929b6404c-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/block_cc9d87b929b6404c-390-light.jpg b/docs/plans/site-ui-3-shots/before/block_cc9d87b929b6404c-390-light.jpg new file mode 100644 index 00000000..063a4028 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/block_cc9d87b929b6404c-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/evidence-1440-dark.jpg b/docs/plans/site-ui-3-shots/before/evidence-1440-dark.jpg new file mode 100644 index 00000000..45dbfd65 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/evidence-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/evidence-1440-light.jpg b/docs/plans/site-ui-3-shots/before/evidence-1440-light.jpg new file mode 100644 index 00000000..45dbfd65 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/evidence-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/evidence-390-dark.jpg b/docs/plans/site-ui-3-shots/before/evidence-390-dark.jpg new file mode 100644 index 00000000..e5d61bb0 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/evidence-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/evidence-390-light.jpg b/docs/plans/site-ui-3-shots/before/evidence-390-light.jpg new file mode 100644 index 00000000..e5d61bb0 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/evidence-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/explorer-1440-dark.jpg b/docs/plans/site-ui-3-shots/before/explorer-1440-dark.jpg new file mode 100644 index 00000000..8987d659 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/explorer-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/explorer-1440-light.jpg b/docs/plans/site-ui-3-shots/before/explorer-1440-light.jpg new file mode 100644 index 00000000..d4578854 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/explorer-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/explorer-390-dark.jpg b/docs/plans/site-ui-3-shots/before/explorer-390-dark.jpg new file mode 100644 index 00000000..74d78963 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/explorer-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/explorer-390-light.jpg b/docs/plans/site-ui-3-shots/before/explorer-390-light.jpg new file mode 100644 index 00000000..d3f38a5e Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/explorer-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/faucet-1440-dark.jpg b/docs/plans/site-ui-3-shots/before/faucet-1440-dark.jpg new file mode 100644 index 00000000..dc899e95 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/faucet-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/faucet-1440-light.jpg b/docs/plans/site-ui-3-shots/before/faucet-1440-light.jpg new file mode 100644 index 00000000..dc899e95 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/faucet-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/faucet-390-dark.jpg b/docs/plans/site-ui-3-shots/before/faucet-390-dark.jpg new file mode 100644 index 00000000..ccbd0768 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/faucet-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/faucet-390-light.jpg b/docs/plans/site-ui-3-shots/before/faucet-390-light.jpg new file mode 100644 index 00000000..ccbd0768 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/faucet-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/index-1440-dark.jpg b/docs/plans/site-ui-3-shots/before/index-1440-dark.jpg new file mode 100644 index 00000000..a1ee3d7d Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/index-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/index-1440-light.jpg b/docs/plans/site-ui-3-shots/before/index-1440-light.jpg new file mode 100644 index 00000000..7a1cb4ee Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/index-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/index-390-dark.jpg b/docs/plans/site-ui-3-shots/before/index-390-dark.jpg new file mode 100644 index 00000000..45826abb Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/index-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/index-390-light.jpg b/docs/plans/site-ui-3-shots/before/index-390-light.jpg new file mode 100644 index 00000000..236998c8 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/index-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/ledger-1440-dark.jpg b/docs/plans/site-ui-3-shots/before/ledger-1440-dark.jpg new file mode 100644 index 00000000..417ab0e1 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/ledger-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/ledger-1440-light.jpg b/docs/plans/site-ui-3-shots/before/ledger-1440-light.jpg new file mode 100644 index 00000000..417ab0e1 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/ledger-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/ledger-390-dark.jpg b/docs/plans/site-ui-3-shots/before/ledger-390-dark.jpg new file mode 100644 index 00000000..46eaca45 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/ledger-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/ledger-390-light.jpg b/docs/plans/site-ui-3-shots/before/ledger-390-light.jpg new file mode 100644 index 00000000..46eaca45 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/ledger-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/litepaper-1440-dark.jpg b/docs/plans/site-ui-3-shots/before/litepaper-1440-dark.jpg new file mode 100644 index 00000000..f37a6f97 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/litepaper-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/litepaper-1440-light.jpg b/docs/plans/site-ui-3-shots/before/litepaper-1440-light.jpg new file mode 100644 index 00000000..9992518e Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/litepaper-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/litepaper-390-dark.jpg b/docs/plans/site-ui-3-shots/before/litepaper-390-dark.jpg new file mode 100644 index 00000000..881d6fb9 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/litepaper-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/litepaper-390-light.jpg b/docs/plans/site-ui-3-shots/before/litepaper-390-light.jpg new file mode 100644 index 00000000..c7e8510f Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/litepaper-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/live-1440-dark.jpg b/docs/plans/site-ui-3-shots/before/live-1440-dark.jpg new file mode 100644 index 00000000..26bb2cc5 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/live-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/live-1440-light.jpg b/docs/plans/site-ui-3-shots/before/live-1440-light.jpg new file mode 100644 index 00000000..80a6269b Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/live-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/live-390-dark.jpg b/docs/plans/site-ui-3-shots/before/live-390-dark.jpg new file mode 100644 index 00000000..20d7773c Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/live-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/live-390-light.jpg b/docs/plans/site-ui-3-shots/before/live-390-light.jpg new file mode 100644 index 00000000..81440097 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/live-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/metamask-1440-dark.jpg b/docs/plans/site-ui-3-shots/before/metamask-1440-dark.jpg new file mode 100644 index 00000000..408913fa Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/metamask-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/metamask-1440-light.jpg b/docs/plans/site-ui-3-shots/before/metamask-1440-light.jpg new file mode 100644 index 00000000..408913fa Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/metamask-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/metamask-390-dark.jpg b/docs/plans/site-ui-3-shots/before/metamask-390-dark.jpg new file mode 100644 index 00000000..d119e280 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/metamask-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/metamask-390-light.jpg b/docs/plans/site-ui-3-shots/before/metamask-390-light.jpg new file mode 100644 index 00000000..d119e280 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/metamask-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/miner-1440-dark.jpg b/docs/plans/site-ui-3-shots/before/miner-1440-dark.jpg new file mode 100644 index 00000000..b04991df Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/miner-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/miner-1440-light.jpg b/docs/plans/site-ui-3-shots/before/miner-1440-light.jpg new file mode 100644 index 00000000..b04991df Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/miner-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/miner-390-dark.jpg b/docs/plans/site-ui-3-shots/before/miner-390-dark.jpg new file mode 100644 index 00000000..ec8ce2d6 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/miner-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/miner-390-light.jpg b/docs/plans/site-ui-3-shots/before/miner-390-light.jpg new file mode 100644 index 00000000..ec8ce2d6 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/miner-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/miners-1440-dark.jpg b/docs/plans/site-ui-3-shots/before/miners-1440-dark.jpg new file mode 100644 index 00000000..a7992fdc Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/miners-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/miners-1440-light.jpg b/docs/plans/site-ui-3-shots/before/miners-1440-light.jpg new file mode 100644 index 00000000..a7992fdc Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/miners-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/miners-390-dark.jpg b/docs/plans/site-ui-3-shots/before/miners-390-dark.jpg new file mode 100644 index 00000000..fef408dc Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/miners-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/miners-390-light.jpg b/docs/plans/site-ui-3-shots/before/miners-390-light.jpg new file mode 100644 index 00000000..fef408dc Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/miners-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/no-such-page-1440-dark.jpg b/docs/plans/site-ui-3-shots/before/no-such-page-1440-dark.jpg new file mode 100644 index 00000000..be66041e Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/no-such-page-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/no-such-page-1440-light.jpg b/docs/plans/site-ui-3-shots/before/no-such-page-1440-light.jpg new file mode 100644 index 00000000..be66041e Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/no-such-page-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/no-such-page-390-dark.jpg b/docs/plans/site-ui-3-shots/before/no-such-page-390-dark.jpg new file mode 100644 index 00000000..b48a75e0 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/no-such-page-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/no-such-page-390-light.jpg b/docs/plans/site-ui-3-shots/before/no-such-page-390-light.jpg new file mode 100644 index 00000000..b48a75e0 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/no-such-page-390-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/wallet-1440-dark.jpg b/docs/plans/site-ui-3-shots/before/wallet-1440-dark.jpg new file mode 100644 index 00000000..be706fa3 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/wallet-1440-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/wallet-1440-light.jpg b/docs/plans/site-ui-3-shots/before/wallet-1440-light.jpg new file mode 100644 index 00000000..be706fa3 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/wallet-1440-light.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/wallet-390-dark.jpg b/docs/plans/site-ui-3-shots/before/wallet-390-dark.jpg new file mode 100644 index 00000000..8eb16945 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/wallet-390-dark.jpg differ diff --git a/docs/plans/site-ui-3-shots/before/wallet-390-light.jpg b/docs/plans/site-ui-3-shots/before/wallet-390-light.jpg new file mode 100644 index 00000000..8eb16945 Binary files /dev/null and b/docs/plans/site-ui-3-shots/before/wallet-390-light.jpg differ diff --git a/docs/plans/site-ui-3-ticklist.md b/docs/plans/site-ui-3-ticklist.md new file mode 100644 index 00000000..a264dd52 --- /dev/null +++ b/docs/plans/site-ui-3-ticklist.md @@ -0,0 +1,617 @@ +# Site UI 3 audit, appendix A: the tick list + +Every visible claim, number, date, link and feature per page, in reading order, with its source and today's verdict. +Read 6 October 2026 at 18:16 UTC (API: height 140,681; 0.983 blocks/s; 2.66 GH/s; 71 vote keys in 10 min; last lock +6,795; proving active since DAA 84,100; 2,149 shards paid; median proof lag 387.5 s; verifier Off on the observer's node). +Verdicts: MATCH (source says the same today), STALE (source moved on), UNSOURCED (no source in the repository or the +API), APPROX (labelled approximate on the page or in the source). The build keeps every row; a row that moves gets its +new place written in the design's per-page notes. Rows marked "generated" mirror a markdown document and are kept by +keeping the generator. + +Row counts: home 88, litepaper 151, nav 11, footer 24, live 22, miners 19, miner 66, wallet 29, bench 5 hand-written, +evidence 12 hand-written, ledger 8 hand-written, explorer 23, block 11, address 9, faucet 8, metamask 9, 404 7. Total 502. + +## Home page (site/index.html) + +| id | section | text | kind | source and verdict | +|---|---|---|---|---| +| I-1 | nav | Litepaper, Live devnet, Engineering log, Miner, Wallet, Evidence, GitHub, "The miner" | links | all 200 | +| I-2 | hero | "GPUs are back · for good" | claim | | +| I-3 | hero | "Mined by GPUs. Proven by fire." | tagline | ledger row 820 allows it | +| I-4 | hero | "A new mining program every hour, compiled on the card" | claim | bench-log 4 Oct swap entry, MATCH | +| I-5 | hero | "strongest chip reaches 5x to 9x per joule against an RTX 5090" | number | docs/plans/morning-2026-10-06.md 35-40, evidence row 17; APPROX (model); the plan's line 55 says pick a wording before any public push | +| I-6 | hero | "about 2x once the lever now in its gates ships" | number | morning table row reads 2.7x; counter-asic-3-status.md not in tree; UNSOURCED here | +| I-7 | hero | "the numbers" to /bench#counter-asic-2-0-the-numbers | link | anchor exists | +| I-8 | hero | "Every NVIDIA card from 8 GB proves and is paid for it; 12 GB and up mine and prove; AMD and Apple cards mine" | claim | morning 107 (patched server ships in 0.3.14); litepaper 452 says not in the shipped app; live verifier Off; STALE wording (present tense) | +| I-9 | hero | "No premine, no stake, no foundation" | claim | spec 02, 05; MATCH | +| I-10 | hero | "See the miner" (#mine), "Read the litepaper" | links | | +| I-11 | hero card | "This tab · light client", badge PREVIEW / LIVE | feature, state | /verify/verify.js | +| I-12 | hero card | "Browser checks Igneum. A checkpoint certificate, verified in this tab. Voter list from the node." | claim | /api/checkpoint 200 | +| I-13 | hero card | BLOCK PROOF "not yet" (title: first off-chain GPU proof 4 Oct 2026) | state, date | bench-log 578; MATCH | +| I-14 | hero card | CHECKPOINT "checking" then the index | state | live | +| I-15 | hero card | PROOF SYSTEM "BLS aggregate, version 1" | claim | verify/core.js | +| I-16 | hero card | VERIFIED IN THIS TAB "checking" then the result | feature | | +| I-17 | live strip | vote keys in 10 min, blocks/s, hash rate, chain block (item 0) | feature | /api/live state | +| I-18 | stats | "1 / s blocks, rising to 10" | number | /api/live 0.983/s; MATCH | +| I-19 | stats | "~60 s to a proof at launch, the target" | number | roadmap gate 3; live lag 387 s not stated | +| I-20 | stats | "First GPU proof of a block: 1.4 s on an RTX 5090, 4 Oct 2026" | number, date | bench-log 590; MATCH | +| I-21 | stats | "0 premine" | number | MATCH | +| I-22 | stats | "4B IGN hard cap, ever" | number | spec 02 118; /api/supply; MATCH | +| I-23 | stats | "100% of emission to miners and provers; the protocol carries no fee" | number | spec 05 61; /api/stats split; MATCH | +| I-24 | prove | "Watch the chain prove itself" | heading | | +| I-25 | prove | "Blocks every second, proven in shards, locked every 30 seconds" | number | checkpointInterval 30; MATCH | +| I-26 | prove | "First live lock 4 Oct 2026: checkpoint 242, 77.4% of all weight, two hours after genesis" | number, date | bench-log 713; MATCH | +| I-27 | prove | chain scene with chain block, shards proven, last lock (item 0) | feature | /api/live | +| I-28 | prove | legends (simulated, live) | feature | | +| I-29 | prove | viz note "One node is read every 2 s ..." | feature | | +| I-30 | prove | "This hour's program", countdown, "64 instructions x 8 iterations", "seed from a locked checkpoint, through a 10 minute delay" | feature, numbers | spec 00 31; bench-log 150; MATCH | +| I-31 | prove | "A new program every hour. Last hour's chip is already obsolete." | claim | aphorism, copy law | +| I-32 | prove | "First live swap 4 Oct 2026: Apple, NVIDIA and AMD kept hashing through it, 0 rejected blocks." | number, date | bench-log 634, 644; MATCH | +| I-33 | prove | feed rows batch proof, state proof, fault proof "at testnet"; "IGN burned from jobs" "phase two" | state words | | +| I-34 | prove | "Jobs are paid on the customer's chain at launch; settlement in IGN with a 10% burn follows the proof bridge in phase two" | number | spec 05 47-48; evidence row 24; MATCH; ledger P10 sentence | +| I-35 | prove | "Live rows arrive with the public testnet, August 2027" | date | roadmap; ledger X3 sentence | +| I-36 | prove | "Read more in the litepaper" /litepaper#proving | link | exists | +| I-37 | randomx | "Monero's idea, finished for GPUs" | heading | ledger overclaim 68 asks "Monero's technique, applied to GPUs"; not applied | +| I-38 | randomx | "kept chips off Monero since 2019 (approximate)" | date | asic history row 16; ledger C2 sentence; MATCH | +| I-39 | randomx | table CPUs/GPUs; every hash/every hour; "2 GB, fixed" / "2 GB, growing (proposed schedule, fixed at the testnet genesis: 2 GB, doubling at years 4, 12 and 28)"; any CPU | numbers | evidence row 31 (schedule 4, 12, 28, 60, recommended); APPROX | +| I-40 | randomx | "The program keeps changing on a schedule fixed at genesis. Nobody touches it." | claim | aphorism | +| I-41 | randomx | /litepaper#randomx; "Built on the shoulders: Kaspa's GHOSTDAG and node, Monero's RandomX idea, Chia's class-group VDF, Ethereum's EVM, Succinct's SP1, BLS12-381 and Bitcoin's address format"; /litepaper#shoulders | claim, links | exist | +| I-42 | build | "One chain, three jobs" | heading | | +| I-43 | build | "Any 4 GB card at launch, 8 GB from about year 4 ... doubling at years 4, 12 and 28, approximate. 80% of each block to its finder." | numbers | spec 02 123; evidence row 31; MATCH, APPROX | +| I-44 | build | "The same card proves shards and sells proofs to other chains."; #prove | claim, link | | +| I-45 | build | "Ethereum bytecode, with the differences documented ... 20% of priority fees to the contracts that ran, stated at the fee levels that exist."; /litepaper#builders-ask | number, link | spec 05 25; MATCH; ledger overclaim 35 wording | +| I-46 | build | /litepaper#building | link | exists | +| I-47 | mine | "One click. The card mines; every NVIDIA card from 8 GB proves, 12 GB and up mine and prove." | heading | 91 characters; see I-8 | +| I-48 | mine | "Igneum Ember finds your GPU, makes a wallet for you and runs the node, the miner and the prover as one app." | claim | | +| I-49 | mine | screenshot; "Igneum Ember (the app is still labelled Igneum Miner until 0.3.6) on an Apple M5 Max, live devnet, 5 Oct 2026." | number, date | litepaper 400 says 0.3.13 still says Igneum Miner; STALE | +| I-50 | mine | "NVIDIA, AMD, Apple silicon. Found by itself. One worker per card, several identities each." | claim | | +| I-51 | mine | "Compiled ahead and swapped in 0.01 ms on the live devnet, 0 rejected blocks." | number | bench-log 644; MATCH | +| I-52 | mine | "Signed updates at a safe moment ... The old version comes back if the new one fails to start." | claim | | +| I-53 | mine | "Kernel variants raced every hour, hash per watt swept, every number in the bench table." | claim | sweep not yet run on a card (litepaper 612); overclaim | +| I-54 | mine | Windows "v0.3.14 · 45.4 MB" | link, number | host 0.3.14, 45,416,619 bytes; MATCH live; downloads.json snapshot 0.3.10 STALE | +| I-55 | mine | macOS "v0.3.14 · 41.9 MB" | link, number | host MATCH; snapshot STALE | +| I-56 | mine | "Linux · HiveOS" /miner#get | link | exists | +| I-57 | mine | "Devnet: coins have no value and the chain may be reset." | claim | | +| I-58 | mine | "Public testnet: not yet open; the devnet build is here for people who want to look." | state | ledger X2 sentence | +| I-59 | mine | /miner; "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." | number, claim | bench-log dev fee entry; MATCH | +| I-60 | terms | "What you agree to when you run the testnet miner" | heading | 48 characters | +| I-61 | terms | "No value ... no airdrop, no points scheme ... Mainnet starts from an empty genesis." | claim | | +| I-62 | terms | "Every reset is announced at least seven days ahead on this page and in the app ... The devnet that runs today resets without notice." | number | testnet-go.md 75, PLACEHOLDER text; APPROX | +| I-63 | terms | "What the app sends home ... a service Igneum runs on Vercel ... Never your seed phrase ... Nothing is sold or shared." | claim | | +| I-64 | terms | /metamask; "optional 1% fee ... no fee to anyone" | link, number | | +| I-65 | wallet | "Your coins, your wallet"; "Igneum Wallet holds the key the miner makes for you and verifies finality itself. MetaMask works too." | claim | | +| I-66 | wallet | states "pending", "in a block", "final · cp 5" | feature | "cp 5" is an abbreviation | +| I-67 | wallet | "24 words, three typed back, a password. Argon2id and XChaCha20-Poly1305. Nothing leaves." | claim | app/igneum-wallet not in this tree; UNSOURCED here | +| I-68 | wallet | "Rewards in one history ... QR drawn locally"; "Reads your own node ... Nobody else sees your balance." | claims | | +| I-69 | wallet | /wallet, /wallet#metamask | links | exist | +| I-70 | wallet | "macOS first, Windows next. Public testnet first." | state | | +| I-71 | wallet | screenshot; "Igneum Wallet on a private test network, 5 Oct 2026. The address is an example." | date | | +| I-72 | journey | "Where Igneum is right now"; label from JSON "updated 6 Oct 2026" | state | | +| I-73 | journey | "Thirteen months, four public gates, each a measurement published pass or fail." | number | litepaper roadmap; MATCH | +| I-74 | journey | six phases with dates and gates (JSON) | dates, numbers | phase 2 gate text differs from the litepaper's gate 2; three phases active at once | +| I-75 | journey | "Day one was 3 October 2026" | date | bench-log 213 | +| I-76 | journey | log of 40 entries, 8 shown, "Show all 40 entries" | feature | bench-log headings; MATCH; the eight default entries carry raw shorthand and scrub artefacts | +| I-77 | journey | /litepaper#roadmap | link | exists | +| I-78 | economics | "Every coin, mined"; "Hard cap of 4 billion IGN, halving every two years for ever." | number | spec 02 121; MATCH | +| I-79 | economics | bar "80% miners", "20% provers", "0% anyone else in the protocol" | numbers | MATCH | +| I-80 | economics | tiles "0 premine", "0 stake, anywhere", "0 admin keys in consensus", "90% of blocks must signal to upgrade" | numbers | spec 00 61, 05 83; ledger G4 tile; MATCH | +| I-81 | economics | "Base fee burned. The one payment to the project is the Ember software's optional 1% dev fee ... coinbase's 20% output is burned under the tag igneum-proving-pool-v0 ... separate escrow ... same 20%." | numbers | ledger E5 sentence verbatim; evidence rows 20, 21; MATCH | +| I-82 | economics | /litepaper#economics | link | exists | +| I-83 | band | "Read what Igneum does not claim." "Proof lag, chip economics, the market size, and the one rule external review will try hardest to break." | claim, link | | +| I-84 | footer | tagline | claim | | +| I-85 to I-88 | footer | the 24 footer rows (see Footer below) | links, claims | | + +Ledger sentences required on the home page: E5 (yes, verbatim), G4 tile (yes), C2 hero chip sentence (no: hero now carries the model figures), C2 RandomX "since 2019 (approximate)" (yes), X2 notice (yes; the version differs from the ledger's v0.3.9 note), X3 (yes), X7 footer routes (yes), X8 phase 6 (yes), L2 "Half of all IGN" absent (yes), overclaim 68 (not applied), overclaim 57 "approximate" on card lifetime (yes). + +## Litepaper (site/litepaper.html) + +| id | section | text | kind | source and verdict | +|---|---|---|---|---| +| L-1 | cover | "Litepaper · version 0.2" | number | | +| L-2 | cover | tagline; "protected from specialised chips by a program that changes every hour" | claim | | +| L-3 | cover | "Published 3 October 2026 · updated 5 October 2026" | date | body cites 6 October in nine places; STALE | +| L-4 | cover | "Coin IGN · cap 4,000,000,000" | number | MATCH | +| L-5 | cover | "Status devnet live, pre-testnet" | state | | +| L-6 | cover | "Method one founder with AI systems · external review before gate 3" | claim | ledger G2 sentence | +| L-7 | cover | "This is not an offer to sell anything" | claim | | +| L-8 | contents | 19 sections; "One section at a time" / "Whole paper" (localStorage); "Latin igneum: fiery. A cupel ..." | feature | the single-section mode breaks print | +| L-9 | abstract | "NVIDIA cards also prove every block with zero-knowledge proofs and sell proving to other chains" | claim | | +| L-10 | abstract | "strongest recompute chip ... 256 MiB cache on-die, reaches under 1x per chip" | number | chip-model-v3.md 69, 82; MATCH (model) | +| L-11 | abstract | "memory-controller chip ... 1.2x per chip and, in our model, 5x to 9x per joule" | number | morning 39-40; APPROX; not in the file the page cites | +| L-12 | abstract | "Ethash chips of this class reached 2.1x to 4.8x" | number | asic history row 3; MATCH | +| L-13 | abstract | "brings the chip to about 2x" | number | plan table says 2.7x; UNSOURCED here | +| L-14 | abstract | sources: chip-model-v3.md section 5, 6 October 2026; asic history (Phoenix 2020, X4 2021, E9 2022); Counter ASIC 3.0 item 8 (5.6x to 2.1x, 0.2%, gates G1 to G6) | numbers, dates | chip-model-v3 has sections 1 to 4, dated 5 Oct; counter-asic-3 table has items 1 to 7; citation wrong, UNSOURCED | +| L-15 | abstract | "tested by paid independent cryptanalysis and the public benchmark" | claim | | +| L-16 | abstract | "included in about one second, proven within about a minute at launch, and locked by miners within about two" | numbers | spec 03; MATCH as design | +| L-17 | abstract | "no premine, no pre-sale, no treasury taken from emission, no stake anywhere in consensus, and no dependence on any other chain" | claim | MATCH | +| L-18 | abstract | "a chip for the whole program space is a GPU without the graphics parts" | claim | | +| L-19 | abstract | "Writing new code, including an emergency fix to the proof system, is the one thing that takes a person, and it activates only on miner signalling" | claim | ledger P7 sentence | +| L-20 | abstract | tiles 1/s, ~60 s, 0, 100% | numbers | MATCH (target); live lag not stated | +| L-21 | precedents | "We know of no chain that combines them ... corrected when shown wrong." | claim | ledger C11 sentence | +| L-22 | precedents | column "State, 5 Oct 2026" | date | | +| L-23 | precedents | RandomX since 2019; "ProgPoW, as KAWPOW on Ravencoin since 2020 (approximate)"; "Measured: hourly swaps on Apple, NVIDIA and AMD cards on the live devnet, 4 October 2026" | dates, state | ledger M4 sentence; bench-log 634; MATCH | +| L-24 | precedents | Primecoin 2013, Aleo (approximate); "Implemented: proving v0 on the live devnet since 5 October 2026. The job market ... Designed" | state, date | activation_daa 84,100; MATCH | +| L-25 | precedents | Conflux since 2020 (approximate); "Implemented in part ... aggregated block proof ... Designed" | state | | +| L-26 | precedents | Decred, Horizen, Kaspa (approximate); "Vote weight is 30 days of blocks per key"; "rule v2 live, first lock 4 October 2026. External review is owed at gate 3" | number, date | bench-log 713; MATCH | +| L-27 | precedents | "Kaspa's fair launch."; Zcash, Decred (approximate); "optional 1% dev fee ... off with one flag"; "80/20 coinbase on the devnet" | numbers | ledger C3; /api/stats split; MATCH | +| L-28 | precedents | sync committee (approximate); "The consensus proof that makes the checkpoint self-verifying is phase two"; "The home page's card verifies a devnet certificate in the browser today" | state | ledger P4 sentence | +| L-29 | precedents | "Claims about other chains are from memory until cited ... marked approximate" | claim | | +| L-30 | precedents | pull quote "GPU mining lost its largest home in 2022 ..." | claim | | +| L-31 | problem | "Ethereum left proof of work in 2022"; "Chips arrived, as on Kaspa, whose hash was designed to welcome them"; "Ergo, Ravencoin and Conflux ... fraction of the 2022 fleet (approximate)" | claims | ledger C3, C8 sentences; MATCH | +| L-32 | problem | "those proofs come from a few private GPU clusters" | claim | | +| L-33 | problem | "Ethereum Classic, Bitcoin Gold and Vertcoin were all hit this way" | claim | asic history rows 6, 7 | +| L-34 | problem | "a supplier whose marginal cost is close to power"; "earned over a month of public mining, not rented for an hour" | claims | ledger P6 sentence | +| L-35 | glance | five-layer figure (program hourly; one block a second; included in about a second; Solidity unchanged; shards within about a minute, paid from gas; checkpoint every 30 s, 30-day history; "Fresh rented hashrate has no vote") | numbers | spec 03; MATCH as design | +| L-36 | glance | "Live on the devnet, 5 October 2026"; "run since 3 October 2026 on several machines, cards from all three GPU vendors" | dates | devnet v0 3 Oct, live v4 chain 4 Oct; APPROX | +| L-37 | glance | Mining lottery row, "4 Oct 2026, first live swap" | date | MATCH | +| L-38 | glance | Blocks row "About one a second with the full fleet; 0.65 a second over the hour to 16:00 UTC on 6 Oct 2026 with one PC off (2,325 blocks)" | numbers | not in docs; API now 0.98/s; UNSOURCED and STALE | +| L-39 | glance | Difficulty "Rule v2, a 600-second reference window, switched on by height; DAA 33,000, 4 Oct 2026" | numbers | spec 02 58; bench-log 1041; MATCH | +| L-40 | glance | Finality row: 30 s, two thirds, checkpoint 242, 77.4%, 17 vote keys | numbers | MATCH | +| L-41 | glance | Proving row: v0 active, DAA 84,100, 5 Oct 2026 | number, date | MATCH | +| L-42 | glance | Ember "version 0.3.13 (6 Oct 2026); the app window still says Igneum Miner" | number, date | release-0.3.13.md; MATCH; contradicts I-49 | +| L-43 | glance | Wallet "Igneum Wallet 0.1.1 on macOS, 5 Oct 2026" | number | downloads.json 0.1.4; STALE | +| L-44 | glance | Measured line: three log entries; "the 0.3.6 release plan"; "evidence table, row 7" | claim | | +| L-45 | glance | "0.3.6 ships the verifier with the app"; "two outside laptops. Nothing here has been reproduced by anyone outside the project yet" | claims | verifier Off on the observer's node today; STALE; laptops bench-log 905, 1061 MATCH | +| L-46 | mining | "Every GPU chain that promised ASIC resistance shipped a fixed algorithm" | claim | | +| L-47 | mining | "seed from a locked checkpoint one epoch back ... ten-minute verifiable delay"; "32 lanes of a warp"; "multi-gigabyte dataset that changes daily" | numbers | bench-log 150; spec 01; MATCH | +| L-48 | mining | "Measured: an RTX 5090 hashes at 95 GB/s of useful 4-byte loads against 1,638 GB/s of sequential writes" | number | bench-log 80; ledger M10 sentence; MATCH | +| L-49 | mining | "memory footprint and instruction count are fixed and only the maths sequence is random" | claim | | +| L-50 | mining | "checks a hash on an ordinary CPU in under ten milliseconds by simulating one warp" | number | spec 01 gate | +| L-51 | mining | "Measured: 0.61 ms per warp ... class v2 and 2.1 ms for class v3 (mixer x8, 5 October 2026, load average 5.5, worst cold unit 2.15 ms), 3.4x; the 10 ms gate leaves 4.8x; a 2019-class laptop core is not yet measured" | numbers | spec 01 399 (v2 0.631); chip-model-v3 26 gives 2.79 ms at load 5.6; APPROX, two measurements disagree; ledger M9 quotes the older 0.41 to 0.58 | +| L-52 | mining | "The hash is a lottery, not a general-purpose cryptographic hash ... Open: no analysis of the lottery properties exists yet." | claim, state | ledger M7 sentences | +| L-53 | mining | clock table: 128 dataset addresses per nonce; hour; day; six months from a genesis reserve; "Ethereum's growing dataset ran Bitmain's E3 out of memory in 2020, approximate" | numbers | spec 01 1.4; asic history row 3; MATCH, APPROX | +| L-54 | mining | "Three ideas ... A 90% miner signal turns one on. No fork." | number | spec 05 81; MATCH | +| L-55 | mining | "No hash has stayed free of chips forever. Igneum does not claim to."; "the response takes a week"; /bench#counter-asic-2-0-the-numbers; "Monero ... since 2019 with no chip publicly shipped, approximate; that is precedent, not proof" | claims, link | ledger C2 (wording "Monero is precedent, not proof" differs) | +| L-56 | mining | "anyone could publish a new generator and miners would switch it on by signalling" | claim | | +| L-57 | randomx | "RandomX has kept chips off Monero since 2019" | date | asic row 16 | +| L-58 | randomx | "Bit-exact on Apple, NVIDIA and AMD, measured" | claim | evidence row 19; MATCH | +| L-59 | randomx | "Per hour, compiled to native GPU code. Per hash, the 128 dataset addresses change" | numbers | MATCH | +| L-60 | randomx | "About 2 GB, the same size since 2019, approximate" / "2 GB, growing ... doubling at years 4, 12 and 28; a 4 GB card mines about four years, an 8 GB card about twelve, approximate" | numbers | evidence row 31; APPROX | +| L-61 | randomx | "256 MB cache on a CPU (512 MB from year 4), one warp under 10 ms. Measured 2.1 ms (3.4x class v2's 0.61 ms); a 2019-class core not yet" | numbers | spec 01 210; see L-51 | +| L-62 | randomx | "unchanged for seven years" / "Nobody touches it"; "Closed by a verifiable delay" | claims | | +| L-63 | randomx | "Every NVIDIA card from 8 GB proves; 12 GB and up mine and prove; 24 GB on the stock server (eleven rented cards, RTX 3060 to RTX 5090, 6 October 2026, docs/analysis/prover-tiers-real-cards.md)" | numbers, path | file missing in worktree; UNSOURCED; path on a user surface | +| L-64 | randomx | "No chip publicly shipped in seven years, approximate" / "public now (github.com/igneum-network/spec). The node, the miner and the wallet are in a private repository until the public testnet" | claim, link | ledger X1 sentence; MATCH | +| L-65 | randomx | "192 of 192 across two programs"; "228 million ... 45 million"; "prototype figures, not mining rates" | numbers | bench-log 74-100; MATCH | +| L-66 | randomx | "111x faster ... The 256 MB cache construction replaced it on 3 October 2026 ... computing items on the fly runs 4.8x slower than loading them"; "Open: the same shortcut ratio on NVIDIA and on a discrete AMD card" | numbers, state | bench-log 115, 138; ledger M2 sentence; MATCH | +| L-67 | randomx | "Inside the 5090's 96 MB cache the same program ran nearly six times faster" | number | ledger M1 (5.8x); MATCH | +| L-68 | randomx | "On 4 October 2026 ... a Mac at 26.7 million, an RTX 5090 at 123 million, an integrated AMD chip at 2.7 million, every hash doing 128 distinct reads" | numbers | bench-log 644; MATCH | +| L-69 | proving | "a phone checks it in milliseconds; the wrapping cost is a phase two measurement" | claim | ledger P3 sentence | +| L-70 | proving | "one BLS aggregate signature over 16 keys and 21 header hashes, 139 to 155 ms cold and 58 to 68 ms warm in a phone-sized tab on a laptop core (5 October 2026). No phone has been measured, and no wrapped block proof exists yet" | numbers | ledger P3 328; MATCH | +| L-71 | proving | "assigned by lot to eight provers for ten seconds, then open to anyone; there is no bond"; "within about a minute at launch"; native-execution check (spec section 7); "the way Kaspa skips conflicting spends" | numbers, state | spec 07; ledger P13; MATCH | +| L-72 | proving | "Measured on eleven rented cards ... RTX 3060 (12 GB) 23.78 MH/s ... 8.9 GB peak in 37.5 s; RTX 4060 (8 GB) 7.4 GB in 18.4 s; RTX 4090 (24 GB) 5.6 s at 17.4 GB. The patched server ... is not yet in the shipped app" | numbers, path | file missing; none of the seven numbers in bench-log; UNSOURCED | +| L-73 | proving | "Measured on 5 October 2026 (RTX 5090, SP1 6.8.1, 30,000 proving gas, about 4.7 million prover cycles): one full shard proves in 4.3 seconds and needs 20.4 GB; floor 13.9 GB; 32 GB today (30.1 GB) and 24 GB once the adopted shard size is live (22.2 GB beside the miner, 13.2 seconds a shard)" | numbers | bench-log 1994; proving-v1.md; evidence row 16; MATCH (4.2 vs 4.3 rounding) | +| L-74 | proving | "old 12 GB gate withdrawn on 5 October; on 6 October a patched server proved the same shard at 7.4 to 8.0 GB alone on eleven rented cards" | numbers | morning 107 only; UNSOURCED (file missing) | +| L-75 | proving | "4 October 2026: RTX 5090 proved a small two-transaction block in 1.4 seconds (2.7 compressed), verified in 0.22 and 0.038 seconds; a laptop CPU proved a three-shard block end to end in 19 minutes" | numbers | bench-log 590; evidence row 15; MATCH | +| L-76 | proving | "6.75 million prover gas ... 60.8 million cycles: core proof 8.3 s, compressed 10.9 s, verified in 0.040 s; a four-shard block 44.5 s" | numbers | bench-log 857; MATCH | +| L-77 | proving | "Since 5 October 2026 shards are assigned and proven on the live devnet"; "the gate stands open"; "hash-based ... versioned interface" | state | MATCH | +| L-78 | proving | "The job market is permissionless and is Designed, not yet built"; "10% of each fee burned ... phase two"; "Boundless provers post ZKC and Succinct provers stake PROVE (approximate)"; "We know of no other proof-of-work chain selling proofs to other chains" | state, claims | spec 05 48; ledger C10 sentence; MATCH | +| L-79 | finality | GHOSTDAG, Kaspa since 2021 (approximate), rusty-kaspa; four and ten (approximate); one second vs Ethereum's twelve; two minutes vs thirteen (approximate); "Inclusion is not confirmation on either chain"; "paid at that rate, red or blue" | numbers | ledger C3, C5 sentences; node 2.1.0; MATCH | +| L-80 | finality | "Every 30 seconds of chain a checkpoint forms"; "at least 100 blocks in the last 30 days"; "two thirds of all the mining weight"; "In the chain's first 30 days no checkpoint locks at all (Implemented, the first-month gate, measured 4 and 5 October 2026)"; "12-hour finality depth"; "window two hours, first lock two hours after genesis at 77.4% from 17 vote keys (4 October 2026)" | numbers, dates | spec 03; spec 02 16; /api/live weightWindow 7200; ledger F1 sentence; MATCH | +| L-81 | finality | pull "The word sustained is the whole defence ... The right to lock history is earned." | claim | | +| L-82 | finality | "ten days ... a third ... twenty to hold two thirds. An attacker matching the honest network needs twenty days for a third and never reaches two thirds"; "same limit Bitcoin lives with, with a month's warning"; "Pools carry their hashers' votes, so vote concentration equals pool concentration, and it is public" | numbers | spec 03 25; ledger F5, F10 sentences; MATCH (model) | +| L-83 | finality | "finality pauses ... up to 30 days"; "reported as absent within two hours"; "forked more than 12 hours of median time back"; "Kaspa's one-hour merge depth"; "strips the key of its vote for 30 days" | numbers | spec 03 Q1; MATCH | +| L-84 | finality | "No stake. No coin-holder class votes ... No anchoring into Bitcoin or any other chain." | claim | CLAUDE.md decisions; MATCH | +| L-85 | building | "Anything that runs on Ethereum runs on Igneum unchanged ... a different chain id"; "one-second inclusion, finality in about two minutes" | claim | ledger overclaim 35 asks the bytecode wording; not applied | +| L-86 | building | three things no other EVM chain offers: proving primitive; light clients (consensus proof phase two); rollups settle here | claims | ledger C11 sentence | +| L-87 | building | "The first apps, a DEX and a lending market, ship at genesis"; "No bridge is official" | claim | | +| L-88 | building | "Not for speed ... Three things no L2 can offer. Keep your Ethereum deployment." | claim | copy law | +| L-89 | building | "base fee that rises with the backlog, published at the phase 4 job market" | claim | | +| L-90 | building | "20% of every priority fee ... per call frame"; "a million 100,000-gas calls a day at a 1 gwei tip pays about 7,300 IGN a year, 1 gwei as a billionth of an IGN (the base unit is Open)" | numbers | ledger P14 sentence; MATCH | +| L-91 | building | "a proof Ethereum verifies for about 250,000 gas. Igneum reads Ethereum's finality trustlessly from launch. Ethereum reads Igneum trustlessly in phase two" | number | no source; UNSOURCED | +| L-92 | building | "No stablecoin and no official bridge at genesis. Grants come from founders' mined coins"; "miner lock in about two minutes" | claims | | +| L-93 | economics | "part of every payment on Igneum is burned"; "10% burn ... phase two" | number | ledger P10 sentence | +| L-94 | economics | "Hard cap of 4 billion ... 1 billion a year, halves every two years for ever. Nearly a quarter in the first year and half in the first two. Ramps 10% to 100% over 30 days" | numbers | spec 02 118-122; /api/supply; ledger L2 sentence; MATCH | +| L-95 | economics | chart "Half of the 4 billion cap is mined in the first two years"; bars 1000 ... 31; caption "3,938M IGN in the first 12 years" | numbers | /api/supply year 12 = 3,900.5M with the ramp; ledger overclaim 76 on the caption; STALE/APPROX | +| L-96 | economics | 80% miner; 20% pool "unspendable script tagged igneum-proving-pool-v0, burned (Implemented, proving v0, since 5 October 2026). Open: the single coinbase payout that replaces the burn"; 0% treasury | numbers, state | evidence rows 20, 21; MATCH | +| L-97 | economics | base fee burned (Ethereum's rule); 80/20; 90/10 | numbers | spec 05; MATCH | +| L-98 | economics | routes 1 to 6; route 6 "1 block template in 100 ... off with one flag; Implemented, measured 4 October 2026"; rows 4, 5 Designed | numbers | bench-log dev fee; MATCH | +| L-99 | economics | "Sources: specification sections 2.5 and 5.1 to 5.4" | claim | | +| L-100 | economics | "no tail emission. The schedule is a bet, not a measurement"; Kaspa's reduction (approximate); "about 3,000 consumer cards"; "300 W card at 124 MH/s on USD 0.12 per kWh"; "under one fifth of the block subsidy over any 90-day window after year 5" | numbers | security-budget.md 54-61; ledger E6 sentence; MATCH | +| L-101 | economics | USD 0.005 to year 7, USD 500,000; USD 0.02 to year 11; USD 0.10 none in 14 years, USD 1,250,000 | numbers | security-budget.md 101; MATCH | +| L-102 | economics | "No fund, no foundation, no fee to the team"; the full list; "1 block in 100 pays the project" | claim | ledger E5 sentences; MATCH | +| L-103 | miners | streams table; "No, but the market is small today and is upside, not a promise" | claims | | +| L-104 | miners | "4 October 2026, three machines at 275 million hashes a second, a second of hashing paid about 4.9x a second of proving; at 10,000 cards ... about 930x, approximate" | numbers | ledger X14 arithmetic; bench-log 790; APPROX | +| L-105 | miners | "half a gigabyte a year"; 4 GB four years, 8 GB twelve, approximate; the 8 GB proves sentence (path); "Macs mine too, at about a fifth of a flagship card: Measured, 26.7 against 123 million, 4 October 2026"; "no CPU mining lane ... botnets" | numbers | ledger M13 sentence MATCH; path row UNSOURCED | +| L-106 | miners | "switches the card to proving for a few seconds"; "1% dev fee ... by a counter, not a random draw, exactly 1 in 100"; "--dev-fee 0" | numbers | MATCH | +| L-107 | miners | "Implemented, Ember 0.3.9 (5 October 2026): chain label reads devnet v4 ... NVIDIA capped at 80% of default power limit ... not yet measured on a card; no earnings in IGN or any currency; no hardware-wallet path. Roadmap, Designed"; "browser mining has meant malware since Coinhive" | claims | release-0.3.9.md; MATCH | +| L-108 | miners | "Launch date and miner software published a month ahead. Pools live on testnet. HiveOS support on day one. The founders mine from genesis ... disclosed addresses"; "first 30 days ... 12-hour depth" | claims | ledger F1 second sentence | +| L-109 | ember | "runs the node, mines the hourly program, proves shards and keeps your key, on Windows, macOS and Linux"; "since 4 October 2026"; "six levers set on 4 October 2026" | dates | "six levers" has no document; UNSOURCED | +| L-110 | ember | features: one click; CUDA/OpenCL/Metal; key shown once; proving switch; "8 on a large card and 2 on a small one"; manifest hourly, 3 minutes, one minute of the hour, rollback; signed remote jobs; watchdog 90 s / 60 s; dashboard token | claims, numbers | h-config.sh 11; bench-log 1214; MATCH; "3 minutes" UNSOURCED | +| L-111 | ember | Source: app/igneum-app/src, packaging/hive; "Design, not yet measured on a real card: the watchdog rules and the fault guards ... fake worker only (4 October 2026)" | state | paths on a user surface | +| L-112 | ember | lever 1: "up to 17 variants ... 2 s"; "Shipped in the Metal and CUDA workers"; "+17.3% ... +21.2%, Apple M5 Max, 14 variants, ratios only. The RTX 5090 race is built and not yet run" | numbers | bench-log 1122, 1130 (14 variants); "up to 17" UNSOURCED | +| L-113 | ember | lever 2: "Shipped. The fleet is small, so no table yet" | state | | +| L-114 | ember | lever 3: "100% to 50% in 10% steps, 60 s"; "AMD and Apple: not supported"; "The first sweep on a card is pending. The RTX 5090 drew 290 W at p95 under a 460 W cap" | numbers | miner-eff.md, ember-tune.md; MATCH | +| L-115 | ember | lever 4: "Target under 50 ms"; "In 0.3.6"; "p50 46 to 52 ms, p90 118 to 130 ms, 3-node fast-time network, CPU miners, 0 rejected" | numbers | release-0.3.6.md; MATCH; "In 0.3.6" STALE | +| L-116 | ember | lever 5: swap 0.01 / 0.00 ms; fake-worker guards trip 0.0 s, back in 2.0 s, silent worker restarted at 60 s | numbers | bench-log 644, 1199; MATCH | +| L-117 | ember | lever 6: "Live"; /miners | state, link | | +| L-118 | ember | "Levers 2 and 3 are shipped code with no fleet measurement yet" | state | | +| L-119 | ember | "1% software dev fee ... exactly 1 in 100"; "--dev-fee 0", "DEV_FEE=0"; "9 fee blocks in 785, 0 from the control" | numbers | bench-log 1226, 1252; MATCH | +| L-120 | ember | "What Ember does not claim": the race gain on NVIDIA; a measured sweep; HiveOS on a rig; a signed binary (four sentences, kept verbatim) | claims | kept | +| L-121 | wallet | "desktop wallet, macOS first ... checks finality with the node's own code" | claim | | +| L-122 | wallet | 24 words on the Ethereum path; XChaCha20-Poly1305, Argon2id (64 MiB, 3 passes); fee shown; local QR; history; BLS verified itself; MetaMask export; own node; signed OTA with rollback; "Touch ID and Windows Hello: In progress, not live. Windows build: next" | claims, numbers | app/igneum-wallet not in tree; UNSOURCED here | +| L-123 | wallet | "Igneum Wallet 0.1.1, 5 October 2026 (app/igneum-wallet). Verified: the over-the-air path end to end on one Mac. Not yet run: the Windows path, the rollback paths, a Developer ID signature" | number, date | downloads 0.1.4; STALE; path on a user surface | +| L-124 | governance | "top three vote keys held 34.5% of 8,090 blocks on 4 October 2026, measured" | number | difficulty-2026-10-04-oscillation.md; bench-log 790; MATCH | +| L-125 | governance | "at least three months ahead and activates only when 90% of blocks signal"; "60% of hashrate over two weeks" | numbers | spec 05 56, 81-83; MATCH | +| L-126 | governance | "Stratum v2 job declaration from day one ... Designed: spec section 9"; "no admin keys in consensus ... Designed, open item O-5.4. On the devnet the activation heights and one execution-state restart (6 October 2026) reach every node through the signed update manifest, so the release key acts as the operator"; "A second independent node client is the first priority after launch" | claims, date | ledger G4, G6 sentences; morning 103; MATCH | +| L-127 | roadmap | "Thirteen months ... four public gates"; "the combination is the risk the gates price" | number | ledger C6 sentence | +| L-128 | roadmap | six phases; phase 2 "So far: an RTX 5090 proves a shard in 10.9 s compressed; a CPU verifies a warp in 0.41 to 0.58 ms. A mid-range card has not been measured", gate "under 20 s ... 10 ms"; phase 3 "Live now: 1 block a second, difficulty v2, finality v2 locks, proving v0, Ember on every machine. Not yet measured on the live chain: the proof lag behind the tip", gate "proofs under 60 s behind the tip"; phase 5 gate "1,000 independent miners run 30 days"; phase 6 "No listing is arranged, promised or sought by the project" | dates, numbers | 0.41 to 0.58 is the retired v1 figure (spec 01 399): STALE; proof lag is measured (387 s): STALE; ledger X8 sentence present | +| L-129 | roadmap | "Dates slip. Gates do not. Phase two decides everything." | claim | ledger C6 sentence | +| L-130 | roadmap | "What ships next: Ember 0.3.6"; "none is on the fleet yet" | state, date | fleet on 0.3.13; STALE | +| L-131 | roadmap | items: verifier; Windows prover host (20-minute setup); tile shows verifier state; p50 46 to 52 ms; instant jobs "3 to 6 s expected, not yet measured"; testnet parameters adopted 5 October 2026 | numbers | release-0.3.6.md; STALE as "next" | +| L-132 | roadmap | "Source: the 0.3.6 release plan ... instant-jobs latency is an estimate" | claim | | +| L-133 | miners ask | "Kaspa was GPU-mined too, and IceRiver shipped a chip within two years."; "The benchmark tool ships in January 2027"; "more than 2x" | date, number | ledger M1; MATCH | +| L-134 | miners ask | "A renter with 60% of the network holds 0.0% of the vote on day one (the finality simulator, table B); a third on day 20 and never two thirds"; "median 1,018 ms behind the checkpoint"; "deepest honest reorganisation measured was 2, 3 and 7 blocks against a determination depth of 20 (ledger F7, round 2)"; "p50 343 ms and p99 666 ms (12-node cloud network, 4 October 2026)" | numbers | ledger F8; bench-log 433, 936 MATCH; "2, 3 and 7" not in the ledger: UNSOURCED | +| L-135 | miners ask | "IceRiver KS0 July 2023, 17 to 20 months; under 100 PH/s to over 700 PH/s (row 23, approximate)"; "Bitcoin's hash from two manufacturers (approximate)"; "85% of the hashrate vanished at the April 2018 fork ... over 85% again four months after the next fork (row 16)" | numbers | asic history rows 23, 16; MATCH | +| L-136 | miners ask | ETC (January 2019, August 2020), BTG (May 2018, January 2020), Vertcoin (October to December 2018, December 2019) (rows 6, 7; ETC approximate); Verge 2018 (approximate); "first 30 days ... 12-hour depth" | dates | asic history; MATCH | +| L-137 | miners ask | "Rented NVIDIA hash, 6 October 2026: 2 GH/s for USD 13 an hour; the entry lands tonight" | number | placeholder; morning 107 says USD 9 for the 11-card phase; UNSOURCED | +| L-138 | miners ask | "The devnet's hash the same afternoon: 282 MH/s; /api/stats, 6 October 2026, 16:40 UTC; 181 MH/s an hour earlier" | numbers | API now 2.66 GH/s; UNSOURCED and STALE | +| L-139 | miners ask | "0.0% (ledger M12)"; "1,018 ms median"; "A 50-miner wave against the devnet: measurement tonight" | numbers | placeholder cell; UNSOURCED | +| L-140 | miners ask | "The specification is public; reviewers will be named and paid before gate 3" | claim | ledger G1 sentence | +| L-141 | miners ask | "One founder, pseudonymous, working with AI systems ... the commit history says so"; DIFC address; "ledger is published with the repository at the public testnet"; "No cryptographer is hired yet"; "there is no team page" | claims | ledger G2, G3 sentences; /ledger is already published (the sentence is STALE) | +| L-142 | miners ask | "benchmark January 2027. Pools and the public testnet are August 2027"; #ember | dates, link | MATCH | +| L-143 | miners ask | "marginal cost close to power ... an edge over data-centre provers and nothing more" | claim | ledger P6 | +| L-144 | builders ask | "Proof of work, in 2027?"; "executes in about a second. A miner lock arrives in about two minutes" | numbers | MATCH as design | +| L-145 | builders ask | "The project will ask Circle for native USDC during the public testnet"; "DEX seeded at launch by the founders' own mined coins and by miners" | claims | | +| L-146 | builders ask | "20% of the priority fee ... small and stated as such above"; "wallet's Apps tab and the explorer from day one"; "Point Hardhat or Foundry ... The afternoon is the hard part." | claims | ledger overclaim 42 asks to delete the last sentence; not applied | +| L-147 | shoulders | "decided on 3 October 2026"; rusty-kaspa (ISC) v2.1.0; RandomX (BSD); ProgPoW/KAWPOW (approximate); LWMA; chiavdf (Apache 2.0); revm (MIT); SP1 (MIT or Apache 2.0); blst (Apache 2.0); bech32/CashAddr; BLAKE2b, BLAKE3, SHA-256, Keccak, ChaCha, SplitMix64, FNV-1a | claims | node_version 2.1.0; MATCH | +| L-148 | shoulders | "docs/provenance.md ... published at the public testnet. Licences stated from memory are marked approximate" | claim, path | path on a user surface | +| L-149 | limits | nine "does not claim" items (verbatim list below); numbers 100 to 200 GPUs; 0.92x with 3x allowance; under 1x; 1.2x; 5x to 9x; 2.1x to 4.8x; about 2x; 5.6x to 2.1x; 4.8x slower (3 October 2026); 12-hour depth; ten and twenty days; partition both sides (4 October 2026); up to 30 days | numbers | ledger P2 (100 to 200, approximate); chip-model-v3 69; evidence row 10; MATCH, APPROX | +| L-150 | limits | "subject to the gates"; "Nothing in it is an offer to sell anything"; mailto; spec issues; DIFC address | links | ledger X7 | +| L-151 | footer, pager | footer (24 rows) and the previous/next pager | links, feature | | + +"What Igneum does not claim" (kept verbatim in the build, every word): +1. "A proof in seconds. Not at launch. Proving a full block today needs a cluster of 100 to 200 consumer GPUs, approximate, so Igneum launches with proofs within about a minute and tightens as hardware improves. Users still see their transaction land in one second." +2. "A chip is impossible. No. A chip is a bad bet, because the target moves before it ships." (then the model paragraph, ending "and that price is a cost model, not a measurement.") +3. "A guaranteed income floor. No. External proving is a small market today. Igneum's miners' marginal cost in it is close to power, which is an edge and nothing more." +4. "A memory-hard prototype on every vendor. Not yet. The 256 MB cache closed the shortcut on Apple silicon (computing items runs 4.8x slower than loading them, measured 3 October 2026). The same ratio on NVIDIA and on a discrete AMD card is Open." +5. "Finality in the first month. No. No checkpoint locks until the 30-day window has 30 days of history. The first month of mainnet is proof of work with a 12-hour depth, and the text above says so wherever a day count appears." +6. "A cryptography team. Not yet. One founder working with AI systems wrote the design and the code; external reviewers are named and paid before gate 3, and every security claim here is a design claim until then." +7. "Finality that no amount of hardware can break. No. A miner holding a third of the last 30 days of blocks can split finality during a network partition, and two thirds can lock a bad checkpoint for a double-spend bounded by the 12-hour finality depth. ..." (ends "(measured on a test network, 4 October 2026).") +8. "Finality that never pauses. No. A lock needs two thirds of all 30-day mining weight. Whenever less than two thirds of that weight is connected and signing, finality pauses until it returns or ages out of the window, up to 30 days. The chain keeps running on proof of work and the node reports the pause." +9. "A finished protocol. The sustained-mining finality rule is the newest piece and the one that external review will try hardest to break. The specification, the review and the benchmarks are published as they happen." + +"What Ember does not claim" (kept verbatim): the race gain on NVIDIA ("Unknown until the RTX 5090 job runs ..."); a measured sweep ("has not yet run on a card"); HiveOS on a rig ("self-tested with stub binaries ..."); a signed binary ("Releases are signed by the project's release key ... the first install asks you to allow the app"). + +Ledger sentences on the litepaper: present verbatim for M2, M4, M7, M10 (the Measured sentence), M13, F1, F5, F10, P3, P4, P6, P7, P10, P14, E5, E6, G1, G2, G3, G4, G6, C3, C5, C6, C8, C10, C11, L2, X1, X7, X8. Differ or absent: M9 (page now says 0.61 and 2.1 ms; the ledger's 0.41 to 0.58 survives only in the roadmap), P1 (the "Target: 12 GB card proves one shard in about 20 seconds" sentence is gone; the page says the gate was withdrawn), C2 second half ("that is precedent, not proof" for "Monero is precedent, not proof"). Overclaims not yet applied: 35, 42, 51, 68, 74, 76. The ledger's own count table lists 32 rows as "not yet stated" that the page carries: the ledger's table is stale, not the page. + +## Nav (site/partials/nav.html) + +| id | text | kind | note | +|---|---|---|---| +| P-nav-1 | "Skip to content" | feature | #main on every page | +| P-nav-2 | IGNEUM mark | link | / | +| P-nav-3 | Menu button | feature | under 941 px; closes on link, outside tap, Escape, resize | +| P-nav-4 to 9 | Litepaper, Live devnet, Engineering log, Miner, Wallet, Evidence | links | data-nav marks the current page; Live devnet also current on /explorer, /block, /address; Miner also on /miners | +| P-nav-10 | GitHub | link | spec repo, 200 | +| P-nav-11 | "The miner" CTA | link | /miner | + +No nav entry for /explorer, /ledger, /faucet, /miners, /metamask (footer only). + +## Footer (site/partials/footer.html) + +| id | text | kind | note | +|---|---|---|---| +| P-foot-1 | tagline | claim | | +| P-foot-2 to 8 | Read: Litepaper, What Igneum does not claim (/litepaper#limits), Igneum vs RandomX (#randomx), Built on the shoulders (#shoulders), Engineering log, Evidence, Ledger: every criticism | links | anchors exist | +| P-foot-9 to 13 | Run: The miner, The wallet, GPU bench table (/miners), The dev fee (/miner#fee), Testnet faucet | links | | +| P-foot-14 to 21 | Follow: Live devnet, Explorer, Journey (/#journey), Add Igneum to MetaMask (/wallet, no anchor), GitHub spec and vectors, Miner downloads: public testnet (/miner#get; label contradicts the not-open notice), Report a flaw mailto, spec issues | links | | +| P-foot-22 | "Igneum Labs LTD · Unit IH-00-01-01-OF-01, Level 01, Innovation One, Dubai International Financial Centre · hello@igneum.network" | claim | fud-ledger.md 154; MATCH | +| P-foot-23 | "© 2026 Igneum. Nothing on this page is an offer to sell anything." | claim | | +| P-foot-24 | "igneum.network" | text | | + +## Live (site/live.html) + +| id | text | kind | element, API field, states, verdict | +|---|---|---|---| +| P-live-1 | "read from a node every two seconds" | claim | poll 2,000 ms; MATCH | +| P-live-2 | "devnet v0" eyebrow | state | live chain is v4 since 4 Oct; STALE | +| P-live-3 | "Live devnet" | h1 | | +| P-live-4 | "A node is read every two seconds. Every block below is real ... A checkpoint locks when the finality rule's quorum signs it. Once the proving layer is activated, every chain block's shards show as they are planned, proven and paid." | claim | | +| P-live-5 | "Fees: the devnet meters with its prototype table until DAA score 210,000; from there the adopted table applies (300 pgas per transaction, 30,000-pgas shards, floors of 100 gwei per gas and 10,000 gwei per pgas) and the provers' program carries both." | number | fee-switch-devnet.md 3-4, 40, 52; MATCH, turns stale the moment DAA 210,000 passes (tonight) | +| P-live-6 | Status cell | API | #st-status OFFLINE/LIVE; #st-age "no observer update yet", "observer updated N ago", "observer N s behind, N queued", "api unreachable" after 3 failures | +| P-live-7 | Network | API | state.network or "igneum-devnet"; "node " | +| P-live-8 | Blocks / s over 60 s | API | blocks_per_second_60s | +| P-live-9 | Blue score, blocks | API | blue_score, block_count | +| P-live-10 | Difficulty | API | difficulty | +| P-live-11 | Hash rate | API | hashes_per_second_estimate; "n/a" when null | +| P-live-12 | Identities "vote keys active in 10 min, a card runs several" | API | miners_10m; h-config.sh 11; MATCH | +| P-live-13 | Peers, mempool | API | peers, mempool | +| P-live-14 | strip stats: on screen, chain, identities, last lock, proven | API | c-locked "none", "#N, N ago", "none yet", "n/a"; c-proven "pending", "A/B in 10 min" (item 0), "not active", "no proving layer" | +| P-live-15 | DAG canvas | feature | hover, tap pins, Escape, ?window=30..300, ?perf=1; canvas words listed in the audit's state table | +| P-live-16 | legend blocks: chain, included paid, pending, excluded, just arrived, selected chain, one lane per miner | feature | | +| P-live-17 | legend finality: final, locked, proposed, "reads paused whenever under two thirds of the weight is signing" | claim | spec floor; MATCH | +| P-live-18 | legend proving: planned, proving, verified, paid, where proofs land | feature | | +| P-live-19 | Miners table (last 10 min): Miner, Blocks, Share, Last seen, Engine | API | d.miners; empty "No blocks in the last 10 minutes."; "not reported" | +| P-live-20 | "The short id is the first 8 hex characters of the vote key hash ... the devnet miner writes nothing yet." | claim | api/explorer.mjs 21; MATCH | +| P-live-21 | Events newest first | API | d.events; empty "No events yet." | +| P-live-22 | Blocks per minute chart and note | API | blocks_per_minute; "no data yet" | + +## Miners (site/miners.html, generated by build.mjs from miner-bench.json and miner-priors.json) + +| id | text | kind | verdict | +|---|---|---|---| +| P-miners-1 | "3 entries, newest at the bottom" | number | the bench template's words; wrong for this page | +| P-miners-2 | "GPU bench table" | h1 | | +| P-miners-3 | note "Measured hash rates per card ..." | claim | | +| P-miners-4 | contents: The table, How a row gets here, Fleet tuning priors | feature | | +| P-miners-5 | "Integrated GPUs are not listed. Prototype rows say so in the miner column." | claim | | +| P-miners-6 | Apple M5 Max v1 45.2 MH/s, 2026-10-03 | number | evidence row 3; MATCH | +| P-miners-7 | Apple M5 Max v2 26.7, 2026-10-04 | number | bench-log 642; MATCH | +| P-miners-8 | Apple silicon laptop v2 24.3, 21.0 average over 7 min, 33 blocks | number | bench-log 911; MATCH | +| P-miners-9 | RTX 5090 v1 229, 2026-10-03 | number | evidence row 3; MATCH | +| P-miners-10 | RTX 5090 v1 185.3 | number | bench-log 98; MATCH | +| P-miners-11 | RTX 5090 v2 124.2, 2026-10-04 | number | evidence rows 4, 30; MATCH | +| P-miners-12 | "MH per watt: not measured" on all rows | state | ledger E17 has the 5090 at 326.6 W (0.40 Mhash/J); eleven rented cards with watts on gpu-fleet; STALE | +| P-miners-13 | "The app reads it on NVIDIA cards through the driver." | claim | | +| P-miners-14 | "There is no other Igneum miner to compare with yet" | claim | | +| P-miners-15 | "Rows: 6. Source file: site/miner-bench.json in the repository." | dev text | | +| P-miners-16 | priors: "within 1% of its top rate", "A model needs 5 reports" | number | ember-tune.md; miner-priors.json; MATCH | +| P-miners-17 | "No tune reports yet. The first rows appear once five machines with the same card model have reported." | empty state | | +| P-miners-18 | "Rows: 0. Source file: site/miner-priors.json, written from the fleet records by tools/tuning.mjs --priors --site." | dev text | | +| P-miners-19 | "Generated from the repository at build time. Times are UTC. Machine names are model names." | claim | | + +## Miner (site/miner.html; copy owned by the site-miner agent today) + +| id | text | kind | verdict | +|---|---|---|---| +| P-miner-1 | meta "every NVIDIA card from 8 GB proves ... a visible 1% software fee" | claim | see P-miner-12 | +| P-miner-2 | "Igneum Ember · one click" | eyebrow | | +| P-miner-3 | h1 "Install. Start. The card mines. Every NVIDIA card from 8 GB proves; 12 GB and up mine and prove." | claim | 96 characters | +| P-miner-4 | lead: finds your GPU, makes a wallet, compiles the next program while the current one mines | claim | | +| P-miner-5, 6 | "Downloads: public testnet" #get; "Every feature" #features | links | | +| P-miner-7 | Windows, macOS, Linux, HiveOS, "NVIDIA · AMD · Apple silicon" | claim | | +| P-miner-8 | screenshot caption "the app is still labelled Igneum Miner until 0.3.6 ... 5 Oct 2026" | date | STALE (0.3.13 still says Igneum Miner) | +| P-miner-9 | "Hash, prove, get paid": 80% of each block to the finder; PROVE; GET PAID | claim, number | /api/stats split; MATCH | +| P-miner-10 | "Every feature, one line each"; "Each number links to its engineering log entry." | claim | not true for P-miner-12, 27, 45 | +| P-miner-11 | "Five steps: drag to Applications, open, Get started, Make me an address, Start mining." | claim | bench-log 908 (Open Anyway step); APPROX | +| P-miner-12 | "every NVIDIA card from 8 GB proves; 12 GB and up mine and prove; 24 GB on the stock server (eleven rented cards, 6 October 2026, docs/analysis/prover-tiers-real-cards.md); the patched server is not yet in the shipped app." | claim, path | file missing; no bench-log entry; contradicts /evidence row 16; UNSOURCED | +| P-miner-13 | "Finds your GPU by itself ... NVIDIA through the driver, AMD and Intel through OpenCL, Apple silicon through Metal" | claim | | +| P-miner-14 to 17 | wallet made for you; earnings in IGN; three OSes; HiveOS package "Hive itself is untested" | claims | | +| P-miner-18 | "First outside machine ... 33 accepted blocks in 7 minutes, 0 rejected, 21.0 MH/s average" (log, 4 Oct) | number | bench-log 911; MATCH | +| P-miner-19 | "First card on the app ... 117 to 119 MH/s, 34 accepted blocks in the first minute" | number | bench-log 781; MATCH | +| P-miner-20 | h3 "Hashing and proving, switched by the client" | heading | 43 characters | +| P-miner-21 | "assigned, proving, submitted, paid" | claim | | +| P-miner-22 | "8 suits a big card, 2 a small one, 1 an integrated GPU" | number | h-config.sh 11 (8 from 8 GB else 2); "1" APPROX | +| P-miner-23 | "Hourly program, no pause" | claim | | +| P-miner-24 | swap table 4 Oct 2026: M5 Max 82 ms, 0.01 ms, 26.7/26.7, 0; RTX 5090 1,285 ms, 0.00 ms, 121.8/123.4, 0; AMD integrated no restart, 2.74/2.74, 0; "epoch boundary at DAA 3,600" | numbers | bench-log 636, 642-644; MATCH | +| P-miner-25 | h3 "Signed, over the air, at a safe moment" | heading | 38 characters | +| P-miner-26 | "Signed over the air ... Ed25519" | claim | | +| P-miner-27 | "Installed at a safe moment: node synced, no hourly boundary within 3 minutes, no worker starting ... never while the network lost over 30% of its identities in 10 minutes." | number | UNSOURCED | +| P-miner-28 | "Mining continues through an update ... fails to start twice, the previous one comes back" | claim | | +| P-miner-29 | "Urgent ... within 1,800 blocks or below the minimum supported" | number | difficulty-v2-rollout-devnet.md 42; MATCH | +| P-miner-30 | "The fleet tunes itself. Nothing here changes the hash." | claim | | +| P-miner-31 | "Variant racing every hour ... 2 seconds" | number | bench-log 1103; MATCH | +| P-miner-32 | "256-thread groups ran 17.3% and 21.2% faster ... The NVIDIA race has not yet run on a GPU." | number | bench-log 1130; MATCH | +| P-miner-33 | "Fleet tuning manifest" | claim | | +| P-miner-34 | "Ember Tune ... 60 seconds a step ... within 1% ... the first measured tune is owed." | number | ember-tune.md 42 (75 s per step); APPROX | +| P-miner-35 | "Latency work ... In progress, no number published yet." | claim | | +| P-miner-36 | "Remote signed jobs, opt in ... Our own fleet only" | claim | | +| P-miner-37 | h3 "Watchdog, restart, clock" | heading | | +| P-miner-38 | "Watchdog per card: no status line for 90 seconds, or a hash rate of 0 for 60 seconds" | number | bench-log 1214-1219; MATCH | +| P-miner-39 | "Watchdog per node: 120 seconds ... silent node to mining again in 160.0 s" | number | MATCH | +| P-miner-40 | "Restart in order" | claim | | +| P-miner-41 | "A clock 60 seconds slow kept a node silently dead for 12 minutes ... over 5 s a warning, over 10 s Start is blocked" | number | bench-log 780; evidence row 30 says 62 s; APPROX | +| P-miner-42 | recoveries table 4 Oct 2026: 91.0 s, 75.4 s to faulted, 101.4 s, 160.0 s; "a fake worker, no real GPU" | number | bench-log 1214-1219 (101.4 is a sum); MATCH | +| P-miner-43 | "The log and the bench table. Every number on this page has a row." | claim | not true, see above | +| P-miner-44 | Engineering log /bench; GPU bench table /miners; "Your rows, from your machine ... once a minute under a per-install id" | link, claim | | +| P-miner-45 | "Why Igneum Ember stays ahead. Six levers, set on 4 October 2026." | number, date | no document lists six; UNSOURCED | +| P-miner-46 | lever 1: "five to ten kernel variants ... two seconds each ... +17.3% ... +21.2%" | number | bench-log 1101 (no count); APPROX | +| P-miner-47 | lever 2: "Shipped. The fleet is still small, so no fleet table yet" /miners#priors | state, link | | +| P-miner-48 | lever 3: NVIDIA and AMD built, measured only on Apple | claim | | +| P-miner-49 | lever 4: "within 50 ms ... Approximate, from the 0.3.6 release plan: p50 46 to 52 ms, 5 Oct 2026. Ships in 0.3.6." | number | release-0.3.6.md 73; "Ships in 0.3.6" STALE | +| P-miner-50 | lever 5: swap 0.01 / 0.00 ms, 0 rejected | number | MATCH | +| P-miner-51 | lever 6: "Live at /miners" | link | | +| P-miner-52 | "The dev fee is the software's 1% ... The protocol carries no fee." #fee | claim | | +| P-miner-53 | "The fee, in full view; no dev fund, no fee to any team, foundation or fund" | claim | | +| P-miner-54 | "1% dev fee ... one block template in 100 ... Igneum Labs LTD ... a template counter, never a random draw" | number | MATCH | +| P-miner-55 | off table: Settings switch, --dev-fee 0, DEV_FEE=0 | feature | | +| P-miner-56 | "Measured on a test network, 4 Oct 2026: 9 fee blocks in 785 (1.146%); the control paid none" | number | bench-log 1226, 1252; MATCH | +| P-miner-57 | switch mock "Dev fee 1% (1 block in 100)" | feature | | +| P-miner-58 | start lines; "igneum-miner payouts lists blocks per payout address" | dev text | | +| P-miner-59 | "Get the miner. Download only from this domain. Nobody from Igneum will ask for your seed." | claim | | +| P-miner-60 | "Public testnet: not yet open; the devnet build is here for people who want to look." | state | ledger X2 | +| P-miner-61 | "Devnet: coins have no value and the chain may be reset." | claim | | +| P-miner-62 | Windows, macOS, Linux, HiveOS buttons "v0.3.13 · 45.4 / 41.9 / 24.6 / 24.6 MB" | number | host 0.3.14; STALE (repo copy) | +| P-miner-63 | Hive Flight Sheet: URL igneum-hive-0.3.13.tar.gz (404), miner igneum, wallet 0x<40 hex>.%WORKER_NAME%, pool grpc://:26610 or local, extra DEV_FEE=1 IDENTITIES=8 WORKER=auto VOTE=1, sha256 65ea4260... | number, dev text | URL 404, hash of a dead file; port 26610 fork-divergence.md 17 MATCH | +| P-miner-64 | "the faucet sends 10 IGN per address per day. Any 4 GB card at launch. The dataset starts at 2 GB and grows (2 GB, doubling at years 4, 12 and 28), so a 4 GB card mines for about four years, approximate." | number | api/faucet.mjs 8-9; evidence row 31; MATCH, APPROX | +| P-miner-65 | "Read more in the litepaper" /litepaper#miners | link | exists | +| P-miner-66 | band "Every number here has a row." + Engineering log, Bench table | claim, link | | + +## Wallet (site/wallet.html; content owned by the wallet-ui-3 agent today) + +| id | text | kind | verdict | +|---|---|---|---| +| P-wallet-1 | meta "24 words sealed ... MetaMask export. Reads your own node when the miner is installed." | claim | | +| P-wallet-2 | "Igneum Wallet · desktop" | eyebrow | | +| P-wallet-3 | h1 "Your coins. Final means final." | heading | aphorism; 30 characters | +| P-wallet-4 | lead "verifies every finality certificate itself with the node's own code. No confirmation counts, no trusting the node." | claim | antithesis | +| P-wallet-5 | "Download: public testnet" #get; "How final works" #finality | links | | +| P-wallet-6 | "macOS first", "Windows next", "MetaMask export" | state | | +| P-wallet-7 | screenshot "Igneum Wallet on a private test network, 5 Oct 2026. The address is an example." | date | | +| P-wallet-8 | "Three states, checked here": pending; "Chain block 8"; "final · cp 5 ... 30-second checkpoint ... aggregate BLS signature, two thirds of all weight" | claim, number | explorer.md 43; evidence row 10; MATCH | +| P-wallet-9 | second screenshot "1.5 IGN, final under checkpoint 5, certificate verified by the wallet" | number | | +| P-wallet-10 | four checks before "final" | claim | | +| P-wallet-11 | "The same steps the browser verifier on the home page runs ... The node's own 'locked' field is never read." | claim | | +| P-wallet-12 | "Every feature, one line each. Version 1, built on the miner's bones" | claim | | +| P-wallet-13 | h3 "Create or import, sealed on your disk" | heading | 37 characters | +| P-wallet-14 | "Create: 24 words ... 256 bits ... three typed back" | number | UNSOURCED in repo (wallet source elsewhere) | +| P-wallet-15 | "Import ... the miner's own payout key file" | claim | | +| P-wallet-16 | "Argon2id (64 MiB, 3 passes) ... XChaCha20-Poly1305 ... one file in your user folder" | number | UNSOURCED in repo | +| P-wallet-17 | "BIP-39 and BIP-44 at the Ethereum path" | claim | | +| P-wallet-18 | "Signing happens in the engine, in Rust." | claim | | +| P-wallet-19 | Balance; Send (EIP-1559, zero address and over-balance refused); Receive QR (SVG); History with rewards; Finality per transaction; Lock | claims | | +| P-wallet-20 | "Reads the miner's node first": 1 miner app's node, 2 public RPC, 3 bundled node; "Updates, signed ... Ed25519 ... checked an hour apart" | claim | evidence row 23; MATCH | +| P-wallet-21 | MetaMask: Add to MetaMask, Export the key, "Desktop first: macOS now, as a disk image. The Windows host is written and untested. No browser extension and no phone app yet." | claim, state | | +| P-wallet-22 | "The first run, timed. A private test network, 5 Oct 2026 ... The log entry ships with the wallet." | date, claim | | +| P-wallet-23 | table: 0.3 s; 0.4 to 0.5 s "word 1 is not right"; 3.5 s "10.14 IGN at block 4"; 4.5 s; 4.6 s "gas 25,380; base fee 1 gwei; tip 1 gwei; fee at most 0.00007614 IGN"; 5.6 s chain block 8; about 170 s index 5; 175.2 s "1 of 1 voters, 100% of total weight"; 175 s | numbers | not in docs or /bench; UNSOURCED in repo | +| P-wallet-24 | "Send to final: 170.6 s ... On the live devnet checkpoints lock every 30 seconds once the weight window is full. 13 unit tests cover ..." | number | UNSOURCED in repo | +| P-wallet-25, 26 | "Get the wallet. Download only from this domain ..."; the two notices | claim, state | | +| P-wallet-27 | macOS "v0.1.4 · 19.6 MB"; Windows "next" disabled; MetaMask #metamask | number, feature | host 0.1.4, 19,607,181 bytes; MATCH | +| P-wallet-28 | "reads this machine's node when the miner is installed" /miner; "Read more in the litepaper" /litepaper#miners | link | | +| P-wallet-29 | band "The miner pays this wallet." + The miner | claim, link | aphorism | + +## Bench (site/bench.html, generated from docs/bench-log.md through site/scrub.mjs) + +| id | text | kind | verdict | +|---|---|---|---| +| P-bench-1 | "83 entries, newest at the bottom" | number | 83 h2 in markdown, 83 on the page; MATCH | +| P-bench-2 | h1 "Engineering log" | heading | the markdown's own h1 is rendered and hidden by CSS | +| P-bench-3 | note "Every measurement the project has made, newest at the bottom, written by the people and agents who ran it, with the commands and hardware. Prototype numbers are not mining numbers and say so." | claim | | +| P-bench-4 | contents, 83 links | feature | TOC text keeps raw backticks; some headings over 150 characters | +| P-bench-5 | "Generated from the repository at build time. Times are UTC. Machine names are model names." | claim | | + +Heading comparison: every difference is a scrub rename ("Mac" to "Apple M5 Max" 9 times, "Windows PC" to "an RTX 5090 on Windows", "Hetzner" to "the cloud provider"); 18 h3 both sides; the newest 6 Oct entry is present. Rendered headings keep commit hashes and internal names (6c75dad, b970dda, revm, viem, SP1, PC 1, PC 2, DAA 33,000) by design of the generator. + +## Evidence (site/evidence.html, rows generated from docs/evidence.md) + +| id | text | kind | verdict | +|---|---|---|---| +| P-evid-1 | meta "Nothing has been reproduced or reviewed yet." | claim | | +| P-evid-2 | "31 claims · 5 labels · 6 Oct 2026" | number, date | 31 rows; the date is the build date and says so | +| P-evid-3 | h1 "Evidence" | heading | | +| P-evid-4 | the five label definitions; "Nothing on this chain has been reproduced externally or reviewed independently; every row says so"; "The 12-node cloud network of 4 October 2026 is the project's own" | claim | 70-word sentence | +| P-evid-5 | tiles designed 6, implemented 3, tested by the team 22, reproduced externally 0, reviewed independently 0; "None yet. The repository is private until the public testnet"; funding plan | number | evidence.md's own count table says 5 designed and sums to 30; the page buckets row 17 as designed | +| P-evid-6 | filter chips 31, 6, 3, 22, 0, 0 | feature | | +| P-evid-7 | "The table is wider than this screen. Scroll it sideways." | feature | under 1,140 px | +| P-evid-8 | columns #, Claim, Status, Version or commit, Reproducible test, Result date machine, Independent verification; sortable | feature | | +| P-evid-9 | 31 rows | generated | every row ends "none yet"; scrub artefacts "the Apple M5 Max M5 Max" (row 1), "a an RTX 5090 on Windows with an RTX 5090" (row 30) | +| P-evid-10 | note "Click a column heading to sort ... igneum-pow is the Rust crate at version 0.2.0 ... Source of every number: the engineering log. The source of this page is docs/evidence.md" | claim, path | | +| P-evid-11 | "What would move a row" table; "Funding for review is docs/plans/funding.md" | claim, path | mirrors evidence.md 94-101 | +| P-evid-12 | "Statuses are honest as of 6 October 2026, the day this page was generated from docs/evidence.md" | date, path | | + +Markdown headings not rendered: "What moved on 4 October 2026", "What moved on 5 October 2026" (two tables not shown anywhere on the site). + +## Ledger (site/ledger.html, generated by tools/ledger-page.mjs from docs/fud-ledger.md) + +| id | text | kind | verdict | +|---|---|---|---| +| P-ledger-1 | meta "167 entries. Nothing deleted, nothing softened." | number, claim | antithesis | +| P-ledger-2 | "Ledger · 167 entries · regenerated from the repository" | number | 167 ids both sides; MATCH | +| P-ledger-3 | h1 "Every criticism, answered or conceded" | heading | 37 characters | +| P-ledger-4 | intro: "167 entries since 3 October 2026 ... The founder mined through the GPU years. Ethereum's move to proof of stake in September 2022 ended that income ... one person building, with AI systems doing the engineering ... This ledger is the application form" + mailto | claim | | +| P-ledger-5 | counts Open 7, Conceded 53, Fixed or built 54, Closed by rule or decided 27, Answered with evidence 13, Answered by design 13, All 167; section links | number, feature | md table (17:30 UTC): Fixed 57, Conceded 53, Answered 28, Decided 29, Open 7; the page buckets on the status's first word | +| P-ledger-6 | search "Search the ledger", "N of 167 shown" | feature | | +| P-ledger-7 | 167 cards: id, title, date, quote, status, "The answer as first written" | generated | the renderer drops 165 "Evidence:" lines and the "Decision owner:" lines; 40 section h2 with duplicate ids (anchors land on the first) | +| P-ledger-8 | "Source: docs/fud-ledger.md in the repository, rendered by tools/ledger-page.mjs ... hello@igneum.network or an issue on the specification repository." | path, link | | + +Left on the public page by the ledger's own scrub list: "PC 2" 15 times, "the Mac" 19 times, `~/.config/igneum` 5 times, "pid 33114", `--rpclisten=0.0.0.0:26610`. The ledger renderer skips the forbidden-strings hard stop. + +## Explorer (site/explorer.html) + +| id | text | kind | element, states, verdict | +|---|---|---|---| +| P-expl-1 | "devnet, last 24 hours" | claim | api/explorer.mjs 87 keeps one day; MATCH | +| P-expl-2 | h1 "Explorer" | heading | | +| P-expl-3 | "Every block the devnet made in the last day, read from a node by the observer. Paste a block hash, a transaction hash, a chain block number or an address." | claim | | +| P-expl-4 | search form, placeholder | feature | | +| P-expl-5 | #msg | state | "Not a block hash, a transaction hash, a chain block number or an address." / "Looking." / API error or "Not found." / "The API did not answer." | +| P-expl-6 | Status | API | OFFLINE/LIVE; "no observer update yet", "last update N ago", ", node " | +| P-expl-7 | Height; "chain block number, N blocks in the DAG" | API | height or "n/a" | +| P-expl-8 | DAA score; blue score | API | | +| P-expl-9 | Difficulty; "target 1 s per block" or "N s per block over 60 s" | API | "n/a" when null | +| P-expl-10 | Hash rate | API | "n/a" when null | +| P-expl-11 | Block reward IGN; split | API | | +| P-expl-12 | Circulating; "of 4,000,000,000 by the rule" | API | MATCH | +| P-expl-13 | Next halving; ramp | API | | +| P-expl-14 | "Latest blocks", "newest first, every 5 s" or "observer offline, last known" | API | setInterval 5,000; MATCH | +| P-expl-15 | table Block, Number, DAA, Blue score, Miner, Txs, Proof records, Time | API | "Loading."; empty "No blocks in the last 24 hours."; "off chain"; "n/a"; "★" locked | +| P-expl-16 | legend chain block, blue merged and paid, red excluded, pending, ★ locked checkpoint | feature | | +| P-expl-17 | note "Number is the chain block number, the same number the EVM reports ... Miner is the payout address the coinbase names. Proof records is how many shard proofs the block carries for earlier blocks." | claim | | +| P-expl-18 | "Older blocks" | feature | loads 50 more; the 5 s refresh stops for good after the first click | +| P-expl-19 | "Public API, JSON, cached 10 s" | claim | stats and supply 10 s, explorer 5 s; APPROX | +| P-expl-20 | /api/stats field list | link | MATCH | +| P-expl-21 | /api/supply "circulating, cap, halving table, 30-day ramp, the observer's coinbase check" | link | no `check` field in today's payload; UNSOURCED today | +| P-expl-22 | /api/explorer?blocks=20 and its parameters | link | MATCH | +| P-expl-23 | note "Reward and supply come from the emission rule (section 2.5) ... the observer checks the chain's coinbase sums against it every hour and the result is in /api/supply under check." | claim | see P-expl-21 | + +Bad query: empty or unrecognised text shows the "Not a block hash ..." sentence; an address redirects to /address/ unchecked; a hash or number asks the API and shows its 404 text; network failure "The API did not answer." + +## Block (site/block.html) + +| id | text | kind | verdict | +|---|---|---|---| +| P-block-1 | noindex; "Explorer · block" | link | | +| P-block-2 | h1 "Block" then the hash, or "Chain block N" | API | | +| P-block-3 | chips: chain block or colour; "checkpoint N, "; "N proof records"; "N transactions" | API | | +| P-block-4 | #msg API error, "Not found.", "The API did not answer: " | state | | +| P-block-5 | summary: Number or "none, not a chain block"; Time; DAA; Blue score; Miner or "n/a"; Coinbase address; Vote key id and hash ("n/a"); Engine; Difficulty or "n/a"; "Declared subsidy N IGN E(DAA) of spec 2.5, paid when a later chain block merges this one" or "n/a"; "Coinbase paid N IGN"; Merged by "itself" / link / "not yet"; Selected parent or "n/a" | API | /api/stats source; MATCH | +| P-block-6 | header: Hash, Version, Bits, Nonce, Blue work, merkle roots, UTXO commitment, Pruning point, Parent levels | API | raw header fields, an explorer's job | +| P-block-7 | Parents "N at level 0" or "Genesis has no parents."; Children "seen within 10 min" or "No child seen yet." | API | | +| P-block-8 | Mergeset or "Empty."; note on red blocks | claim | | +| P-block-9 | Transactions "N EVM, 1 coinbase"; coinbase outputs "proving pool (burns on the UTXO side, credited on the EVM side)"; "N proof records, a key reveal, certificate N"; tx table ("needs an EVM RPC"); "No EVM transactions in this block." | API | | +| P-block-10 | Proof records: "N shards planned for this chain block" / "not a chain block"; "carries N proof records for earlier chain blocks (274 bytes each, in the coinbase extra data)"; shard table; "No shard plan recorded (the proving feed was not reading this block)." | API, number | spec 07 112; MATCH | +| P-block-11 | Finality: "checkpoint N" / "carries a certificate" / "not a checkpoint"; State, Signed weight "N of N (X% of all weight, X% of active)", Votes, Locked; "Verify: /api/checkpoint serves the newest certificate"; "Checkpoints are every 30 blue score; a lock needs two thirds of all 30-day weight." | API, claim | explorer.md 43; MATCH | + +Bad query: /block with no id asks ?block=block, the API answers 400 "A block hash is 64 hex characters."; unknown hash: 404 "No block with that hash in the last 24 hours. The explorer keeps one day; older blocks live in the node."; unknown number: "No chain block numbered N in the last 24 hours." + +## Address (site/address.html) + +| id | text | kind | verdict | +|---|---|---|---| +| P-addr-1 | noindex; "Explorer · address"; h1 the address | API | | +| P-addr-2 | chips "EVM payout address" / "coinbase address"; "mining now" | API | | +| P-addr-3 | #msg | state | | +| P-addr-4 | Balance "n/a" then IGN or "n/a"; sub-line default "eth_getBalance", then source or reason ("no EVM RPC configured on this deployment (EXPLORER_EVM_RPC)") | API | today every address shows "n/a" and the env-var sentence | +| P-addr-5 | "Blocks, 24 h"; "N in 10 min, N blue, N red, N on the chain" | API | | +| P-addr-6 | "Earned, 24 h" IGN; "80% of each blue block's subsidy" | API, claim | MATCH | +| P-addr-7 | "Last block" "n/a" then relative or "none in 24 h"; "first in the window N ago" | API | | +| P-addr-8 | identity: EVM address or "none seen"; coinbase address; vote keys or "none"; earned; note "A miner names its EVM payout address in every coinbase (the IGNA tag) ... a card runs several." | API, claim | | +| P-addr-9 | "Blocks mined, newest 50 of the last 24 hours"; table; "off chain"; "n/a"; empty "No blocks from this address in the last 24 hours." | API | | + +Bad query: /address with no address sends ?address=address, the API answers 400 "An address is 0x plus 40 hex characters, or an igneum bech32 address."; an unseen well-formed address returns zeros with no distinct "never seen" sentence. + +## Faucet (site/faucet.html) + +| id | text | kind | verdict | +|---|---|---|---| +| P-fauc-1 | title "Igneum testnet faucet. 10 IGN a day for testing"; meta | number | api/faucet.mjs 8-9; MATCH | +| P-fauc-2 | "Testnet faucet"; h1 "10 IGN a day, for testing." | number | | +| P-fauc-3 | "Paste an address. The faucet sends 10 testnet IGN and shows the transaction hash. Once per address per day, once per connection per day. No account, no sign-in." | claim | | +| P-fauc-4 | "Public testnet: not yet open. The faucet is prepared on the devnet and answers 'not open yet' until the testnet starts." | state | API text "The faucet is not open yet. It opens with the public testnet."; APPROX | +| P-fauc-5 | "Ask for 10 IGN. An Ethereum-style address: 0x and 40 hex characters." | claim | | +| P-fauc-6 | form; "Send 10 IGN"; #status words: "That is not an address ...", "Sending…", "Sent 10 IGN. Transaction . It is in a block within a few seconds.", API error or "The faucet answered N.", "The faucet did not answer. Try again in a minute." | feature | | +| P-fauc-7 | rules 01 to 04: no value, "Mainnet starts from an empty genesis"; 10 IGN per address per day, resets 24 h after the last grant; resets at a consensus change; stored: address, IP, tx hash, time, 24 hours | claim, number | faucet.mjs 73, 77, 78; MATCH; "Mainnet starts from an empty genesis" APPROX (plan) | +| P-fauc-8 | "Chain id 4462 (testnet), 4463 (devnet)"; MetaMask /metamask; Get the miner /miner#get | number, link | spec 07 20; MATCH | + +## MetaMask (site/metamask.html; canonical set to /wallet) + +| id | text | kind | verdict | +|---|---|---|---| +| P-mm-1 | "Wallets · chain id · RPC"; h1 "Add Igneum to MetaMask" | heading | | +| P-mm-2 | note: EVM, chain id, RPC, symbol IGN, 18 decimals, wallet_addEthereumChain; "Nobody from Igneum will ask for your seed." | claim | | +| P-mm-3 | Testnet card: Igneum Testnet; 4462 (0x116e); rpc.testnet.igneum.network (published with the testnet); IGN; 18; button disabled; "switches on when the public RPC is live" | number, state | spec 07 20; MATCH as placeholder | +| P-mm-4 | Devnet card: Igneum Devnet (local node); 4463 (0x116f); http://127.0.0.1:26790; "Explorer: none yet" | number, state | bench-log 284 port MATCH; "none yet" STALE (/explorer is live) | +| P-mm-5 | button states: no wallet found; waiting; added; cancelled; refused | feature | | +| P-mm-6 | "Add it by hand", four steps | claim | | +| P-mm-7 | "For builders" code block; EIP-155, EIP-1559, legacy; eth_gasPrice, eth_estimateGas; /litepaper#builders-ask | claim, link | exists | +| P-mm-8 | "The app and the Igneum Wallet": "The Igneum Miner app makes an address ... An Igneum Wallet ... is in the roadmap; until it ships, MetaMask is the wallet." | claim | STALE (wallet 0.1.4 ships; the app is Ember) | +| P-mm-9 | "10 IGN per address per day. Chain ids 4461 (mainnet), 4462 (testnet), 4463 (devnet) fixed in the node. The testnet RPC URL above is a placeholder" | number, claim | spec 07 20, 60; MATCH | + +## 404 (site/404.html) + +| id | text | kind | verdict | +|---|---|---|---| +| P-404-1 | title "Page not found. Igneum"; noindex | | | +| P-404-2 | "404"; h1 "Nothing is mined here." | heading | aphorism | +| P-404-3 | "That address is not on igneum.network. It may have moved, or the link had a typo. These four pages are everything the site has." | claim | STALE: fifteen pages | +| P-404-4 | "Litepaper: How the chain works, in 17 sections" | number | 19 sections; STALE | +| P-404-5 to 7 | Live devnet; Engineering log; Evidence | links | no miner, wallet, explorer or ledger card | + +## Scrub rules (site/scrub.mjs, site/forbidden-strings.txt), applied to bench, miners and the evidence rows + +| rule | what changes | why | +|---|---|---| +| scrub 12-17 | PC and Windows PC wording becomes RTX 5090 wording | machine names become model names | +| 18-20 | the Mac becomes Apple M5 Max | same | +| 21-22 | the project lead becomes the maintainers | identity | +| 23 | " Not deployed to Vercel tonight." removed | host name | +| 25-27 | private IPs and DESKTOP- hostnames become placeholders | private addresses | +| 28-30 | igneum-seed-N, Hetzner, hcloud become generic words | provider names | +| 31-33 | server paths and dl.igneum.network become placeholders | server paths | +| 34-35 | intake ids removed | upload identifiers | +| 36-39 | home paths become ~ and %USERPROFILE% | user names | +| 41-43 | docs/fud-ledger.md becomes "the break ledger (kept by the maintainers, not yet published)"; CLAUDE.md becomes "the design document" | the ledger is now published at /ledger: this rewrite is STALE | +| 45-50 | BST times to UTC | the log is written in UTC+1 | +| forbidden-strings 1-25 | build fails on any survivor (hostnames, private IPs, BST, home paths, intake, Tailscale, the project lead, Hetzner, seed names, server paths, dl host, CLAUDE.md, hcloud) | hard stop | + +Side effects today: "the Apple M5 Max M5 Max" (evidence row 1), "a an RTX 5090 on Windows with an RTX 5090" (evidence row 30), "the 12-node the cloud provider network" (journey log). The ledger page uses its own list and skips the hard stop. diff --git a/docs/plans/site-ui-3.md b/docs/plans/site-ui-3.md new file mode 100644 index 00000000..c1e13b8e --- /dev/null +++ b/docs/plans/site-ui-3.md @@ -0,0 +1,215 @@ +# Site UI 3: the website and litepaper through the miner app's lens + +6 October 2026. Branch `site-ui-3`. The audit is `docs/plans/site-ui-3-audit.md`; this is the design the build follows. +The standard is the miner app's third redesign (`docs/plans/miner-ui-3.md` on branch `miner-ui-3`): one job per screen, +one primary control, hierarchy by type not boxes, no developer text on a user surface, no n/a cells, plain state words with +reasons, light and dark, phone width, nothing lost. + +## 1. What changes and what does not + +| Stays | Changes | +|---|---| +| Every claim, number, date, link and feature in the audit's tick list (appendix A of the audit) | Fifteen pages each carrying their own ` + @@ -102,10 +51,9 @@ p{margin:0;color:var(--ink-2);max-width:52ch} @@ -135,9 +95,9 @@ p{margin:0;color:var(--ink-2);max-width:52ch}
404

Nothing is mined here.

-

That address is not on igneum.network. It may have moved, or the link had a typo. These four pages are everything the site has.

+

That address is not on igneum.network. It may have moved, or the link had a typo. The pages below are where most readers want to go; the footer lists every page.

    -
  • LitepaperHow the chain works, in 17 sections
  • +
  • LitepaperHow the chain works, in 19 sections
  • Live devnetBlocks, miners and finality as they happen
  • Engineering logEvery measurement, with the commands
  • EvidenceEvery claim and how far it is tested
  • @@ -149,7 +109,7 @@ p{margin:0;color:var(--ink-2);max-width:52ch}
    - IGNEUM + IGNEUM

    Mined by GPUs. Proven by fire.

    @@ -185,10 +145,23 @@ p{margin:0;color:var(--ink-2);max-width:52ch}
    Igneum Labs LTD · Unit IH-00-01-01-OF-01, Level 01, Innovation One, Dubai International Financial Centre · hello@igneum.network © 2026 Igneum. Nothing on this page is an offer to sell anything. + igneum.network
    + + diff --git a/site/address.html b/site/address.html index 640a8121..bca76506 100644 --- a/site/address.html +++ b/site/address.html @@ -29,9 +29,10 @@ + + @@ -168,10 +99,9 @@ main{padding-bottom:var(--sec)} @@ -222,7 +164,7 @@ main{padding-bottom:var(--sec)}
    - IGNEUM + IGNEUM

    Mined by GPUs. Proven by fire.

    @@ -258,10 +200,23 @@ main{padding-bottom:var(--sec)}
    Igneum Labs LTD · Unit IH-00-01-01-OF-01, Level 01, Innovation One, Dubai International Financial Centre · hello@igneum.network © 2026 Igneum. Nothing on this page is an offer to sell anything. + igneum.network
    + + @@ -141,10 +87,9 @@ th{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:
    -
    88 entries, newest at the bottom
    +
    90 entries, newest at the bottom

    Engineering log

    Every measurement the project has made, newest at the bottom, written by the people and agents who ran it, with the commands and hardware. Prototype numbers are not mining numbers and say so.

    - +

    Igneum bench log

    Append-only. Every number here was measured on the machine named, on the date given.

    2026-10-03 proto-metal / igneum-bench, first run

    @@ -791,7 +748,15 @@ th{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:

    6 October 2026, 16:01Z: Ember run 6 on PC 1 (ember-tune-pc1-6, 0.3.13 + kit-6 = 564bdea, elevated, one click)

    The helper registered inside the run but on the scratch copy (fixed: task_exe, the reregister verb; see the plan's run 6 notes). RTX 5090: chosen 1854 MHz at 100% = 127.71 MH/s at 226.8 W, 0.563 MH/W, against 127.9 at 311.0 W (0.411) untuned: 84 W saved for 0.15% of rate. Every cap step 60 to 100% read 311 to 313 W (the cap never binds). The clock ladder: 2781 MHz 298.8 W 0.428; 2472 MHz 262.0 W 0.488; 2163 MHz 239.9 W 0.533; 1854 MHz 226.8 W 0.563 (the floor, not the optimum: the next cut's ladder goes to 45%). RTX 4070: caps 100 to 60% all 106.0 W 28.71 MH/s (0.271); 50% 99.1 W 28.70 (0.290); clock 2794 MHz at 50% 99.1 W (0.290); 2484 MHz 81.1 W 28.73 (0.354); further rows and the 9070 XT ladder below once the run closes.

    Run 6 closed 16:39:37Z, exit 0, 2317 s, 19 rows. RTX 4070 chosen 1863 MHz at 50% = 28.78 MH/s at 75.6 W (0.381) against 28.72 at 106.0 W (0.271): 30 W saved for no rate lost; its clock ladder at 50%: 2794 MHz 99.1 W 0.290; 2484 MHz 81.1 W 0.354; 2173 MHz 77.7 W 0.370; 1863 MHz 75.6 W 0.381 (the floor). RX 9070 XT: aborted at step 1, "card reports 0 W, acknowledged true" = the applied rule demanded watts from a card that reports offsets (fixed bd7fcf4); the draw itself was read on every tick (amd_watts_source=engine_telemetry, 363 samples). The helper registered on the scratch copy (fixed 200362a: task_exe, the reregister verb). PC 1 mined through the installed app again by 16:44Z: 170.6 MH/s over the three cards, 0 faults.

    -

    Re-point and proof, 16:48 to 16:53Z: the Power Helper task re-pointed by the helper itself ("1 reregister ok: the task now runs ...Programs\Igneum Miner\igneum-app.exe --power-helper"), then the installed app's caps through the task with no prompt ("-pl 460: set to 460.00 W from 575.00 W", "-pl 160: set to 160.00 W from 100.00 W"). Task Running, Highest, user Admin. Cards: 5090 221 W at 1845 MHz, 4070 75.8 W at 1860 MHz, 9070 XT 202 W, all mining through the installed app. Ember closed 16:53Z.

    +

    Re-point and proof, 16:48 to 16:53Z: the Power Helper task re-pointed by the helper itself ("1 reregister ok: the task now runs ...Programs\Igneum Miner\igneum-app.exe --power-helper"), then the installed app's caps through the task with no prompt ("-pl 460: set to 460.00 W from 575.00 W", "-pl 160: set to 160.00 W from 100.00 W"). Task Running, Highest, user Admin. Cards: 5090 221 W at 1845 MHz, 4070 75.8 W at 1860 MHz, 9070 XT 202 W, all mining through the installed app. Ember closed 16:53Z.

    +

    Prover tiers on real cards: the rented fleet, 6 October 2026 (branch gpu-fleet)

    +

    From 11:50 UTC, Vast.ai containers (nvidia/cuda:12.8.1-devel-ubuntu24.04, the host's driver), one card each, the 0.3.12 Linux node 83089544 on the ten-field override, the 0.3.12 CUDA worker, the patched SP1 server built on each box from proving/prover-floor/sp1-gpu-6.8.1-floor.patch v4 (e81cb0d0...) for the card's own arch, the cuda host with the pinned ids 0x2b1a81cb... and 0x474678f3...; the v1 shard (fees-v1-shards2.json shard 0, 4,717,439 cycles); every proof VERIFIED by the host's own SDK verifier; peak = nvidia-smi memory.used sampled once a second (a per-second loop, not -l 1, which buffers and ignores SIGTERM in a container); own = peak minus the reading before the point; beside = the card's miner running (its resident set is the base). Runner tools/fleet/box-matrix.sh, collector tools/fleet/collect.py, raw logs fleet/<instance>/, the analysis docs/analysis/prover-tiers-real-cards.md.

    +
    CardVRAM GBIdle MiBMinerStock SP1 6.8.1Patched, proves alone (own)Beside the miner (peak)Core-only beside the miner (own)Verdict
    RTX 306012123.78 MH/s at 103.7 W, 1.4 GBrefused: thread 'tokio-rt-worker' (48952) panicked at sp1-gpu/crates/7.4 GB, 14.4 s (alone-comp-26-v1)8.9 GB peak, 37.5 s5.6 GB, 27.2 smines and proves
    RTX 3080101140.82 MH/s at 204.9 W, 1.5 GBrefused: thread 'tokio-rt-worker' (49593) panicked at sp1-gpu/crates/8.0 GB, 7.1 s (alone-comp-26-v1)9.2 GB peak, 25.6 s5.9 GB, 19.2 smines and proves
    RTX 309024137.79 MH/s at 228.8 W, 1.5 GBnot measured: the SDK's server download stalled (killed at 553 s)7.7 GB, 14.9 s (alone-comp-26-v1)9.3 GB peak, 19.9 s5.8 GB, 13.3 smines and proves
    RTX 4060 Ti 16 GB16017.58 MH/s at 72.3 W, 1.4 GBrefused: thread 'tokio-rt-worker' (49293) panicked at sp1-gpu/crates/7.8 GB, 11.6 s (alone-comp-26-v1)9.0 GB peak, 34.6 s5.8 GB, 25.9 smines and proves
    RTX 4060 Ti 8 GB8019.07 MH/s at 72.6 W, 1.4 GBrefused: thread 'tokio-rt-worker' (43763) panicked at sp1-gpu/crates/7.6 GB, 9.6 s (alone-comp-26-v1)no GB peak, s5.8 GB, 26.3 smines and proves core-only
    RTX 40608217.07 MH/s at 0.0 W, 1.4 GBrefused: thread 'tokio-rt-worker' (48510) panicked at sp1-gpu/crates/7.4 GB, 18.4 s (alone-comp-26-v1)no GB peak, s5.6 GB, 22.1 smines and proves core-only
    RTX 407012924.99 MH/s at 91.1 W, 1.4 GBrefused: thread 'tokio-rt-worker' (47475) panicked at sp1-gpu/crates/7.6 GB, 12.1 s (alone-comp-26-v1)10.1 GB peak, 27.3 s5.6 GB, 14.3 smines and proves
    RTX 409024152.25 MH/s at 183.1 W, 1.7 GBproved 5.6 s at 17.4 GB7.9 GB, 6.3 s (alone-comp-26-v1)10.7 GB peak, 26.1 s6.1 GB, 10.6 smines and proves
    RTX 507012241.89 MH/s at 137.0 W, 2.7 GBrefused: thread 'tokio-rt-worker' (53680) panicked at sp1-gpu/crates/7.6 GB, 4.8 s (alone-comp-26-v1)10.2 GB peak, 37.2 s5.8 GB, 19.8 smines and proves
    RTX 509032298.48 MH/s at 258.2 W, 1.8 GBproved 8.4 s at 18.3 GB8.0 GB, 6.3 s (alone-comp-26-v1)9.9 GB peak, 10.7 s6.3 GB, 7.4 smines and proves
    RTX A500024147.7 MH/s at 222.7 W, 1.5 GBproved 6.4 s at 17.2 GB7.7 GB, 8.3 s (alone-comp-26-v1)10.5 GB peak, 34.6 s6.0 GB, 18.2 smines and proves
    +

    Also measured: the stock SP1 6.8.1 server refuses every card under 24 GB at builder.rs:38 and proves the v1 shard on the 4090 (5.6 s, 17.4 GB), the A5000 (6.4 s, 17.2 GB) and the 5090 (8.4 s, 18.3 GB); 2^27 does not fit a 10 or 8 GB card and the v4 server hangs at the card's limit (568 and 904 s until killed) where v5 aborts in 13 s ("FLOOR abort: a device allocation failed at slop/crates/tensor/src/inner.rs:51 ... AllocError { size: 486586112 }", exit 70; the known-failed case of the prover-floor gate, on the 3080); the miner beside a prover costs 1.7x (5090) to 7.7x (5070) on the proof's time and 5 to 20% of the miner's rate; the empty-shard fixture (block-72854, a first block with a genesis witness) proves slower than the v1 shard on every card (24 to 55 s) and is not an empty live shard; Ember's two knobs are refused in the containers, so the ladders are baseline rows (docs/plans/ember-tune.md, fleet priors).

    +

    Rental cost of hash, 6 October 2026 (branch gpu-fleet): what a GH/s costs by the hour against the devnet

    +

    Measured on the rented fleet (RunPod community pods, list prices, 18:45Z): 38 wave pods (4090, A4000, L4, 3090, 3070, 4070 Ti, A5000, 4000 Ada) ran 1,748 MH/s inside jobs (median pod 28 MH/s) for USD 20.44 an hour, USD 0.0117 per MH/s-hour; the 8x 4090 rig 459 MH/s at 1,636 W for USD 5.92 an hour, USD 0.0129 per MH/s-hour; a single 5090 pod 98 to 128 MH/s for USD 0.41 to 0.74 an hour. The live devnet's difficulty read 1,156,040,186 at 1 block a second at 19:00Z, so the whole network was about 1.16 GH/s, and the rented fleet was most of it. The live litepaper's line ("2 GH/s for USD 13/h vs 280 MH/s devnet") is corrected to: 1.75 GH/s for USD 20 an hour on community pods, against a devnet of 1.16 GH/s.

    +
    BuyerWhat USD 20/h buysAgainst the devnet (1.16 GH/s)Against mainnet scale
    Home miner, 8 to 12 GB card (11 to 28 MH/s)nothing: the card is owned, 0.15 to 0.2 kWone card is 1 to 2 percent of the devnetone card is noise at a TH/s
    Rig, 8x 4090 (459 MH/s, USD 5.92/h rented)1.7 rigsone rig is 40 percent of the devnetone rig is 0.05 percent of a TH/s
    Renter at RunPod list prices1.75 GH/s while cards exist150 percent of the devnet: overtaken for USD 15/ha TH/s costs USD 11,700 an hour and the market cannot supply it: asked for 20 pods of any of 8 card types at 18:59Z to 19:15Z, RunPod gave 0 ("no instances currently available")
    +

    Consequence: the devnet's hash is rentable for the price of a dinner, so nothing on it is a security result; the counter-ASIC and finality work is tested there for correctness, not for cost. The cost argument only starts at the TH/s scale, where the rental market's supply (not its price) is the limit, and that number belongs in the litepaper with this caveat.

    Generated from the repository at build time. Times are UTC. Machine names are model names.

    @@ -800,7 +765,7 @@ th{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:
    - IGNEUM + IGNEUM

    Mined by GPUs. Proven by fire.

    @@ -836,10 +801,23 @@ th{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:
    Igneum Labs LTD · Unit IH-00-01-01-OF-01, Level 01, Innovation One, Dubai International Financial Centre · hello@igneum.network © 2026 Igneum. Nothing on this page is an offer to sell anything. + igneum.network
    + + \ No newline at end of file diff --git a/site/block.html b/site/block.html index 2eab39af..a786a3eb 100644 --- a/site/block.html +++ b/site/block.html @@ -29,9 +29,10 @@ + + @@ -168,10 +99,9 @@ main{padding-bottom:var(--sec)} @@ -223,7 +165,7 @@ main{padding-bottom:var(--sec)}
    - IGNEUM + IGNEUM

    Mined by GPUs. Proven by fire.

    @@ -259,10 +201,23 @@ main{padding-bottom:var(--sec)}
    Igneum Labs LTD · Unit IH-00-01-01-OF-01, Level 01, Innovation One, Dubai International Financial Centre · hello@igneum.network © 2026 Igneum. Nothing on this page is an offer to sell anything. + igneum.network
    + + @@ -144,10 +88,9 @@ code{font-family:var(--f-mono);font-size:.92em;background:var(--obsidian);paddin @@ -239,7 +194,7 @@ code{font-family:var(--f-mono);font-size:.92em;background:var(--obsidian);paddin
    - IGNEUM + IGNEUM

    Mined by GPUs. Proven by fire.

    @@ -275,10 +230,23 @@ code{font-family:var(--f-mono);font-size:.92em;background:var(--obsidian);paddin
    Igneum Labs LTD · Unit IH-00-01-01-OF-01, Level 01, Innovation One, Dubai International Financial Centre · hello@igneum.network © 2026 Igneum. Nothing on this page is an offer to sell anything. + igneum.network
    + + @@ -167,10 +98,9 @@ main{padding-bottom:var(--sec)} @@ -244,7 +186,7 @@ main{padding-bottom:var(--sec)}
    - IGNEUM + IGNEUM

    Mined by GPUs. Proven by fire.

    @@ -280,10 +222,23 @@ main{padding-bottom:var(--sec)}
    Igneum Labs LTD · Unit IH-00-01-01-OF-01, Level 01, Innovation One, Dubai International Financial Centre · hello@igneum.network © 2026 Igneum. Nothing on this page is an offer to sell anything. + igneum.network
    + + @@ -136,10 +80,9 @@ dt{color:var(--ash)}dd{margin:0;font-family:var(--f-mono);font-size:14px;overflo @@ -204,7 +159,7 @@ dt{color:var(--ash)}dd{margin:0;font-family:var(--f-mono);font-size:14px;overflo
    - IGNEUM + IGNEUM

    Mined by GPUs. Proven by fire.

    @@ -240,10 +195,23 @@ dt{color:var(--ash)}dd{margin:0;font-family:var(--f-mono);font-size:14px;overflo
    Igneum Labs LTD · Unit IH-00-01-01-OF-01, Level 01, Innovation One, Dubai International Financial Centre · hello@igneum.network © 2026 Igneum. Nothing on this page is an offer to sell anything. + igneum.network
    + + @@ -305,10 +159,9 @@ pre{margin:0;font-family:var(--f-mono);font-size:13px;line-height:1.6;color:var(
    +
    -
    -
    -
    GPUs are back · for good
    -

    Mined by GPUs.
    Proven by fire.

    -

    Built for graphics cards. A new mining program every hour, compiled on the card. In our public model the strongest chip reaches 5x to 9x per joule against an RTX 5090 today, about 2x once the lever now in its gates ships: the numbers. Every card mines; today's app proves on a 24 GB NVIDIA card and mines and proves on 32 GB. Measured on 6 October 2026 on eleven rented cards with the patched server: every NVIDIA card from 8 GB proves, 10 GB and up mine and prove (the log); ships when the packaging row lands. AMD and Apple cards mine. No premine, no stake, no foundation.

    - -
    -
    -
    -
    This tab · light client
    -
    PREVIEW
    -
    -
    -
    -
    -

    Browser checks Igneum

    -

    A checkpoint certificate, verified in this tab. Voter list from the node.

    +
    +
    +
    GPUs are back · for good
    +

    Mined by GPUs.
    Proven by fire.

    +

    A proof-of-work chain built for graphics cards. The mining program rewrites itself every hour and is compiled on the card, so a chip built for one hour is useless the next. The same cards prove every block. No premine, no stake, no foundation.

    + +

    Every card mines; today's app proves on a 24 GB NVIDIA card and mines and proves on 32 GB. Measured on 6 October 2026 on eleven rented cards with the patched server: every NVIDIA card from 8 GB proves, 10 GB and up mine and prove (the log); ships when the packaging row lands. AMD and Apple cards mine. The chip model is public: the numbers.

    -
    -
    BLOCK PROOF
    not yet
    -
    CHECKPOINT
    checking
    -
    PROOF SYSTEM
    BLS aggregate, version 1
    -
    VERIFIED IN THIS TAB
    checking
    -
    - -
    -
    - -
    -
    0
    vote keys active in 10 min (a card runs several)
    -
    0.0
    blocks / s
    -
    0.0 MH/s
    hash rate
    -
    0
    chain block
    +
    +
    +
    This tab · light client
    +
    PREVIEW
    +
    +
    +
    +
    +

    Browser checks Igneum

    +

    A checkpoint certificate, verified in this tab. Voter list from the node.

    +
    +
    +
    +
    Block proof
    not yet
    +
    Checkpoint
    checking
    +
    Proof system
    BLS aggregate, version 1
    +
    Verified in this tab
    checking
    +
    +
    +
    +
    1 / s
    blocks, rising to 10
    +
    ~60 s
    to a proof at launch, the target. First GPU proof of a block: 1.4 s on an RTX 5090, 4 Oct 2026
    +
    0
    premine
    +
    4B
    IGN hard cap, ever
    +
    +

    100% of emission goes to miners and provers; the protocol carries no fee.

    -
    +
    -
    1 / s
    blocks, rising to 10
    -
    ~60 s
    to a proof at launch, the target. First GPU proof of a block: 1.4 s on an RTX 5090, 4 Oct 2026
    -
    0
    premine
    -
    4B
    IGN hard cap, ever
    -
    100%
    of emission to miners and provers; the protocol carries no fee
    -
    -
    - -
    -
    -
    +
    +
    The chain, now

    Watch the chain prove itself

    Blocks every second, proven in shards, locked every 30 seconds. First live lock 4 Oct 2026: checkpoint 242, 77.4% of all weight, two hours after genesis.

    -
    -
    -
    simulated preview
    -
    blocks 0proven 0locked 0
    +
    +
    +
    connecting to the devnet observer
    +
    chain block pendingshards proven pendinglast lock pendingvote keys in 10 min pendinghash rate pending
    - -
    - mined - shards being proven - proven - locked checkpoint, final +
    + +
    - -
    -
    -
    This hour's program
    next in 59:59
    -
    
    -        

    A new program every hour. Last hour's chip is already obsolete. First live swap 4 Oct 2026: Apple, NVIDIA and AMD kept hashing through it, 0 rejected blocks.

    +
    +
    +
    This hour's program
    +
    
    +        

    A new program every hour, so last hour's chip is obsolete. First live swap 4 Oct 2026: Apple, NVIDIA and AMD kept hashing through it, 0 rejected blocks.

    -
    +
    Proofs sold to other chains
    -
    rollup · batch proofat testnet
    -
    bridge · state proofat testnet
    -
    rollup · fault proofat testnet
    -
    IGN burned from jobsphase two
    +
    rollup · batch proofat testnet
    +
    bridge · state proofat testnet
    +
    rollup · fault proofat testnet
    +
    IGN burned from jobsphase two
    -

    The same cards sell proofs to rollups and bridges. Jobs are paid on the customer's chain at launch; settlement in IGN with a 10% burn follows the proof bridge in phase two. Live rows arrive with the public testnet, August 2027.

    +

    The same cards sell proofs to rollups and bridges. Jobs are paid on the customer's chain at launch; settlement in IGN with a 10% burn follows the proof bridge in phase two. Live rows arrive with the public testnet, August 2027.

    - Read more in the litepaper +

    Read more in the litepaper

    -
    +
    -
    -

    Monero's idea, finished for GPUs

    -

    The random program that has kept chips off Monero since 2019 (approximate), rebuilt for graphics cards.

    +
    +
    For the sceptic
    +

    Three things to check

    +

    Igneum states its limits first. Each of these is measured, published and open to anyone who wants to break it.

    -
    - - - - - - - - -
    PropertyRandomXIgneum
    Who minesCPUsGPUs
    Program changesEvery hashEvery hour
    Memory2 GB, fixed2 GB, growing (the proposed schedule, fixed at the testnet genesis: 2 GB, doubling at years 4, 12 and 28)
    Verified byAny CPUAny CPU
    +
    +
    +
    Chip economics
    +

    The chip model is public

    +

    In our public model the strongest chip reaches 5x to 9x per joule against an RTX 5090 today, about 2x once the lever now in its gates ships. The model, its inputs and what it does not cover are in the engineering log.

    + The numbers +
    +
    +
    Monero's technique, applied to GPUs
    +

    A program that keeps changing

    +

    The random program that has kept chips off Monero since 2019 (approximate), rebuilt for graphics cards. The program keeps changing on a schedule fixed at genesis; nobody touches it.

    +
    + + + + + + + +
    PropertyRandomXIgneum
    Who minesCPUsGPUs
    Program changesEvery hashEvery hour
    Memory2 GB, fixed2 GB, growing (the proposed schedule, fixed at the testnet genesis: 2 GB, doubling at years 4, 12 and 28)
    Verified byAny CPUAny CPU
    + Igneum vs RandomX +
    +
    +
    Every criticism
    +

    What Igneum does not claim

    +

    Proof lag, chip economics, the market size, and the one rule external review will try hardest to break: the litepaper states the limits, and the ledger carries every criticism, answered or conceded.

    + The limits + The ledger +
    -

    The program keeps changing on a schedule fixed at genesis. Nobody touches it.

    - Read more in the litepaper -

    Built on the shoulders: Kaspa's GHOSTDAG and node, Monero's RandomX idea, Chia's class-group VDF, Ethereum's EVM, Succinct's SP1, BLS12-381 and Bitcoin's address format.
    What changed, why, and how it is measured: the provenance section of the litepaper.

    +

    Built on the shoulders: Kaspa's GHOSTDAG and node, Monero's RandomX idea, Chia's class-group VDF, Ethereum's EVM, Succinct's SP1, BLS12-381 and Bitcoin's address format. What changed, why, and how it is measured: the provenance section of the litepaper.

    -
    +
    -

    One chain, three jobs

    -
    -
    - +
    +
    Igneum Ember · one click
    +

    Install. Start. The card mines.

    +

    Igneum Ember finds your GPU, makes a wallet for you and runs the node, the miner and the prover as one app. The card mines; a 24 GB NVIDIA card proves as well.

    +
    +
    +
    + +

    Devnet. Coins have no value and the chain may be reset.

    +

    Public testnet: not yet open; the devnet build is here for people who want to look.

    +

    Read more about the miner. The protocol carries no fee. The Ember software takes an 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.

    +
    +

    NVIDIA, AMD, Apple silicon

    Found by itself. One worker per card, several identities each.

    +

    A new program every hour, no pause

    Compiled ahead and swapped in 0.01 ms on the live devnet, 0 rejected blocks.

    +

    Signed updates at a safe moment

    The card keeps mining through the download. The old version comes back if the new one fails to start.

    +

    Four pages: Mine, Earnings, Prove, Settings

    Every card is one row: rate, watts, MH per watt, pounds a day at your electricity price, a Tune button. The node is one line.

    +

    Ember Tune, measured

    An RTX 5090 from 311 W to 227 W for 0.15% of its rate; an RTX 4070 from 106 W to 76 W for none (PC 1, 6 Oct 2026). Every number in the bench table.

    +
    +
    +
    + The Mine page of Igneum Miner 0.3.14 on a three-card PC: 169 MH/s at 532 W, one row per card with its rate, watts, MH per watt, temperature, tune line, Tune button and switch +
    Igneum Ember (the app window still says Igneum Miner) 0.3.14 on PC 1 (RTX 5090, RTX 4070, RX 9070 XT), live devnet, 6 Oct 2026.
    +
    +
    +
    + What you agree to when you run the testnet miner +
    +

    No value. Testnet IGN cannot be sold, bought or redeemed, now or at mainnet. There is no airdrop, no points scheme and no promise tied to testnet balances. Mainnet starts from an empty genesis.

    +

    Resets. The chain restarts from a fresh genesis when a consensus rule changes. Every reset is announced at least seven days ahead on this page and in the app. Balances, contracts and history do not carry over. The devnet that runs today resets without notice.

    +

    What the app sends home. The app version, a random machine id made at install, your operating system, the node version, the hash rate, and the app, node and miner logs (which name the address the card mines to). They go to the project's log intake, a service Igneum runs on Vercel, and are read by the maintainers to find faults. Never your seed phrase, never a key, never a file you did not make with the app. Nothing is sold or shared.

    +
    +

    Wallet set-up for MetaMask: chain id, RPC and the one-click button. The miner software takes an optional 1% fee, off with one flag; the protocol carries no fee to anyone.

    +
    +
    +
    + +
    +
    +
    +
    How it works
    +

    One chain, three jobs

    +
    +
    +
    +

    Mine

    Any 4 GB card at launch, 8 GB from about year 4 under the proposed schedule, fixed at the testnet genesis: 2 GB, doubling at years 4, 12 and 28, approximate. 80% of each block to its finder.

    - About the miner + About the miner
    -
    - +
    +

    Prove

    The same card proves shards and sells proofs to other chains.

    - How proving pays + How proving pays
    -
    - +
    +

    Build

    Ethereum bytecode, with the differences documented. Proofs of any computation from the miners' cards, verified by the chain itself. 20% of priority fees to the contracts that ran, stated at the fee levels that exist.

    - Deploy on Igneum + Deploy on Igneum
    - Read more in the litepaper +

    Read more in the litepaper

    -
    +
    -
    -

    One click. The card mines; a 24 GB NVIDIA card proves as well.

    -

    Igneum Ember finds your GPU, makes a wallet for you and runs the node, the miner and the prover as one app.

    -
    -
    -
    -
    -
    Igneum Miner
    - The Mine page of Igneum Miner 0.3.14 on a three-card PC: 169 MH/s at 532 W, one row per card with its rate, watts, MH per watt, temperature, tune line, Tune button and switch -
    Igneum Ember (the app window still says Igneum Miner) 0.3.14 on PC 1 (RTX 5090, RTX 4070, RX 9070 XT), live devnet, 6 Oct 2026.
    -
    -
    -
    -
    -
    NVIDIA, AMD, Apple siliconFound by itself. One worker per card, several identities each.
    -
    A new program every hour, no pauseCompiled ahead and swapped in 0.01 ms on the live devnet, 0 rejected blocks.
    -
    Signed updates at a safe momentThe card keeps mining through the download. The old version comes back if the new one fails to start.
    -
    Four pages: Mine, Earnings, Prove, SettingsEvery card is one row: rate, watts, MH per watt, pounds a day at your electricity price, a Tune button. The node is one line.
    -
    Ember Tune, measuredAn RTX 5090 from 311 W to 227 W for 0.15% of its rate; an RTX 4070 from 106 W to 76 W for none (PC 1, 6 Oct 2026). Every number in the bench table.
    +
    +
    +
    Igneum Wallet · desktop
    +

    Your coins, your wallet

    +

    Igneum Wallet holds the key the miner makes for you and verifies finality itself. MetaMask works too.

    +
    + pending waiting for a block + in a block carried, not yet covered + final, checkpoint 5 under a checkpoint this wallet verified
    -
    - Windows v0.3.14 · 45.4 MB - macOS v0.3.14 · 41.9 MB - Linux · HiveOS +
    +

    Sealed on your machine

    24 words, three typed back, a password. Argon2id and XChaCha20-Poly1305. Nothing leaves.

    +

    Rewards in one history

    Block rewards, proving payouts and transfers. Send with the fee shown. Receive by a QR drawn locally.

    +

    Reads your own node

    When the miner is installed, the wallet uses its node. Nobody else sees your balance.

    -

    Devnet: coins have no value and the chain may be reset.

    -

    Public testnet: not yet open; the devnet build is here for people who want to look.

    -

    Read more about the miner. The protocol carries no fee. The Ember software takes an 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.

    -
    -
    -
    -
    Testnet terms
    -

    What you agree to when you run the testnet miner

    -
    -
    -

    No value. Testnet IGN cannot be sold, bought or redeemed, now or at mainnet. There is no airdrop, no points scheme and no promise tied to testnet balances. Mainnet starts from an empty genesis.

    -
    -
    -

    Resets. The chain restarts from a fresh genesis when a consensus rule changes. Every reset is announced at least seven days ahead on this page and in the app. Balances, contracts and history do not carry over. The devnet that runs today resets without notice.

    -
    -
    -

    What the app sends home. The app version, a random machine id made at install, your operating system, the node version, the hash rate, and the app, node and miner logs (which name the address the card mines to). They go to the project's log intake, a service Igneum runs on Vercel, and are read by the maintainers to find faults. Never your seed phrase, never a key, never a file you did not make with the app. Nothing is sold or shared.

    -
    -
    -

    Wallet set-up for MetaMask: chain id, RPC and the one-click button. The miner software takes an optional 1% fee, off with one flag; the protocol carries no fee to anyone.

    -
    -
    -
    - -
    -
    -
    -

    Your coins, your wallet

    -

    Igneum Wallet holds the key the miner makes for you and verifies finality itself. MetaMask works too.

    -
    -
    -
    -
    -
    pendingwaiting for a block
    -
    in a blockcarried, not yet covered
    -
    final · cp 5under a checkpoint this wallet verified
    -
    -
    -
    Sealed on your machine24 words, three typed back, a password. Argon2id and XChaCha20-Poly1305. Nothing leaves.
    -
    Rewards in one historyBlock rewards, proving payouts and transfers. Send with the fee shown. Receive by a QR drawn locally.
    -
    Reads your own nodeWhen the miner is installed, the wallet uses its node. Nobody else sees your balance.
    -
    -
    - Read more about the wallet + -

    macOS first, Windows next. Public testnet first. Download only from this domain. Nobody from Igneum will ask for your seed.

    -
    -
    -
    -
    Igneum Wallet
    - The wallet window: a balance in IGN, an example address with Send and Receive, node and finality panels, and a history of block rewards -
    Igneum Wallet on a private test network, 5 Oct 2026. The address is an example.
    -
    +

    macOS first, Windows next. Public testnet first. Download only from this domain. Nobody from Igneum will ask for your seed.

    +
    + The wallet window: a balance in IGN, an example address with Send and Receive, node and finality panels, and a history of block rewards +
    Igneum Wallet on a private test network, 5 Oct 2026. The address is an example.
    +
    -
    +
    -
    -
    -

    Where Igneum is right now

    -
    LOADING
    -
    +
    +
    The journey
    +

    Where Igneum is right now

    +
    loading

    Thirteen months, four public gates, each a measurement published pass or fail.

    -
    -

    The log below is the engineering log's dated entries, newest first. Day one was 3 October 2026; several entries can share a date because the work is logged as it is run.

    -
    - Read more in the litepaper +
    +

    The log below is the engineering log's dated entries, newest first. Day one was 3 October 2026; several entries can share a date because the work is logged as it is run.

    +
    +

    Read more in the litepaper

    -
    +
    -
    -
    +
    +
    +
    Economics

    Every coin, mined

    -

    Hard cap of 4 billion IGN, halving every two years for ever.

    -
    -
    -
    - 80% miners - 20% provers - 0% anyone else in the protocol -
    +

    Hard cap of 4 billion IGN, halving every two years for ever.

    +
    +
    + 80% miners + 20% provers + 0% anyone else in the protocol
    -
    +
    0
    premine
    0
    stake, anywhere
    0
    admin keys in consensus
    90%
    of blocks must signal to upgrade
    -

    No premine, no stake, no fee to any team in the protocol. Base fee burned. The one payment to the project is the Ember software's optional 1% dev fee, off with one flag. On the devnet today the coinbase's 20% output is burned under the tag igneum-proving-pool-v0, and provers are paid from a separate escrow in the execution state credited with the same 20%.

    - Read more in the litepaper +

    No premine, no stake, no fee to any team in the protocol. Base fee burned. The one payment to the project is the Ember software's optional 1% dev fee, off with one flag. On the devnet today the coinbase's 20% output is burned under the tag igneum-proving-pool-v0, and provers are paid from a separate escrow in the execution state credited with the same 20%.

    +

    Read more in the litepaper

    -
    +

    Read what Igneum does not claim.

    -

    The litepaper states the limits before anyone else does. Proof lag, chip economics, the market size, and the one rule external review will try hardest to break.

    +

    The litepaper states the limits first. Proof lag, chip economics, the market size, and the one rule external review will try hardest to break.

    - Litepaper + The litepaper
    @@ -633,7 +497,7 @@ pre{margin:0;font-family:var(--f-mono);font-size:13px;line-height:1.6;color:var(
    - IGNEUM + IGNEUM

    Mined by GPUs. Proven by fire.

    @@ -669,225 +533,60 @@ pre{margin:0;font-family:var(--f-mono);font-size:13px;line-height:1.6;color:var(
    Igneum Labs LTD · Unit IH-00-01-01-OF-01, Level 01, Innovation One, Dubai International Financial Centre · hello@igneum.network © 2026 Igneum. Nothing on this page is an offer to sell anything. + igneum.network
    + + + diff --git a/site/journey.json b/site/journey.json index 397dd412..f5464231 100644 --- a/site/journey.json +++ b/site/journey.json @@ -192,63 +192,63 @@ }, { "date": "2026-10-04", - "text": "Sim/economy: mining versus proving under stress, agent-based", - "short": "Economy simulation: mining versus proving under stress" + "text": "One-click Windows workers: what the Apple M5 Max could measure", + "short": "One-click Windows workers" }, { "date": "2026-10-04", - "text": "Difficulty rule under attack: pool hopping, pulsed rental, timestamp stretching, short-lane oscillation, epoch games, polluted window, block flood", - "short": "Difficulty rule attacked seven ways" + "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": "Difficulty rule: timestamp attack fixed , simulator regression, 3-node forger test", - "short": "Timestamp attack on the difficulty rule fixed" + "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": "Devnet-v4 integration: nine branches merged, 3-node test network on the merged node, Windows cross-build", - "short": "Devnet v4: nine branches merged into one node" + "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": "Generator version 2 adopted: exact load count, fresh-source loads, program acceptance; every vector re-cut, three workers re-checked, 20,000-program census, devnet-v4 binaries rebuilt", - "short": "Generator v2 adopted: every hash does 128 distinct reads" + "text": "PC 2 at the 14:20 boundary: a worker stuck on the previous epoch", + "short": "PC 2 at the 14:20 boundary: a worker stuck on the previous epoch" }, { "date": "2026-10-04", - "text": "Proving v0 on the RTX 5090: first GPU proof of an Igneum block", - "short": "First GPU proof of an Igneum block: 1.4 s on an RTX 5090" + "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" }, { "date": "2026-10-04", - "text": "Devnet v4 cut-over: generator v2, 2/3 floor, three nodes and a seed on a fresh chain", - "short": "Devnet v4 live: generator v2, two-thirds floor, fresh chain" + "text": "First outside machine on the devnet: an Apple silicon laptop through the Igneum Miner app", + "short": "First outside machine: a friend's Mac mining through the app" }, { "date": "2026-10-04", - "text": "First hourly program swap on the live devnet: compile-ahead, no pause, two cards", - "short": "First live hourly swap: no pause on Mac, NVIDIA or AMD" + "text": "Cloud devnet: 12 igneumd nodes in 5 locations, inter-region latency, two Singapore partitions, hash-rate steps", + "short": "Cloud devnet: 12 igneumd nodes in 5 locations, inter-region latency" }, { "date": "2026-10-04", - "text": "Proving: devnet v4 shards on the Apple M5 Max CPU, loaded machine", - "short": "Proving: devnet v4 shards on the Apple M5 Max CPU, loaded machine" + "text": "Correction: the 78-minute observer gap was the Apple M5 Max hibernating", + "short": "Correction: the 78-minute observer gap was the Apple M5 Max hibernating" }, { "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" + "text": "Difficulty v2 rollout rehearsal on the 12-node the cloud provider network, binaries for the devnet, the devnet plan", + "short": "Difficulty v2 rollout rehearsal on the 12-node the cloud provider…" }, { "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" + "text": "Difficulty rule v2 activated on the live devnet at DAA 33,000 by height switch, no fresh chain", + "short": "Difficulty rule v2 switched on the live devnet by height, no fresh chain" }, { "date": "2026-10-04", - "text": "First machine on the Igneum Miner app: PC 2's RTX 5090 at 118 MH/s, via Setup.exe", - "short": "First machine on the one-click app: a 5090 at 118 MH/s" + "text": "First machine in the United States: a Windows laptop on an Intel integrated GPU, synced and voting", + "short": "First machine in the United States: a laptop on an integrated GPU, synced and voting" } ] } diff --git a/site/ledger.html b/site/ledger.html index 14bf00a2..3ac462e6 100644 --- a/site/ledger.html +++ b/site/ledger.html @@ -29,9 +29,10 @@ + + @@ -135,10 +79,9 @@ details{margin-top:8px;font-size:14px;color:var(--ash)}summary{cursor:pointer;co @@ -1232,7 +1187,7 @@ details{margin-top:8px;font-size:14px;color:var(--ash)}summary{cursor:pointer;co
    - IGNEUM + IGNEUM

    Mined by GPUs. Proven by fire.

    @@ -1268,10 +1223,23 @@ details{margin-top:8px;font-size:14px;color:var(--ash)}summary{cursor:pointer;co
    Igneum Labs LTD · Unit IH-00-01-01-OF-01, Level 01, Innovation One, Dubai International Financial Centre · hello@igneum.network © 2026 Igneum. Nothing on this page is an offer to sell anything. + igneum.network
    + + @@ -222,10 +134,9 @@ body.all .pager{display:none} @@ -260,7 +183,7 @@ body.all .pager{display:none}
    A proof-of-work chain whose miners also prove every block, run Ethereum's apps, and are protected from specialised chips by a program that changes every hour.
    - Published 3 October 2026 · updated 5 October 2026 + Published 3 October 2026 · updated 6 October 2026 Coin IGN · cap 4,000,000,000 Status devnet live, pre-testnet Method one founder with AI systems · external review before gate 3 @@ -291,14 +214,14 @@ body.all .pager{display:none}
  • Built on the shoulders
  • What Igneum does not claim
  • -
    +
    Latin igneum: fiery. A cupel is the vessel in which metal is proven by fire.

    Abstract

    -

    Igneum is a proof-of-work blockchain built for graphics cards, where NVIDIA cards also prove every block with zero-knowledge proofs and sell proving to other chains. The strongest recompute chip we can price, holding the whole 256 MiB cache on-die, reaches under 1x per chip against an RTX 5090. A memory-controller chip that stores the whole dataset reaches 1.2x per chip and, in our model, 5x to 9x per joule; the Ethash chips of this class reached 2.1x to 4.8x. The lever against it, program work in the latency shadow, is measured and in its gates: it brings the chip to about 2x. Sources: the chip model (docs/analysis/chip-model-v3.md section 5, 6 October 2026); the Ethash rows of the ASIC history (docs/analysis/asic-resistance-history.md, Linzhi Phoenix 2020, Jasminer X4 2021, Antminer E9 2022); Counter ASIC 3.0 item 8 (100,000 ops per hash: the chip's per-joule edge over the RTX 5090 falls from 5.6x to 2.1x on GDDR7 at a chip core equal to the GPU's, the 5090 at 0.2% less rate, gates G1 to G6 in progress). The model is public; the claim is tested by paid independent cryptanalysis and the public benchmark.

    +

    Igneum is a proof-of-work blockchain built for graphics cards, where NVIDIA cards also prove every block with zero-knowledge proofs and sell proving to other chains. The strongest recompute chip we can price, holding the whole 256 MiB cache on-die, reaches under 1x per chip against an RTX 5090. A memory-controller chip that stores the whole dataset reaches 1.2x per chip and, in our model, 5x to 9x per joule; the Ethash chips of this class reached 2.1x to 4.8x. The lever against it, program work in the latency shadow, is measured and in its gates: it brings the chip to about 2x. Sources: the chip model analysis (6 October 2026); the Ethash rows of the ASIC history (Linzhi Phoenix 2020, Jasminer X4 2021, Antminer E9 2022); Counter ASIC 3.0 item 8 (100,000 ops per hash: the chip's per-joule edge over the RTX 5090 falls from 5.6x to 2.1x on GDDR7 at a chip core equal to the GPU's, the 5090 at 0.2% less rate, gates G1 to G6 in progress). The model is public; the claim is tested by paid independent cryptanalysis and the public benchmark.

    It runs the Ethereum virtual machine, so anything built for Ethereum runs on Igneum unchanged. Transactions are included in about one second, proven within about a minute at launch, and locked by miners within about two. There is no premine, no pre-sale, no treasury taken from emission, no stake anywhere in consensus, and no dependence on any other chain. Mining stays open to anyone with a GPU because the mining program changes every hour, so a chip built for one program is useless for the next, and a chip for the whole program space is a GPU without the graphics parts. No scheduled human release is needed to keep it that way. Writing new code, including an emergency fix to the proof system, is the one thing that takes a person, and it activates only on miner signalling.

    1 / s
    blocks, rising to 10
    @@ -398,7 +321,7 @@ body.all .pager{display:none} FinalityRule v2: a checkpoint every 30 s of chain, locked at two thirds of all 30-day weight. First live lock: checkpoint 242 at 77.4% of all weight, 17 vote keys4 Oct 2026 Provingv0 active: shards are assigned to miners' keys, proven on their cards, and the records are carried in blocksDAA 84,100, 5 Oct 2026 EmberThe one-click miner on the fleet, version 0.3.13 (6 Oct 2026); the app window still says Igneum Miner4 Oct 2026, first install - WalletIgneum Wallet 0.1.1 on macOS5 Oct 2026 + WalletIgneum Wallet 0.1.4 on macOS (0.1.1 first shipped 5 Oct 2026)6 Oct 2026

    Measured: engineering log, "first hourly program swap on the live devnet", "difficulty rule v2 activated on the live devnet at DAA 33,000", "first finality lock on the live devnet" (4 October 2026); the 0.3.6 release plan (5 October 2026). The block rate is the devnet record in the evidence table, row 7.

    @@ -437,7 +360,7 @@ body.all .pager{display:none} Light verification256 MB cache on a CPU, milliseconds256 MB cache on a CPU (512 MB from year 4), one warp under 10 ms, the gate. Measured 2.1 ms on one Apple M5 Max core for class v3 (3.4x class v2's 0.61 ms); a 2019-class core not yet Changes over timeNone. A fixed design, unchanged for seven yearsA new program every hour, its memory pattern with it; era draws and reserved families on a schedule fixed at genesis. Nobody touches it Seed grindingNot applicable, the program comes from the hash inputClosed by a verifiable delay between seed and program - Useful workNone. Hashing onlyEvery NVIDIA card from 8 GB proves; 12 GB and up mine and prove; 24 GB on the stock server (eleven rented cards, RTX 3060 to RTX 5090, 6 October 2026, docs/analysis/prover-tiers-real-cards.md); they sell proofs to other chains. AMD and Apple cards mine, and a prover for them lands when a zkVM ships one + Useful workNone. Hashing onlyEvery NVIDIA card from 8 GB proves; 12 GB and up mine and prove; 24 GB on the stock server (eleven rented cards, RTX 3060 to RTX 5090, 6 October 2026); they sell proofs to other chains. AMD and Apple cards mine, and a prover for them lands when a zkVM ships one Track recordNo chip publicly shipped in seven years, approximateZero years. Every number above is measured and logged with the commands that produced it. The specification, reference hash, test vectors and simulators are public now (github.com/igneum-network/spec). The node, the miner and the wallet are in a private repository until the public testnet
    @@ -449,7 +372,7 @@ body.all .pager{display:none}

    Every Igneum block is proven with a zero-knowledge proof, and the miners produce it. Proving is a useful GPU workload that is cheaply verifiable by construction. A proof is right or it is not. Wrapped for light clients, a phone checks it in milliseconds; the wrapping cost is a phase two measurement. Measured so far, the certificate half only: the browser verifier on the home page checks a devnet finality certificate, one BLS aggregate signature over 16 keys and 21 header hashes, in 139 to 155 ms cold and 58 to 68 ms warm in a phone-sized tab on a laptop core (5 October 2026). No phone has been measured, and no wrapped block proof exists yet.

    How a block gets proven

    Blocks carry transactions only and make no claim about state. Every node executes the ordered transactions natively at once, so users see their transaction land in about a second. The execution is then split into shards of a fixed proving cost. Shards are assigned by lot to eight provers for ten seconds, then open to anyone; there is no bond. Provers run them on consumer cards, and the shard proofs are folded by recursive aggregation into one proof for the block. That proof lands on-chain within about a minute at launch. Because the proof computes the state from the ordered sequence, no node accepts a block with a wrong state root. Full nodes also execute every block natively and reject a proof record whose result differs from their own execution, so a forged proof is a light-client problem and never a chain split. Implemented: the native-execution check on every carried proof record, proving v0 on the devnet (specification section 7). The emergency path for a soundness bug in the proof system is a human one: a new proof-system version is written by people and activates only on miner signalling. Invalid transactions are skipped by rule, the way Kaspa skips conflicting spends.

    -

    Proving: every NVIDIA card from 8 GB proves; 12 GB and up mine and prove; 24 GB on the stock server. Measured on eleven rented cards, RTX 3060 to RTX 5090, 6 October 2026, docs/analysis/prover-tiers-real-cards.md: the RTX 3060 (12 GB) mines at 23.78 MH/s and proves the v1 shard beside its miner at an 8.9 GB peak in 37.5 s; the RTX 4060 (8 GB) proves it alone at 7.4 GB in 18.4 s; the RTX 4090 (24 GB) proves it on the stock SP1 server in 5.6 s at 17.4 GB. The patched server that fits the smaller cards is not yet in the shipped app. AMD and Apple cards mine. A prover for them lands when a zkVM ships one.

    +

    Proving: every NVIDIA card from 8 GB proves; 12 GB and up mine and prove; 24 GB on the stock server. Measured on eleven rented cards, RTX 3060 to RTX 5090, 6 October 2026: the RTX 3060 (12 GB) mines at 23.78 MH/s and proves the v1 shard beside its miner at an 8.9 GB peak in 37.5 s; the RTX 4060 (8 GB) proves it alone at 7.4 GB in 18.4 s; the RTX 4090 (24 GB) proves it on the stock SP1 server in 5.6 s at 17.4 GB. The patched server that fits the smaller cards is not yet in the shipped app. AMD and Apple cards mine. A prover for them lands when a zkVM ships one.

    The proving budget

    Gas prices execution. Proving cost is a different number, so Igneum meters it separately: every transaction pays in both dimensions, and each block has a proving-cost budget set in consensus from measured prover throughput. A transaction that is cheap to run and expensive to prove pays for what it costs the provers. Measured on 5 October 2026 (an RTX 5090 under SP1 6.8.1's GPU prover, the shard size the chain adopts from its fee switch, 30,000 proving gas, about 4.7 million prover cycles): one full shard proves in 4.3 seconds and needs 20.4 GB of GPU memory with the card to itself, so a 24 GB card proves full shards and a 12 GB or 16 GB card does not on this prover build, whose floor is 13.9 GB for even an empty shard; mining and proving on one card needs 32 GB today (the prototype-size shard beside the miner peaked at 30.1 GB) and 24 GB once the adopted shard size is live (22.2 GB beside the miner, 13.2 seconds a shard, measured on the 32 GB card; a 24 GB card has not run it yet). The old 12 GB gate on the roadmap was withdrawn on 5 October until a prover build with a smaller floor was measured; on 6 October a patched server proved the same shard at 7.4 to 8.0 GB alone on eleven rented cards from the RTX 3060 to the RTX 5090 (the real-card table), so the gate returns as measured and the patched server is not yet in the shipped app. The first proofs exist: on 4 October 2026 an RTX 5090 proved a small two-transaction block in 1.4 seconds (2.7 seconds compressed), verified in 0.22 and 0.038 seconds, and a laptop CPU proved a three-shard block end to end in 19 minutes. Later that day the same card proved a full shard at the provisional size, 6.75 million prover gas, which executed in 60.8 million cycles: core proof 8.3 seconds, compressed proof 10.9 seconds, verified in 0.040 seconds; a four-shard block took 44.5 seconds of GPU stages end to end. Since 5 October 2026 shards are assigned and proven on the live devnet. The gate asks for a mid-range card, and an RTX 5090 is not one, so the gate stands open. Once the gate is measured, the budget rises by schedule as hardware improves. The proof system is hash-based, which is what runs on consumer cards, and sits behind a versioned interface, so Igneum can adopt a better proof system when one exists by a miner-signalled release, and runs for ever on the current one if none is adopted.

    Proving for everyone else

    @@ -573,7 +496,7 @@ body.all .pager{display:none}

    The honest bear-market case rests on cost. A miner's card is already running and the power is often domestic, so Igneum miners' marginal cost in the proving market is close to power, which is an edge over data-centre provers and nothing more. Which of the two in-chain streams pays more per GPU-second depends on the size of the fleet: on the devnet of 4 October 2026, three machines at 275 million hashes a second, a second of hashing paid about 4.9x a second of proving the pool share; at 10,000 cards the same arithmetic favours proving by about 930x. That is arithmetic on measured devnet rates, approximate, not a market measurement.

    Hardware

    -

    The dataset starts at 2 GB and grows (the proposed schedule, fixed at the testnet genesis: 2 GB, doubling at years 4, 12 and 28, the average of half a gigabyte a year), so a 4 GB card mines for about four years and an 8 GB card for about twelve, approximate. Every NVIDIA card from 8 GB proves; 12 GB and up mine and prove; 24 GB on the stock server (eleven rented cards, RTX 3060 to RTX 5090, 6 October 2026, docs/analysis/prover-tiers-real-cards.md). NVIDIA and AMD both work, because the mining program is generated for the architecture both share and the proof system is hash-based. Apple's chips are GPUs with unified memory, so Macs mine too, at about a fifth of a flagship card: Measured, 26.7 against 123 million hashes a second, an Apple M5 Max beside an RTX 5090 on the live devnet, 4 October 2026. A Mac is a poor miner per dollar. There is no CPU mining lane, on purpose, because CPU mining is what botnets farm. Nodes, wallets and exchanges need no GPU at all.

    +

    The dataset starts at 2 GB and grows (the proposed schedule, fixed at the testnet genesis: 2 GB, doubling at years 4, 12 and 28, the average of half a gigabyte a year), so a 4 GB card mines for about four years and an 8 GB card for about twelve, approximate. Every NVIDIA card from 8 GB proves; 12 GB and up mine and prove; 24 GB on the stock server (eleven rented cards, RTX 3060 to RTX 5090, 6 October 2026). NVIDIA and AMD both work, because the mining program is generated for the architecture both share and the proof system is hash-based. Apple's chips are GPUs with unified memory, so Macs mine too, at about a fifth of a flagship card: Measured, 26.7 against 123 million hashes a second, an Apple M5 Max beside an RTX 5090 on the live devnet, 4 October 2026. A Mac is a poor miner per dollar. There is no CPU mining lane, on purpose, because CPU mining is what botnets farm. Nodes, wallets and exchanges need no GPU at all.

    What a miner's hour looks like

    The card hashes the lottery continuously. When the client sees a shard or an external job it can win, it switches the card to proving for a few seconds, posts the proof, and goes back to hashing. The client does the switching and the miner sees one balance.

    The protocol carries no fee: no dev fund, no cut to any team. Ember, the miner software, takes an optional 1% dev fee, the way other GPU miners do. One block template in 100 is requested with the dev address instead of yours, by a counter, not a random draw, so it is exactly 1 in 100 and anyone can check it from the source or from the chain. One flag turns it off (--dev-fee 0, a switch in the app, a line in the HiveOS config). The miner prints the fee and the address when it starts. Any other client is welcome.

    @@ -602,7 +525,7 @@ body.all .pager{display:none} DashboardPer card: rate, accepted and rejected blocks, temperature, draw, MH per watt, the kernel variant in use, the proving state, and every event. Served on this machine only, behind a per-launch token
    -

    Source: the app's engine, detection, keys, prover, updater, jobs and watchdog modules (app/igneum-app/src), the HiveOS package (packaging/hive). Design, not yet measured on a real card: the watchdog rules and the fault guards, which were measured against a fake worker only (engineering log, "miner fault guards and the app watchdog", 4 October 2026).

    +

    Source: the app's engine, detection, keys, prover, updater, jobs and watchdog modules (the app source), the HiveOS package (the HiveOS package). Design, not yet measured on a real card: the watchdog rules and the fault guards, which were measured against a fake worker only (engineering log, "miner fault guards and the app watchdog", 4 October 2026).

    Six levers

    @@ -646,7 +569,7 @@ body.all .pager{display:none}
    LeverWhat it doesState, 5 Oct 2026Measured
    NextTouch ID and Windows Hello to unlock. In progress, not live. Windows build: next
    -

    Source: Igneum Wallet 0.1.1, 5 October 2026 (app/igneum-wallet: the vault, HD key, finality, QR and updater modules and the README). Verified: the over-the-air path end to end on one Mac against a test manifest. Not yet run: the Windows path, the rollback paths, a Developer ID signature.

    +

    Source: Igneum Wallet 0.1.1, 5 October 2026, now 0.1.4 on the downloads host (the wallet source: the vault, HD key, finality, QR and updater modules and the README). Verified: the over-the-air path end to end on one Mac against a test manifest. Not yet run: the Windows path, the rollback paths, a Developer ID signature.

@@ -668,16 +591,16 @@ body.all .pager{display:none} PhaseWhenWhatGate to pass 1. SpecificationOct to Nov 2026Mining generator, shard proving, finality rules, written for external review - 2. Prove the provingNov 2026 to Jan 2027Mining program prototype on GPU and CPU, shard proving benchmark on consumer cards. So far: an RTX 5090 proves a shard in 10.9 s compressed; a CPU verifies a warp in 0.41 to 0.58 ms. A mid-range card has not been measuredA mid-range GPU proves a shard in under 20 s and a CPU verifies a hash in 10 ms - 3. DevnetStarted 3 Oct 2026, 20 nodes by Mar 2027BlockDAG node with the new mining program and EVM execution, 20 nodes. Live now: 1 block a second, difficulty v2, finality v2 locks, proving v0, Ember on every machine. Not yet measured on the live chain: the proof lag behind the tip1 block a second held with proofs under 60 s behind the tip + 2. Prove the provingNov 2026 to Jan 2027Mining program prototype on GPU and CPU, shard proving benchmark on consumer cards. So far: an RTX 5090 proves a shard in 10.9 s compressed; a CPU verifies a warp in 0.61 ms (class v2) to 2.1 ms (class v3). A mid-range card has not been measuredA mid-range GPU proves a shard in under 20 s and a CPU verifies a hash in 10 ms + 3. DevnetStarted 3 Oct 2026, 20 nodes by Mar 2027BlockDAG node with the new mining program and EVM execution, 20 nodes. Live now: 1 block a second, difficulty v2, finality v2 locks, proving v0, Ember on every machine. Measured on the live chain on 6 October 2026: proofs land a median of about 380 s behind the tip (the observer, /live), against the 60 s gate1 block a second held with proofs under 60 s behind the tip 4. Finality and job marketApr to Jul 2027Sustained-mining finality, external proving jobs, miner client with auto-switchingFinality design passes external review and one rollup signs for testnet 5. Public testnetAug to Oct 2027One-click miner app on Windows, macOS and Linux, HiveOS, pools, the first rollup as a proving customer, no coin yet1,000 independent miners run 30 days and rollup proofs are delivered on time 6. Mainnet fair launchNov 2027Genesis with no premine, 30-day ramp. No listing is arranged, promised or sought by the project

Dates slip. Gates do not. Phase two decides everything. If consumer GPUs cannot prove shards fast enough, Igneum says so and does not launch on promises.

-

What ships next: Ember 0.3.6

-

The proving activation of 5 October 2026 set the next release. Each item is in the 0.3.6 plan; none is on the fleet yet.

+

The 0.3.6 release plan, 5 October 2026

+

The proving activation of 5 October 2026 set the next release. The table is the plan as written; Ember has since reached 0.3.14 (6 October 2026), and each item's state is in the engineering log.

@@ -703,11 +626,11 @@ body.all .pager{display:none}
ItemWhy
- - + + - +
WhatNumberSource
Rented NVIDIA hash, 6 October 20262 GH/s for USD 13 an hourThe fleet's bench entry (the rented cards of 6 October 2026); the entry lands tonight with the wave measurement below
The devnet's hash the same afternoon282 MH/s/api/stats, 6 October 2026, 16:40 UTC; 181 MH/s an hour earlier with one PC off
Rented NVIDIA hash, 6 October 20262 GH/s for USD 13 an hourThe rental order for the rented cards of 6 October 2026, approximate; the fleet's bench entry is not yet written
The devnet's hash the same afternoon282 MH/sthe public stats API, 6 October 2026, 16:40 UTC; 181 MH/s an hour earlier with one PC off; 2.66 GH/s at 18:16 UTC with the rented cards mining
Weight a renter holds on day one0.0%The finality simulator, table B (ledger M12)
Lock latency behind the checkpoint1,018 ms medianEngineering log, the finality harness, three nodes
A 50-miner wave against the devnet: blocks taken, locks movedmeasurement tonightThe fleet's bench entry, 6 October 2026
A 50-miner wave against the devnet: blocks taken, locks movednot yet measuredOwed to the fleet's bench entry; the rented cards joined on 6 October 2026

Finality weighted by mining history is new. New gets attacked.

@@ -750,7 +673,7 @@ body.all .pager{display:none}
  • Bitcoin's bech32 and Bitcoin Cash's CashAddr checksum. The address format, through Kaspa, with Igneum prefixes.
  • BLAKE2b, BLAKE3, SHA-256, Keccak. The hashes the node already uses, unchanged. ChaCha, SplitMix64 and FNV-1a inside the lottery hash, implemented from their definitions.
  • -

    What is Igneum's own: the hourly header-bound GPU program, the sustained-mining finality rule, two-dimensional gas with the per-frame app share, the shard market and proving precompile, and the automatic era draws. The full table, with what changed in each component, why the design needed it, and the measurement or specification section that covers it, is docs/provenance.md in the repository and is published with it at the public testnet. Licences stated from memory are marked approximate there and verified before the repository opens.

    +

    What is Igneum's own: the hourly header-bound GPU program, the sustained-mining finality rule, two-dimensional gas with the per-frame app share, the shard market and proving precompile, and the automatic era draws. The full table, with what changed in each component, why the design needed it, and the measurement or specification section that covers it, is the provenance document in the repository and is published with it at the public testnet. Licences stated from memory are marked approximate there and verified before the repository opens.

    @@ -758,7 +681,7 @@ body.all .pager{display:none}

    Here are the limits, stated before anyone else states them.

    • A proof in seconds. Not at launch. Proving a full block today needs a cluster of 100 to 200 consumer GPUs, approximate, so Igneum launches with proofs within about a minute and tightens as hardware improves. Users still see their transaction land in one second.
    • -
    • A chip is impossible. No. A chip is a bad bet, because the target moves before it ships. The published model (5 October 2026) prices the strongest chip we can name, one with the whole cache on-die computing dataset items on the fly, at 0.92x the hash rate of an RTX 5090 per unit of silicon with a 3x fixed-function allowance, approximate. The same model, drawn out to the chip that stores the dataset (6 October 2026): The strongest recompute chip we can price, holding the whole 256 MiB cache on-die, reaches under 1x per chip against an RTX 5090. A memory-controller chip that stores the whole dataset reaches 1.2x per chip and, in our model, 5x to 9x per joule; the Ethash chips of this class reached 2.1x to 4.8x. The lever against it, program work in the latency shadow, is measured and in its gates: it brings the chip to about 2x. Sources: the chip model (docs/analysis/chip-model-v3.md section 5, 6 October 2026); the Ethash rows of the ASIC history (docs/analysis/asic-resistance-history.md, Linzhi Phoenix 2020, Jasminer X4 2021, Antminer E9 2022); Counter ASIC 3.0 item 8 (100,000 ops per hash: the chip's per-joule edge over the RTX 5090 falls from 5.6x to 2.1x on GDDR7 at a chip core equal to the GPU's, the 5090 at 0.2% less rate, gates G1 to G6 in progress). No hash has stayed free of chips forever; Igneum does not claim to. Monero's seven years without a public chip are precedent, not proof, and a small prize: they say nothing about the price of a chip with the 256 MB cache on its die, and that price is a cost model, not a measurement.
    • +
    • A chip is impossible. No. A chip is a bad bet, because the target moves before it ships. The published model (5 October 2026) prices the strongest chip we can name, one with the whole cache on-die computing dataset items on the fly, at 0.92x the hash rate of an RTX 5090 per unit of silicon with a 3x fixed-function allowance, approximate. The same model, drawn out to the chip that stores the dataset (6 October 2026): The strongest recompute chip we can price, holding the whole 256 MiB cache on-die, reaches under 1x per chip against an RTX 5090. A memory-controller chip that stores the whole dataset reaches 1.2x per chip and, in our model, 5x to 9x per joule; the Ethash chips of this class reached 2.1x to 4.8x. The lever against it, program work in the latency shadow, is measured and in its gates: it brings the chip to about 2x. Sources: the chip model analysis (6 October 2026); the Ethash rows of the ASIC history (Linzhi Phoenix 2020, Jasminer X4 2021, Antminer E9 2022); Counter ASIC 3.0 item 8 (100,000 ops per hash: the chip's per-joule edge over the RTX 5090 falls from 5.6x to 2.1x on GDDR7 at a chip core equal to the GPU's, the 5090 at 0.2% less rate, gates G1 to G6 in progress). No hash has stayed free of chips forever; Igneum does not claim to. Monero's seven years without a public chip are precedent, not proof, and a small prize: they say nothing about the price of a chip with the 256 MB cache on its die, and that price is a cost model, not a measurement.
    • A guaranteed income floor. No. External proving is a small market today. Igneum's miners' marginal cost in it is close to power, which is an edge and nothing more.
    • A memory-hard prototype on every vendor. Not yet. The 256 MB cache closed the shortcut on Apple silicon (computing items runs 4.8x slower than loading them, measured 3 October 2026). The same ratio on NVIDIA and on a discrete AMD card is Open.
    • Finality in the first month. No. No checkpoint locks until the 30-day window has 30 days of history. The first month of mainnet is proof of work with a 12-hour depth, and the text above says so wherever a day count appears.
    • @@ -778,7 +701,7 @@ body.all .pager{display:none}
      - IGNEUM + IGNEUM

      Mined by GPUs. Proven by fire.

      @@ -814,10 +737,23 @@ body.all .pager{display:none}
      Igneum Labs LTD · Unit IH-00-01-01-OF-01, Level 01, Innovation One, Dubai International Financial Centre · hello@igneum.network © 2026 Igneum. Nothing on this page is an offer to sell anything. + igneum.network
      + + @@ -184,10 +110,9 @@ main{padding-bottom:var(--sec)}
      -
      devnet v0
      +
      live devnet

      Live devnet

      A node is read every two seconds. Every block below is real: its parents, its miner, whether it sits on the selected chain, and whether it is a locked checkpoint. A checkpoint locks when the finality rule's quorum signs it. Once the proving layer is activated, every chain block's shards show as they are planned, proven and paid.

      -

      Fees: the devnet meters with its prototype table until DAA score 210,000; from there the adopted table applies (300 pgas per transaction, 30,000-pgas shards, floors of 100 gwei per gas and 10,000 gwei per pgas) and the provers' program carries both.

      +

      Fees: from DAA score 210,000 (the chain's block-time clock, about one step a second) the adopted fee table applies: 300 proving gas per transaction, 30,000-gas shards, floors of 100 gwei per gas and 10,000 gwei per proving gas. Before it the devnet metered with its prototype table, and the provers' program carries both.

      @@ -229,21 +166,26 @@ main{padding-bottom:var(--sec)}
      Blue score
      0
      0 blocks
      Difficulty
      0
      target per block
      Hash rate
      0
      network estimate
      -
      Identities
      0
      vote keys active in 10 min, a card runs several
      +
      Identities
      0
      vote keys active in 10 min; a card runs several
      Peers
      0
      mempool 0
      -
      +
      -
      blocks, finality, proving
      -
      on screen 0chain 0identities 0last lock noneproven pending
      +
      connecting to the devnet observer
      +
      on screen 0chain 0identities 0last lock pendingproven pending
      - +
      -
      blockschainincluded, paidpendingexcludedjust arrivedselected chainone lane per miner, colour from its id; hover a block, or tap it to keep its details up
      -
      finalityfinallocked checkpointproposedreads "paused" whenever under two thirds of the weight is signing
      -
      provingshard plannedprovingverified, prover colourpaidwhere proofs land behind the tiphover a cell, or tap it to keep its details up
      + pending + includedselected chain + excluded + proven + locked checkpoint + finality band, locked, with its weight + finality band, pending
      +

      120 s of blocks on screen. One lane per miner, the busiest first; the rest share the last lane. Hover or tap a block for its hash, miner, blue score, parents and proof state. Scroll or pinch to change the window; the page's ?window= fixes it.

      @@ -275,7 +217,7 @@ main{padding-bottom:var(--sec)}
      - IGNEUM + IGNEUM

      Mined by GPUs. Proven by fire.

      @@ -311,12 +253,26 @@ main{padding-bottom:var(--sec)}
      Igneum Labs LTD · Unit IH-00-01-01-OF-01, Level 01, Innovation One, Dubai International Financial Centre · hello@igneum.network © 2026 Igneum. Nothing on this page is an offer to sell anything. + igneum.network
      + + + diff --git a/site/metamask.html b/site/metamask.html index c71a0e38..d7870ec3 100644 --- a/site/metamask.html +++ b/site/metamask.html @@ -5,13 +5,13 @@ Add Igneum to MetaMask - + - + @@ -31,9 +31,10 @@ + + @@ -135,10 +79,9 @@ pre{margin:0 0 16px;padding:16px 18px;background:var(--graphite);border-radius:v @@ -197,7 +152,7 @@ pre{margin:0 0 16px;padding:16px 18px;background:var(--graphite);border-radius:v
      RPC URL
      http://127.0.0.1:26790
      Symbol
      IGN
      Decimals
      18
      -
      Explorer
      none yet
      +
      Explorer
      igneum.network/explorer

      @@ -228,7 +183,7 @@ pre{margin:0 0 16px;padding:16px 18px;background:var(--graphite);border-radius:v

      Igneum signs transactions with the Ethereum rules (EIP-155, EIP-1559 and legacy envelopes). A transaction signed for another chain id is refused. Gas has two dimensions on Igneum, execution and proving, and the node folds the second into the price it quotes, so eth_gasPrice and eth_estimateGas work as they do on Ethereum. The litepaper has the differences.

      The app and the Igneum Wallet

      -

      The Igneum Miner app makes an address for your earnings and shows you its seed phrase once. That address is an ordinary Ethereum account: import the seed into MetaMask and the balance is there. An Igneum Wallet with the Apps tab and the explorer built in is in the roadmap; until it ships, MetaMask is the wallet.

      +

      The Igneum Ember app (still labelled Igneum Miner in its window) makes an address for your earnings and shows you its seed phrase once. That address is an ordinary Ethereum account: import the seed into MetaMask and the balance is there. Igneum Wallet 0.1.4 is out for macOS and verifies finality itself; its Apps tab is in the roadmap. MetaMask works today and is the way in on Windows and Linux.

      Testnet coin for testing: the faucet sends 10 IGN per address per day. Chain ids 4461 (mainnet), 4462 (testnet) and 4463 (devnet) are fixed in the node. The testnet RPC URL above is a placeholder until the testnet opens; this page is updated the day it does.

      @@ -237,7 +192,7 @@ pre{margin:0 0 16px;padding:16px 18px;background:var(--graphite);border-radius:v
      - IGNEUM + IGNEUM

      Mined by GPUs. Proven by fire.

      @@ -273,10 +228,23 @@ pre{margin:0 0 16px;padding:16px 18px;background:var(--graphite);border-radius:v
      Igneum Labs LTD · Unit IH-00-01-01-OF-01, Level 01, Innovation One, Dubai International Financial Centre · hello@igneum.network © 2026 Igneum. Nothing on this page is an offer to sell anything. + igneum.network
      + + @@ -226,10 +153,9 @@ pre b{color:var(--molten);font-weight:500} @@ -578,7 +516,7 @@ pre b{color:var(--molten);font-weight:500}
      - IGNEUM + IGNEUM

      Mined by GPUs. Proven by fire.

      @@ -614,10 +552,23 @@ pre b{color:var(--molten);font-weight:500}
      Igneum Labs LTD · Unit IH-00-01-01-OF-01, Level 01, Innovation One, Dubai International Financial Centre · hello@igneum.network © 2026 Igneum. Nothing on this page is an offer to sell anything. + igneum.network
      + + @@ -141,10 +87,9 @@ th{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:
      -
      3 entries, newest at the bottom
      +
      6 measured rows, 0 fleet tuning models

      GPU bench table

      Measured hash rates per card on the Igneum lottery hash, with the generator version, the miner version, the date and the log entry behind each number.

      @@ -185,13 +142,13 @@ th{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:

      Every row names the engineering log entry or the job it came from. "Measured by the team" means our own hardware and our own log. "Reported by the fleet" means a machine we do not own, read from the status lines its miner uploads.

      MH per watt needs the card's power draw during the run. The app reads it on NVIDIA cards through the driver. Rows get the figure when a run records it.

      There is no other Igneum miner to compare with yet, so this table compares cards, not miners. The app that produces these rows: the miner page.

      -

      Rows: 6. Source file: site/miner-bench.json in the repository.

      +

      Rows: 6. Each row names the engineering log entry it came from.

      Fleet tuning priors

      Ember Tune runs on every card the app mines with: the power limit and the core clock are stepped on the live program and the card keeps the point with the best MH per watt within 1% of its top rate. Every finished tune is reported back without anything that identifies the owner, and the fleet's median point per card model, driver major and program class comes back down inside the signed update manifest as the starting point for the next card of that model. A model needs 5 reports before its prior is used.

      No tune reports yet. The first rows appear once five machines with the same card model have reported.

      Measured by the team

      • NVIDIA GeForce RTX 5090 (driver 617, class l128w0, 2026-10-06, job ember-tune-pc1-6): 1854 MHz core cap, power limit 100% (575 W). 84 W saved for 0.15% of rate: 127.71 MH/s at 226.8 W (0.563 MH/W) against 127.9 MH/s at 311 W untuned (0.411 MH/W), 37% more hashes per watt. The chosen clock is the ladder's floor (60% of the maximum), not the optimum; the next cut's ladder goes to 45% and the climb walks on from here.
      • NVIDIA GeForce RTX 4070 (driver 617, class l128w0, 2026-10-06, job ember-tune-pc1-6): 1863 MHz core cap, power limit 50% (100 W). 30 W saved for no rate lost: 28.78 MH/s at 75.6 W (0.381 MH/W) against 28.72 MH/s at 106 W untuned (0.271 MH/W), 41% more hashes per watt. The chosen clock is the ladder's floor (60% of the maximum), not the optimum; the next cut's ladder goes to 45%.
      -

      Rows: 0. Source file: site/miner-priors.json in the repository, written from the fleet records by tools/tuning.mjs --priors --site.

      +

      Rows: 0. Written from the fleet's tune records at build time.

      Generated from the repository at build time. Times are UTC. Machine names are model names.

      @@ -200,7 +157,7 @@ th{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:
      - IGNEUM + IGNEUM

      Mined by GPUs. Proven by fire.

      @@ -236,10 +193,23 @@ th{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:
      Igneum Labs LTD · Unit IH-00-01-01-OF-01, Level 01, Innovation One, Dubai International Financial Centre · hello@igneum.network © 2026 Igneum. Nothing on this page is an offer to sell anything. + igneum.network
      + + \ No newline at end of file diff --git a/site/partials/footer.html b/site/partials/footer.html index 348ad04b..96fed415 100644 --- a/site/partials/footer.html +++ b/site/partials/footer.html @@ -2,7 +2,7 @@
      - IGNEUM + IGNEUM

      Mined by GPUs. Proven by fire.

      @@ -38,7 +38,20 @@
      Igneum Labs LTD · Unit IH-00-01-01-OF-01, Level 01, Innovation One, Dubai International Financial Centre · hello@igneum.network © 2026 Igneum. Nothing on this page is an offer to sell anything. + igneum.network
      + + \ No newline at end of file diff --git a/site/partials/head.html b/site/partials/head.html index 0d4de444..5ccac943 100644 --- a/site/partials/head.html +++ b/site/partials/head.html @@ -1,8 +1,9 @@ + + \ No newline at end of file diff --git a/site/partials/nav.html b/site/partials/nav.html index ac1baf05..32399782 100644 --- a/site/partials/nav.html +++ b/site/partials/nav.html @@ -2,10 +2,9 @@ diff --git a/site/site.css b/site/site.css new file mode 100644 index 00000000..e39ee5d3 --- /dev/null +++ b/site/site.css @@ -0,0 +1,225 @@ +/* Igneum site: one design system for every page (docs/plans/site-ui-3.md, 6 October 2026). + Tokens, type, the shared components (nav, footer, card, tile, table, button, pill, note, callout, code) and the + state words. Each page keeps a short block of its own after this file. Fonts are declared in partials/head.html. */ + +/* ---------- 1. tokens ---------- */ +:root{ + --obsidian:#0C0C0E;--graphite:#16161A;--row:#111114;--line:#2A2A30;--line-2:#3A3A42; + --ember:#F2541B;--ember-hi:#FF6A2B;--ember-text:#F2541B;--molten:#FFB35C;--molten-text:#FFB35C; + --bone:#F4F1EC;--ink-2:#C9C7C2;--ash:#9A9A9E;--ember-ink:#0C0C0E;--ok:#FFB35C; + --scrim:rgba(12,12,14,.72);--top-bg:rgba(12,12,14,.86);--shadow:rgba(0,0,0,.6);--hover:rgba(255,255,255,.04); + --ember-12:rgba(242,84,27,.12);--ember-40:rgba(242,84,27,.4);--molten-10:rgba(255,179,92,.1); + /* the chrome tokens older page blocks still read */ + --ground:var(--obsidian);--surface:var(--graphite);--surface-2:var(--row);--ink:var(--bone);--quiet:var(--ash); + --ui-bg:var(--top-bg);--ui-menu:var(--obsidian);--ui-ink:var(--bone);--ui-ink-2:var(--ink-2);--ui-ash:var(--ash);--ui-line:var(--line);--ui-line-2:var(--line-2); + --ui-accent:var(--ember);--ui-accent-ink:var(--ember-ink);--ui-hot:var(--molten);--ui-hover:var(--ember-hi);--ui-tint:var(--ember-12); + --code:var(--row);--code-ink:var(--ink-2); + /* type */ + --f-sans:'IBM Plex Sans','Plex Sans Fallback',system-ui,-apple-system,sans-serif; + --f-display:'Unbounded','Unbounded Fallback',sans-serif; + --f-mono:'IBM Plex Mono','Plex Mono Fallback',ui-monospace,Menlo,monospace; + --t-xs:11px;--t-sm:12px;--t-base:15px;--t-md:17px;--t-lg:19px;--t-h3:20px; + --t-h2:clamp(26px,3.2vw,36px);--t-h1:clamp(32px,5vw,56px);--t-hero:clamp(40px,7vw,76px);--t-num:clamp(26px,3vw,40px); + /* space, radius */ + --s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px; + --gutter:32px;--sec:96px;--max:1120px;--nav-h:64px; + --r-card:16px;--r-row:12px;--r-btn:10px;--r-pill:999px; + color-scheme:dark; +} +@media (prefers-color-scheme:light){:root:not([data-theme="dark"]){ + --obsidian:#F4F1EC;--graphite:#FFFFFF;--row:#FAF8F5;--line:#E2DED8;--line-2:#CFCAC2; + --ember:#D0420D;--ember-hi:#E04A14;--ember-text:#B8390C;--molten:#B8731F;--molten-text:#8F5810; + --bone:#16161A;--ink-2:#3C3C42;--ash:#6B6B70;--ember-ink:#FFFFFF;--ok:#B8731F; + --scrim:rgba(244,241,236,.72);--top-bg:rgba(244,241,236,.88);--shadow:rgba(0,0,0,.18);--hover:rgba(0,0,0,.04); + --ember-12:rgba(224,74,20,.1);--ember-40:rgba(224,74,20,.4);--molten-10:rgba(184,115,31,.1); + color-scheme:light; +}} +:root[data-theme="light"]{ + --obsidian:#F4F1EC;--graphite:#FFFFFF;--row:#FAF8F5;--line:#E2DED8;--line-2:#CFCAC2; + --ember:#D0420D;--ember-hi:#E04A14;--ember-text:#B8390C;--molten:#B8731F;--molten-text:#8F5810; + --bone:#16161A;--ink-2:#3C3C42;--ash:#6B6B70;--ember-ink:#FFFFFF;--ok:#B8731F; + --scrim:rgba(244,241,236,.72);--top-bg:rgba(244,241,236,.88);--shadow:rgba(0,0,0,.18);--hover:rgba(0,0,0,.04); + --ember-12:rgba(224,74,20,.1);--ember-40:rgba(224,74,20,.4);--molten-10:rgba(184,115,31,.1); + color-scheme:light; +} +@media (max-width:1000px){:root{--gutter:24px}} +@media (max-width:720px){:root{--gutter:16px;--sec:64px}} + +/* ---------- 2. base ---------- */ +*{box-sizing:border-box} +html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px)} +@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}} +body{margin:0;background:var(--obsidian);color:var(--bone);font:400 var(--t-md)/1.6 var(--f-sans);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;overflow-x:hidden} +h1,h2,h3,h4{font-family:var(--f-display);color:var(--bone);margin:0;text-wrap:balance;letter-spacing:-.01em} +h1{font-size:var(--t-h1);font-weight:900;line-height:1.05} +h2{font-size:var(--t-h2);font-weight:700;line-height:1.1} +h3{font-size:var(--t-h3);font-weight:700;line-height:1.25} +p,li,dd,figcaption,td{text-wrap:pretty} +p{margin:0 0 1em} +a{color:var(--ember-text);text-decoration:none} +a:hover{text-decoration:underline;text-underline-offset:3px} +a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible,input:focus-visible{outline:2px solid var(--ember);outline-offset:3px;border-radius:6px} +::selection{background:var(--ember-40)} +img,canvas,svg,video{max-width:100%;display:block} +code,kbd,.mono{font-family:var(--f-mono)} +hr{border:0;border-top:1px solid var(--line);margin:var(--s-6) 0} +.skip{position:absolute;left:12px;top:-80px;z-index:50;background:var(--ember);color:var(--ember-ink);padding:10px 14px;border-radius:var(--r-btn);font:600 15px/1.2 var(--f-sans);text-decoration:none} +.skip:focus{top:12px} +.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)} +.sec{padding:var(--sec) 0} +.sec+.sec{padding-top:0} +.sec-head{max-width:68ch;margin-bottom:var(--s-6)} +.sec-head p{color:var(--ink-2);font-size:var(--t-lg);line-height:1.5;margin:var(--s-3) 0 0} +.lead{font-size:var(--t-lg);line-height:1.55;color:var(--ink-2);max-width:62ch} +.eyebrow{font:500 var(--t-sm)/1.4 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ash);margin-bottom:var(--s-3)} +.eyebrow.ember{color:var(--ember-text)} +.measure{max-width:68ch} +.muted{color:var(--ash)} +.right{text-align:right} +.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap} + +/* ---------- 3. nav ---------- */ +.nav{position:sticky;top:0;z-index:40;background:var(--top-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)} +.nav .wrap{display:flex;align-items:center;gap:var(--s-5);height:var(--nav-h)} +.brand{display:inline-flex;align-items:center;gap:10px;color:var(--bone);text-decoration:none} +.brand:hover{text-decoration:none} +.brand .mark{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:var(--graphite);border:1px solid var(--line)} +.brand .word{font:900 20px/1 var(--f-display);letter-spacing:.06em} +.nav .links{display:flex;align-items:center;gap:var(--s-4);margin-left:auto} +.nav .links a{color:var(--ink-2);font-size:var(--t-base);font-weight:500;padding:8px 2px;border-bottom:2px solid transparent} +.nav .links a:hover{color:var(--bone);text-decoration:none} +.nav .links a[aria-current="page"]{color:var(--bone);border-bottom-color:var(--ember)} +.nav .cta{margin-left:var(--s-3)} +.burger{display:none;margin-left:auto;width:44px;height:44px;border-radius:var(--r-btn);border:1px solid var(--line);background:var(--graphite);color:var(--bone);cursor:pointer;align-items:center;justify-content:center} +.burger .bars{display:block;width:18px;height:2px;background:currentColor;position:relative} +.burger .bars::before,.burger .bars::after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor} +.burger .bars::before{top:-6px}.burger .bars::after{top:6px} +.nav-sheet{display:none} +@media (max-width:900px){ + .nav .links{display:none} + .nav .cta{display:none} + .burger{display:inline-flex} + .nav.open .nav-sheet{display:block;position:fixed;inset:var(--nav-h) 0 0 0;background:var(--obsidian);z-index:39;overflow:auto;padding:var(--s-5) var(--gutter)} + .nav-sheet a{display:block;padding:14px 0;border-bottom:1px solid var(--line);color:var(--bone);font-size:var(--t-lg);font-weight:500} + .nav-sheet a[aria-current="page"]{color:var(--ember-text)} + .nav-sheet .btn{margin-top:var(--s-5);width:100%} +} + +/* ---------- 4. footer ---------- */ +.foot{border-top:1px solid var(--line);padding:var(--s-6) 0 var(--s-5);margin-top:var(--sec);color:var(--ash);font-size:var(--t-base)} +.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--s-6)} +.foot-brand .brand{margin-bottom:var(--s-3)} +.foot-brand p{color:var(--ash);margin:0} +.foot-col .eyebrow{margin-bottom:var(--s-3)} +.foot-col a{display:block;color:var(--ink-2);padding:5px 0} +.foot-col a:hover{color:var(--bone)} +.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s-3);border-top:1px solid var(--line);margin-top:var(--s-6);padding-top:var(--s-4);font-size:var(--t-sm)} +.foot-imprint{max-width:60ch;line-height:1.5} +.theme{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-pill);overflow:hidden} +.theme button{background:transparent;border:0;color:var(--ash);font:500 var(--t-sm)/1 var(--f-mono);padding:8px 12px;cursor:pointer} +.theme button[aria-pressed="true"]{background:var(--graphite);color:var(--bone)} +@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}} +@media (max-width:500px){.foot-grid{grid-template-columns:1fr}} + +/* ---------- 5. components ---------- */ +.card{background:var(--graphite);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--s-5)} +.card h3{margin-bottom:var(--s-2)} +.card p:last-child{margin-bottom:0} +.grid{display:grid;gap:var(--s-4)} +.grid.c2{grid-template-columns:repeat(2,minmax(0,1fr))} +.grid.c3{grid-template-columns:repeat(3,minmax(0,1fr))} +.grid.c4{grid-template-columns:repeat(4,minmax(0,1fr))} +@media (max-width:900px){.grid.c3,.grid.c4{grid-template-columns:repeat(2,minmax(0,1fr))}} +@media (max-width:560px){.grid.c2,.grid.c3,.grid.c4{grid-template-columns:minmax(0,1fr)}} +/* a grid track never grows past the viewport for a long line inside it (the 390 px overflow class, 6 Oct 2026) */ +.grid>*,.tiles>*,.card,.two>*,.split>*,.split2>*,.hero-grid>*,.download>*,.layout>*,.pillars>*,.phases>*,.group>*,.feats>*,.fee>*,.steps>*,.states>*,.ol>*,.cells>*,.strip>*{min-width:0} +pre{max-width:100%} +@media (max-width:720px){main table{display:block;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}.tbl table{display:table}} +.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-3)} +@media (max-width:700px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}} +.tile{background:var(--row);border:1px solid var(--line);border-radius:var(--r-row);padding:var(--s-4) var(--s-4) var(--s-3);min-width:0} +.tile .v{font:700 var(--t-num)/1 var(--f-display);color:var(--bone);letter-spacing:-.02em;overflow-wrap:anywhere} +.tile .v.state{font:500 var(--t-base)/1.3 var(--f-mono);color:var(--ash);padding:6px 0} +.tile .k{font:400 var(--t-sm)/1.4 var(--f-mono);color:var(--ash);margin-top:var(--s-2)} +.tile.hot .v{color:var(--ember-text)} +.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 20px;border-radius:var(--r-btn);border:1px solid var(--line);background:transparent;color:var(--bone);font:600 var(--t-base)/1.2 var(--f-sans);text-decoration:none;cursor:pointer;white-space:nowrap} +.btn:hover{text-decoration:none;border-color:var(--line-2);background:var(--hover)} +.btn.primary{background:var(--ember);border-color:var(--ember);color:var(--ember-ink);font:700 15px/1.2 var(--f-display);letter-spacing:.01em} +.btn.primary:hover{background:var(--ember-hi);border-color:var(--ember-hi)} +.btn.small{min-height:36px;padding:6px 14px;font-size:14px} +.btn[aria-disabled="true"],.btn:disabled{opacity:.5;cursor:default} +@media (max-width:720px){.cta .btn{width:100%}} +.cta{display:flex;flex-wrap:wrap;gap:var(--s-3)} +.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:var(--r-pill);padding:5px 12px;font:500 var(--t-sm)/1.4 var(--f-mono);color:var(--ink-2);background:var(--row)} +.dot{width:8px;height:8px;border-radius:50%;background:var(--molten);display:inline-block;flex:none} +.dot.live{animation:pulse 2s ease-in-out infinite} +.dot.off{background:var(--ash);animation:none} +.dot.bad{background:var(--ember);animation:none} +@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}} +@media (prefers-reduced-motion:reduce){.dot.live{animation:none}} +.note{color:var(--ash);font-size:var(--t-base);line-height:1.55;max-width:80ch;margin:var(--s-4) 0 0} +.callout{border-left:2px solid var(--ember);background:var(--row);border-radius:0 var(--r-row) var(--r-row) 0;padding:var(--s-4) var(--s-5);margin:var(--s-5) 0;color:var(--ink-2)} +.callout p:last-child{margin:0} +pre,.code{background:var(--row);border:1px solid var(--line);border-radius:var(--r-row);padding:var(--s-4);font:400 14px/1.6 var(--f-mono);color:var(--ink-2);overflow:auto;margin:0} +code{font-size:.92em;background:var(--row);border:1px solid var(--line);border-radius:6px;padding:1px 6px;color:var(--ink-2)} +pre code{background:none;border:0;padding:0} +.tbl{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--r-row);background:var(--graphite);min-width:0;max-width:100%} +table{border-collapse:collapse;width:100%;font-size:var(--t-base);line-height:1.45} +th,td{text-align:left;padding:10px 14px;vertical-align:top} +th{font:500 var(--t-sm)/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ash);border-bottom:1px solid var(--line);white-space:nowrap} +td{border-top:1px solid var(--line);color:var(--ink-2)} +tr:first-child td{border-top:0} +td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap} +td.id{font-family:var(--f-mono);font-size:14px;overflow-wrap:anywhere} +@media (max-width:720px){th,td{padding:8px 10px}} +.kv{display:grid;grid-template-columns:minmax(120px,30%) 1fr;gap:0 var(--s-4)} +.kv>div{padding:10px 0;border-top:1px solid var(--line);color:var(--ink-2)} +.kv>div:nth-child(-n+2){border-top:0} +.kv .k{font:500 var(--t-sm)/1.4 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ash);padding-top:12px} +details{border-top:1px solid var(--line)} +details:last-of-type{border-bottom:1px solid var(--line)} +summary{cursor:pointer;padding:14px 0;color:var(--bone);font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:var(--s-3)} +summary::-webkit-details-marker{display:none} +summary::after{content:"+";font-family:var(--f-mono);color:var(--ash)} +details[open] summary::after{content:"\2212"} +details>:not(summary){padding-bottom:var(--s-4);color:var(--ink-2)} +input,select,textarea{font:400 var(--t-md)/1.4 var(--f-sans);color:var(--bone);background:var(--row);border:1px solid var(--line);border-radius:var(--r-btn);padding:10px 12px;width:100%} +input:focus,select:focus,textarea:focus{border-color:var(--line-2)} +.field{display:grid;gap:6px;margin-bottom:var(--s-4)} +.field label{font:500 var(--t-sm)/1.4 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ash)} + +/* ---------- 6. states ---------- */ +.state{display:inline-flex;align-items:center;gap:8px;font:500 var(--t-sm)/1.4 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ash)} +.state.live{color:var(--molten-text)} +.state.bad{color:var(--ember-text)} +.empty{color:var(--ash);font-size:var(--t-base);padding:var(--s-5) 0} +.empty.err{color:var(--ember-text)} +.spinner{width:24px;height:24px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--ember);animation:spin 1s linear infinite} +@keyframes spin{to{transform:rotate(360deg)}} +@media (prefers-reduced-motion:reduce){.spinner{animation:none}} + +/* ---------- 7. scenes ---------- */ +.viz{padding:var(--s-4)} +.viz-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px var(--s-5);margin-bottom:var(--s-3)} +.viz-stats{display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-4);font:400 var(--t-sm)/1.4 var(--f-mono);color:var(--ash)} +.viz-stats b{color:var(--bone);font-weight:500} +.viz canvas{width:100%;height:340px;border-radius:var(--r-row);background:var(--row);border:1px solid var(--line)} +@media (max-width:600px){.viz canvas{height:240px}} +.legend{display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-4);margin-top:var(--s-4);font-size:14px;color:var(--ink-2)} +.legend[hidden]{display:none} +.legend span{display:inline-flex;align-items:center;gap:8px} +.sw{width:12px;height:12px;border-radius:3px;display:inline-block;flex:none} + +/* ---------- 8. print ---------- */ +@media print{ + :root{--obsidian:#fff;--graphite:#fff;--row:#f3f3f3;--line:#bbb;--line-2:#999;--bone:#000;--ink-2:#111;--ash:#444;--ember:#B8390C;--ember-text:#B8390C;--molten-text:#8F5810} + .nav,.foot,.burger,.skip,.cta,.theme,.no-print{display:none!important} + body{font-size:11pt;line-height:1.45;background:#fff;color:#000} + .wrap{max-width:none;padding:0} + a{color:#000;text-decoration:underline} + a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;color:#444} + .card,.tbl,.callout,pre{break-inside:avoid;border-color:#bbb} + h1,h2,h3{break-after:avoid} + tr{break-inside:avoid} + canvas{display:none} +} diff --git a/site/wallet.html b/site/wallet.html index 5d67e81a..e8e0f091 100644 --- a/site/wallet.html +++ b/site/wallet.html @@ -31,9 +31,10 @@ + + @@ -201,10 +130,9 @@ td.num{font-variant-numeric:tabular-nums;white-space:nowrap} @@ -393,7 +333,7 @@ td.num{font-variant-numeric:tabular-nums;white-space:nowrap}
      - IGNEUM + IGNEUM

      Mined by GPUs. Proven by fire.

      @@ -429,10 +369,23 @@ td.num{font-variant-numeric:tabular-nums;white-space:nowrap}
      Igneum Labs LTD · Unit IH-00-01-01-OF-01, Level 01, Innovation One, Dubai International Financial Centre · hello@igneum.network © 2026 Igneum. Nothing on this page is an offer to sell anything. + igneum.network
      + +