ChipForge (SN108) introduces the first silicon design subnet for decentralized hardware innovation. This subnet enables miners to compete in designing real silicon. Processor development is organized into on-chain challenges — spanning AI accelerators, cryptographic modules, mini-GPUs, and other critical components.
What miners actually race on — the mission definition, its tasks and scoring, and the mission-score board. Not the same thing as emission share.
The mission does not live in the registered repo. The chain points at https://github.com/TatsuProject/ChipForge_SN108, but the race runs from TatsuProject/chipforge-challenges (challenges). Follow that one — and the repo watch below tracks the registered repo only.
| Task | Tier | Goal | Points |
|---|---|---|---|
| Beat 87.1976 (+20%) | — | 104.6371 | — |
| Rank | Miner | Mission score |
|---|---|---|
| #1 | uid #139 | 87.20 |
Read 4d ago from api.chipforge.io/api/v1/public/snapshot. Mission scores are the subnet's own scoring; emission share is the on-chain payout — different numbers, different meanings.
What the validator network actually scored this epoch — read from the chain's Incentive vector, normalized on chain.
These are each miner's normalized incentive from the chain's Incentive vector — the only race score Bittensor stores. It is a share of the validators' consensus weight: all rows sum to 1, so uid #56's 0.802 on Minos means it holds 80.2% of the validated weight — and since emission follows incentive exactly, it also takes ~80% of the miner-side payout. There is no absolute score (an “87/100”) on chain; numbers like that live in each subnet's own off-chain platform. Uids absent from the list received zero validated weight this epoch.
Absolute submission scores (an “87/100”) are computed by validators off chain and never published on chain — subtensor no longer even stores a pre-normalization Scores vector, so the incentive shares above are the only race score that exists on chain. When a subnet publishes scores through its own mission API, they appear in the mission panel above instead.
live chain reads
scores read 4d ago · block 9,485,346 · epoch 26,348
and what they can't
Incentive is the score the validator network converged on for each uid this epoch — it's what pays: emission follows it. It is normalized on chain to sum to 1, so it reads as a share of validated weight. Hidden per-validator test sets (e.g. a private eval split) are computed off chain and never published — the chain no longer even stores a pre-normalization Scores vector — so taonets shows exactly what the chain shows, no reconstruction.
did the race change? the head commit is the probe
The watch hasn't confirmed this repo in 4d ago — the head below may be behind GitHub. Treat the race as possibly moved until the watch is live again.
Neuron 1.0.10: weights go on chain on their own clock, also while a design is evaluated. They were set only between evaluation cycles, and a cycle waits for its
The head commit is the atomic “did the race move” probe: any push to the default branch — new tasks, benchmark changes, scoring edits — lands here on the next watch pass. The confirmed-ago line above proves the watch is actually running.
archived per epoch since taonets started tracking (epoch 25,629)
| Epoch | Block | Time | Winner uid | Winner coldkey | Race score | Top incentive | Qualifier mean incentive | Qualifiers |
|---|---|---|---|---|---|---|---|---|
| Nov 11 | ||||||||
| 26,348 | 9,485,196 | Nov 11, 19:41 | #0 | 5FBwsAv…VUvoB | — | 0.800 | 0.333 | 3 |
| 26,347 | 9,484,897 | Nov 11, 18:41 | #0 | 5FBwsAv…VUvoB | — | 0.800 | 0.333 | 3 |
| 26,346 | 9,484,454 | Nov 11, 17:13 | #0 | 5FBwsAv…VUvoB | — | 0.800 | 0.333 | 3 |
| 26,345 | 9,484,176 | Nov 11, 16:18 | #0 | 5FBwsAv…VUvoB | — | 0.800 | 0.333 | 3 |
| 26,344 | 9,483,865 | Nov 11, 15:15 | #0 | 5FBwsAv…VUvoB | — | 0.800 | 0.333 | 3 |
| 26,343 | 9,483,395 | Nov 11, 13:41 | #0 | 5FBwsAv…VUvoB | — | 0.800 | 0.333 | 3 |
| 26,342 | 9,483,106 | Nov 11, 12:43 | #0 | 5FBwsAv…VUvoB | — | 0.800 | 0.333 | 3 |
| 26,341 | 9,482,663 | Nov 11, 11:15 | #0 | 5FBwsAv…VUvoB | — | 0.800 | 0.333 | 3 |
| 26,340 | 9,482,358 | Nov 11, 10:14 | #0 | 5FBwsAv…VUvoB | — | 0.800 | 0.333 | 3 |
| 26,339 | 9,482,052 | Nov 11, 09:12 | #0 | 5FBwsAv…VUvoB | — | 0.802 | 0.333 | 3 |
| 26,338 | 9,481,605 | Nov 11, 07:43 | #0 | 5FBwsAv…VUvoB | — | 0.817 | 0.500 | 2 |
| 26,337 | 9,481,301 | Nov 11, 06:42 | #0 | 5FBwsAv…VUvoB | — | 0.823 | 0.500 | 2 |
| 26,336 | 9,481,004 | Nov 11, 05:43 | #0 | 5FBwsAv…VUvoB | — | 1.000 | 1.000 | 1 |
| 26,335 | 9,480,555 | Nov 11, 04:13 | #0 | 5FBwsAv…VUvoB | — | 1.000 | 1.000 | 1 |
| 26,334 | 9,480,282 | Nov 11, 03:19 | #0 | 5FBwsAv…VUvoB | — | 1.000 | 1.000 | 1 |
| 26,333 | 9,479,809 | Nov 11, 01:44 | #0 | 5FBwsAv…VUvoB | — | 1.000 | 1.000 | 1 |
| 26,332 | 9,479,495 | Nov 11, 00:41 | #0 | 5FBwsAv…VUvoB | — | 1.000 | 1.000 | 1 |
| Nov 10 | ||||||||
| 26,331 | 9,479,202 | Nov 10, 23:43 | #0 | 5FBwsAv…VUvoB | #139 87.20 | 1.000 | 1.000 | 1 |
| 26,330 | 9,478,803 | Nov 10, 22:23 | #0 | 5FBwsAv…VUvoB | #139 87.20 | 1.000 | 1.000 | 1 |
| 26,329 | 9,478,498 | Nov 10, 21:22 | #0 | 5FBwsAv…VUvoB | #139 87.20 | 1.000 | 1.000 | 1 |
| 26,328 | 9,478,179 | Nov 10, 20:18 | #0 | 5FBwsAv…VUvoB | #139 87.20 | 1.000 | 1.000 | 1 |
| 26,327 | 9,477,709 | Nov 10, 18:44 | #0 | 5FBwsAv…VUvoB | #139 87.20 | 1.000 | 1.000 | 1 |
| 26,326 | 9,477,265 | Nov 10, 17:15 | #0 | 5FBwsAv…VUvoB | #139 87.20 | 1.000 | 1.000 | 1 |
| 26,325 | 9,477,020 | Nov 10, 16:26 | #0 | 5FBwsAv…VUvoB | #139 87.20 | 1.000 | 1.000 | 1 |
| Nov 11 | ||||||||
| 26,324 | 9,476,891 | Nov 11, 09:58 | #0 | 5FBwsAv…VUvoB | — | 1.000 | 1.000 | 1 |
The chain does not store past Incentive vectors — history begins when taonets started watching (last 720 epochs kept), and every epoch is archived from live reads only. Gap rows mark stretches the worker never saw — they are downtime, not data. Winner coldkeys read at archival are exact; ones marked current were resolved later from the present ownership map. Race scores are the mission's own published scores for the settled round covering each epoch — retrospective (unknown until the round closed), in the mission's own units, never incentive.
who held the top incentive each day — 37 days back to 2026-10-05
| Day (UTC) | Winner uid | Winner coldkey | Top incentive | Block |
|---|---|---|---|---|
| 2026-11-10 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,472,096 |
| 2026-11-09 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,469,724 |
| 2026-11-08 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,462,540 |
| 2026-11-07 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,455,367 |
| 2026-11-06 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,448,180 |
| 2026-11-05 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,440,996 |
| 2026-11-04 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,433,815 |
| 2026-11-03 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,426,636 |
| 2026-11-02 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,419,457 |
| 2026-11-01 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,412,271 |
| 2026-10-31 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,405,090 |
| 2026-10-30 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,397,906 |
| 2026-10-29 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,390,721 |
| 2026-10-28 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,383,536 |
| 2026-10-27 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,376,955 |
| 2026-10-26 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,369,176 |
| 2026-10-25 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,361,990 |
| 2026-10-24 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,354,807 |
| 2026-10-23 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,347,621 |
| 2026-10-22 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,340,441 |
| 2026-10-21 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,333,265 |
| 2026-10-20 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,326,092 |
| 2026-10-19 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,318,916 |
| 2026-10-18 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,311,740 |
| 2026-10-17 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,304,555 |
| 2026-10-16 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,297,376 |
| 2026-10-15 | #0 | 5FBwsAv…VUvoB | 0.902 | 9,290,202 |
| 2026-10-14 | #0 | 5FBwsAv…VUvoB | 0.900 | 9,283,020 |
| 2026-10-13 | #0 | 5FBwsAv…VUvoB | 0.900 | 9,275,842 |
| 2026-10-12 | #0 | 5FBwsAv…VUvoB | 0.900 | 9,268,665 |
| 2026-10-11 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,261,480 |
| 2026-10-10 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,254,305 |
| 2026-10-09 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,247,131 |
| 2026-10-08 | #0 | 5FBwsAv…VUvoB | 0.900 | 9,239,955 |
| 2026-10-07 | #0 | 5FBwsAv…VUvoB | 0.900 | 9,232,960 |
| 2026-10-06 | #0 | 5FBwsAv…VUvoB | 0.900 | 9,225,775 |
| 2026-10-05 | #0 | 5FBwsAv…VUvoB | 1.000 | 9,218,892 |
Sampled one block per day from archived chain state — the block number is the verifiable anchor, the date is ±drift. Identity (hotkey + coldkey) is read at the sample block, so it names who actually won that day. Days the endpoint had already pruned are absent, never zero-filled.
The Emission map — what the scores converted into, live.
No emissions flow on chain right now — the race pays nothing until that changes.
Zero τ is flowing to this subnet right now (chain reads taoInPerBlock = 0) — the shares above are the score distribution that would convert if flow resumes.
what it costs to race here, live
Best-case frame: every key wins every epoch. Your real edge depends on the model you bring — check the scoreboard and winner history above, and the repo watch before committing.