Archived: version 3.3.2 of the miner FAQ, kept unchanged for reference. It is no longer the current version: the rules in force are in the current miner FAQ (see its change log).
REAX / COMPETITIONS / FAQ
Miner FAQ
Short answers for miners on subnet 92, most asked first. This page is the reference we link to from #92 and in direct messages, and we update it with every rule change.
LIVE in force now · APPROVED decided, takes effect at the date shown · PENDING decision open, not a rule yet
Rules can change: a normal change is announced before it applies; a hotfix of a rule that demonstrably fails applies at once. Rewards are a protocol mechanism, not a promise of any amount, and can be zero.
Start here
Is any emission burned? (SN92 pays for what it needs)
APPROVED from the first weight set after the engine slot on Fri 30 Oct 2026, 14:30 UTC
Yes, from Friday 30 October 2026: SN92 pays for what it actually uses. Agreed with the subnet owner and announced in #92 on 26 October 2026.
- Inference follows customer demand. The inference share of the miner emission goes from 50% to 40%. From there it follows measured customer demand step by step, at our discretion, and grows again as demand grows; we announce each change in #92. Pools, caps and scoring inside inference do not change.
- Competitions are paid while they bring real improvements. REAX Engine (20%) and generalist (30%) keep their full shares for now, and 75/17/8 inside a track stays. When progress on a track flattens, we pause it until there is new work, for example a new model in our lineup, and say so in #92. During a pause the champion and the former-champion places get the keep-alive, so nobody is pruned because of a pause.
- What is not paid is burned. The 10 points inference no longer gets, a paused track’s share, an unclaimed share, the decayed part of the engine pot and the part of an award that is not approved yet (after the usual keep-share) are burned instead of going to the inference miners. Wherever this FAQ or the slot rules say an unpaid part goes to inference, from then on it is burned.
Shares and pauses are our decisions, not promises; rewards can be zero.
Who holds the titles now?
LIVE
The live page always shows the current champions, former-champion places and pending entries. On the generalist track the opening playoff ended in a practical tie, so UID 116, 199 and 250 hold the title together until a challenger beats them: they share the 75% equally, each part paid only with its own award approval (an unpaid part is never given to the others). A challenger has to beat the best of them on its own draws; all three are served on every challenger draw. When beaten, they become one former champion and share one place equally.
Where do I ask a question or report a problem?
LIVE
Ask in #92 on the Bittensor Discord, so everyone sees the answer. Use a direct message only for private matters (keys, ownership proofs, code releases) or if you cannot post in #92. We answer during the day, about 06:30–21:30 UTC. An error in your own result: report it. Only the published rules, this FAQ and our announcements in #92 are binding; an automated or AI-written reply can be wrong and never replaces them.
Generalist track: entering
What may a generalist entry be?
LIVE
Up to 36B parameters and 68 GiB of safetensors weights, dense or MoE: Qwen3 and Qwen3-MoE, Qwen3.5 (including MoE), Gemma 3, Gemma 4 or Llama. The repo must be public, or gated with read access for our evaluator (private submissions), and carry an Apache-2.0, MIT or BSD LICENSE file (add one if your base repo does not ship it). Weights only: no repository code is ever executed. Commit reax-spec/1:generalist:<hf_repo>@<40-hex revision> with a reax-specialist.json that says "category": "generalist", names your hotkey and declares your base model. One hotkey holds one competition entry; a new commitment from the same hotkey replaces the old one. A private or unreachable repo is not evaluated; from the next worker release (hotfix, decided 26 October 2026) such an entry is no longer rejected after about 24 hours but waits until the repo is public or gated with access for us (its keep-alive window stays 24 hours).
Which base model should I use?
LIVE
Any allowed architecture within the limits; you do not have to fine-tune the official base (decisionmodels/reax-1 at revision ca2a0cc5). Your declared base matters: under eval v5 you must beat your own base as well as the champion, and the copy rules compare you with it. Our recommended bases are a starting point, not a rule.
Which base models do you recommend?
LIVE
A recommendation, not a rule: pplx-, REAX- and mammoth-based entries stay fully eligible, and we do not lock the track to any base, including our own. Measure on the public dev set and your own held-out data before you switch. Announced in #92 on 28 October 2026 (#92 post).
Gemma-4-31B line (all Apache-2.0, plain safetensors without auto_map, Gemma 4 architecture, inside the 36B limit), in the order of the HF Decision Index, which now scores only on private tests:
PelaAI/KnowLine-31B-Gen1at revision8f052a81. It serves on our evaluator as published and held up under our fixed chat template in our latest check.sthanika-ai/Sieve-31B-v3at revisioneb99cd7e: full fine-tune with no custom code. As published it does not start on our evaluator: its repository has noprocessor_config.json, which vLLM needs to set up the Gemma-4 processor even for text-only serving. Adding the unchangedprocessor_config.jsonfromgoogle/gemma-4-31B-itat revision842da379(SHA-25632bdf45d…9813c) to the root of your entry fixes startup in our test; keepconfig.jsonas it is (notext_configor RoPE rewrite). Check that your entry serves with plain vLLM before you commit.turion-ai/turion-jev-31bat revision9edd5783.tattrongvu/Jeffan-31b-1710at revisioncebfa86c(keep the attribution).google/gemma-4-31B-it(Apache-2.0) remains a clean starting point.
Our own first validator runs show smaller gaps between these models than the index does; we are moving our evaluation closer to the index.
baselabs/mammoth-1 (MIT, 27B, Qwen3.5 architecture, pin 03007ab3): still very strong on the public benchmarks, but behind the models above on the index’s private tests, so no longer our first choice.
Staying on Qwen: Qwen/Qwen3.8-27B (Apache-2.0) is a fine base; the training recipe matters more than the base.
For the “I don’t know” items, on any base: train the model to abstain when unsure (how it is scored).
A stronger base raises your own bar: under eval v5 your entry must beat its declared base as well as the champion. Declare the base you really started from (repo@revision).
Not recommended as a base: models whose licence does not let you publish your fine-tune under Apache-2.0, MIT or BSD (for example CC-BY-NC models such as StartLux or Lychee, H2O Lightning’s non-commercial licence, or GLiDE’s community licence); your entry’s own licence must be one of those. Models that ship as custom code (auto_map, for example vLLM-SR d3-ultra or WeMM-JEV as published) cannot be run, because no repository code is ever executed. When the list changes, we update this answer and say so in #92.
What counts as a copy or a derived entry?
LIVE
Exact copies (same tensor hash) are refused; the earliest commitment owns a hash. Re-sharding or renaming files does not hide a copy, and the check also hashes the backbone without a readout head. An entry is derived if you declare another entry as your base or our checks find that its weights or answers come from an earlier entry. It must beat its parent by the full copy margin: the full decision margin and, on competence alone, at least 1.0 point and 2 standard errors, so a recalibrated copy cannot be crowned. The checks judge what a model computes: a function-preserving reparametrisation (for example rescaling MLP channels) counts as the underlying weights. Independent fine-tunes of the official base are not affected.
Merges are allowed, but a model close to an earlier entry is checked as derived, and the award review looks at the merge share and the credit: state your recipe and credit in the repo. Training data is not restricted beyond the licence of the model you publish; what protects the evaluation is that every scored item is private.
How many entries can one coldkey hold?
LIVE
At most 2 open submissions per track and 4 new submissions per 7 days per coldkey. In a crowning slot one holder keeps only its best entry: entries with the same coldkey or the same Hugging Face account or organisation in the repo id have the same holder, also through a chain (A shares a coldkey with B, B shares an HF account with C: A, B and C are one holder; slot rules, section 4). Keep-alive limits per coldkey: keep-alive.
How is a Decider-style model with a separate readout head run?
LIVE
A Qwen3.5-family backbone with readout.safetensors and decision_config.json is run on our own runtime the way it was trained: your readout head as submitted, on the last prompt position, with our fixed REAX prompt and a fixed temperature of T=2. The temperature in decision_config.json is metadata only, so calibrate your head for T=2.
Generalist track: evaluation (eval v5)
What does the evaluation measure?
LIVE
Eval v5 (version 0.1) is binding since Monday 26 October 2026, 14:30 UTC, for every new evaluation; the champions are scored on v5 on every challenger draw. It is built to rank models the way the Hugging Face Decision Index and the Artificial Analysis Decision Index do. From Wednesday 28 October 2026, 12:00 UTC, about 80% of the score comes from private tests of the same skills as the public Decision Index benchmarks (knowledge and reasoning, retrieval, tools) and about 20% from private decision tasks in new domains (before that it was 60% and 40%; each draw is scored with the weighting in force when its evaluation cycle started). This tracks the Hugging Face Decision Index more closely and lowers the noise of each draw. The new-domain part has 11 tasks, among them security advisories, EU public tenders, Wikipedia community decisions and games with exact solvers. Every scored item is private. An item with several questions counts only if every answer is right. Up to 26 options are served per question, and there is no thinking.
“I don’t know”. Fact questions offer it as an extra last option: a correct answer scores +1, a wrong one −1, “I don’t know” 0. Your top option is your answer (no threshold or temperature on top), so abstaining when unsure pays.
Public kit (weight 0 in the score, no items or sources shared with the private set): the item format, the 300-item dev set and the reference scorer. Use it to check your pipeline end to end, not to rank models finely. We keep improving v5 and announce each new version here and in #92 before it applies.
Feedback report. After your entry is evaluated, we send you a feedback report: where your model loses points on the Hugging Face Decision Index (public-benchmark aggregates), and a few concrete quick wins. It never contains private evaluation items.
What score do I need to win?
LIVE
- Draw. 900 private items: 540 same-skill tests and 360 new-domain tasks, plus public items at weight 0 (each draw is scored with the weighting in force when it starts). Items, draw seeds and per-item results stay private; aggregate scores are published.
- Bar. Beat the best current title holder and your own declared base, on the same items, by at least the minimum margin of 1.0 point. There are no fixed score floors and no gap penalty under v5. Scores are scaled against a fixed panel of untuned stock models, on roughly the Decision Index scale; they cannot be compared with scores from the earlier evaluation.
- First draw. z is your gain divided by its standard error. z ≥ 2 with a gain of at least 1.0 passes. A close call (1 ≤ z < 2, gain at least 0.5) gets one more first-stage draw; z < 1 is not better.
- Confirmation. A fresh draw, disjoint from your first, at least 12 hours after your first draw (one-time exception for the Friday 30 October 2026, 16:30 UTC slot: 2 hours, fresh items, same margin; hotfix, decided 28 October 2026). You need a pooled z ≥ 2.75 and a pooled gain ≥ 1.0 over all your draws, and the confirmation draw on its own must still be ahead (z ≥ 0.5). If you fall short but your pooled z is at least 1.5 and your confirmation draw is still ahead, you get one extra confirmation draw. Then you wait for the next slot.
- Gap check. If your gain over your base on public items exceeds your gain on private items by more than the larger of 1.5 points and 2 standard errors, the award review checks the entry for overlap with our private sources. Your score does not change.
- Per-area scores are shown with every entry and are information only; a model far below the reference in one area gets a closer look in the award review.
Why is my entry still queued?
LIVE
Our competition worker evaluates continuously, up to 8 evaluations per hour across the tracks (champion runs count). Confirmations due before a slot run first. Among new entries, hotkeys already past their immunity period go first, then those whose immunity ends soonest, then commitment order. The live page explains each status (queued, waiting for repo, waiting for base model, evaluating, pending confirmation). While you wait, the keep-alive protects your UID.
Generalist track: crowning slots
When is the next generalist crowning?
LIVE
Every Monday and Thursday at 14:30 UTC (15:30 Berlin in winter time); the live page shows the next one. Submissions stay open all the time; a challenger is crowned only at a slot. A slot includes every entry whose confirmation has passed before 14:30:00 UTC that day, and every entry whose confirmation was due by 13:30:00 UTC but has not run yet because of our queue (we run those first). If nobody is in the slot, nothing changes. Full rules: slot rules, sections 1 and 2.
One-time extra slot (hotfix, decided 28 October 2026). The Thursday 29 October 14:30 UTC slot stays unchanged for the entries already stored for it. I add one extra generalist slot on Friday 30 October 2026, 16:30 UTC for every entry confirmed after Thursday’s slot. Its commit cutoff is Friday 30 October, 10:30 UTC (the usual 6-hour rule); for this slot only, the confirmation draw can come 2 hours after the first draw (fresh items, same margin) instead of 12 hours. Entries committed by the cutoff are measured in time; anything we cannot measure plays the next slot, Monday 2 November. See the commit cutoff.
Is there a commit cutoff before a generalist slot?
APPROVED HOTFIX, effective from the slot on Thu 29 Oct 2026, 14:30 UTC (15:30 Berlin)
Yes, from the Thursday 29 October 2026 slot, as a hotfix: an entry plays a slot only if its commitment was first seen on chain at least 6 hours before the slot (08:30 UTC on the slot day). A later entry is evaluated normally and plays the following slot; it keeps its keep-alive until that slot has decided it. The block in which the commitment was first seen counts, not when the repo went public or when we evaluated it. If a new champion is crowned in the meantime, the held entry starts again with a new first draw against it. If you do not want to publish your weights before they are measured, use a private submission; the cutoff applies to it as well.
In practice you need more than that anyway: to play a slot your confirmation must have passed, and it runs at least 12 hours after your first draw, so commit well over 13 hours before the slot you aim for. Fairness check (hotfix): nobody loses a measured result; an entry first seen after the cutoff simply plays the next slot.
One-time extra slot (hotfix, decided 28 October 2026). The Thursday 29 October 14:30 UTC slot is unchanged for the entries already stored for it. I add one extra generalist slot on Friday 30 October 2026, 16:30 UTC for every entry confirmed after Thursday’s slot. Commit cutoff for it: Friday 30 October, 10:30 UTC (the usual 6-hour rule). For this slot only, the confirmation draw can come 2 hours after the first draw (fresh items, same margin) instead of 12 hours, so an entry committed by the cutoff is measured in time. Anything we cannot measure plays the next slot, Monday 2 November. After that the Monday and Thursday slots and the 12-hour rule apply again.
Can I keep my weights private until they are measured (commit-reveal)?
LIVE
Yes, for generalist entries, since Tuesday 27 October 2026, 20:00 UTC (21:00 Berlin), as a hotfix. The first slot a private entry can play is Thursday 29 October 2026, 14:30 UTC. Public repos work exactly as before.
- Upload the complete model with its
reax-specialist.jsonand an Apache-2.0, MIT or BSD LICENSE, as usual. - Make the repo gated with manual approval:
HfApi().update_repo_settings(repo_id, gated="manual"). Not auto: with automatic approval anyone, a copier too, can download it. A plain private repo does not work, because it cannot be shared with one account. - Give our evaluator account
florian-chutesread access:HfApi().grant_access(repo_id, "florian-chutes"), or approve its request. Only this account, not through an organisation; never send anyone a token. - Commit
repo@revisionon chain as today; the revision pins your weights.
Access deadline. To play a slot, your commitment and our first observed access must both be there by the 6-hour cutoff (08:30 UTC on the slot day). We check about every 10 minutes, so grant access at least an hour earlier; a failure on our side is not counted against you. Until access works the entry shows waiting for access: no strike, no rejection, the usual waiting keep-alive. Do not revoke access before your result.
Reveal. Within 24 hours after the slot result the same revision must be public (ungated, not private) with its LICENSE. We check anonymously that its tensor hash equals the one we measured; another revision, a new repo or a rewritten history does not count. This applies to every entry that played, winners or not.
Until the reveal the entry keeps its keep-alive but gets no title, award or place share; the rank-1 place share goes to the most recent former champion meanwhile. No reveal in time (or gated again later and not public within 24 hours): the entry is void, with no title, award or keep-alive; a seat it won stays vacant until the next ordinary decision, and its coldkey cannot submit privately for its next 2 slots (public entries stay allowed).
What we see. Only our evaluator account reads gated entries. Its token is read-only, limited to gated repos and kept only on the evaluation host, never on training hosts. Every gated download is logged (time, UID, repo, revision) and the log is published with the slot result; until the reveal a private entry shows only its UID, score and reveal status. Private copies of void entries are deleted. Fairness check (hotfix): optional for everyone and the same rule for every miner; it removes the need to publish weights before they are measured, so they cannot be copied into the same slot.
How is a slot with several entries decided, and what if they are practically tied?
LIVE
All entries in the slot play up to three shared rounds of 900 fresh items. After each round, an entry leaves when the leader is ahead of it by at least the margin: the larger of 1.0 point and 2 paired standard errors. One entry left: it is the clear winner and takes the whole 75% champion share. Still not separated after round 3: entries whose average is 0.5 points or less behind the leader share the 75% equally (two: 37.5% each, three: 25% each), each part paid only with its own approval; an entry more than 0.5 points behind does not share, and if nobody else is within 0.5 points, the leader is crowned alone. Nobody outside the winning group is paid as a runner-up.
Rounds, checks and worked examples: slot rules, sections 4 and 5.
What were the generalist opening places?
LIVE
A one-time exception for the opening cohort: UID 160 holds the 17% place and UID 113 the 8% place, each paid only with a valid award approval, until Friday 30 October 2026, 13:00 UTC at the latest (earlier if a new champion is crowned: slot rules, section 6). After that, places 2 and 3 go only to dethroned champions.
Crowning slot rules
LIVE
Evaluation runs all the time; only crowning waits for a slot. Your entry gets its first draw in the normal queue and its confirmation at least 12 hours later; results appear on the live page right away. Generalist titles change only at the Monday and Thursday 14:30 UTC slots, engine titles only at the Tuesday and Friday 14:30 UTC slots.
These rules decide every generalist crowning. All shares below are parts of the generalist track share (30% of the miner part of the emission). From the first weight set after the engine slot on Friday 30 October 2026, a part that these rules send to inference is burned instead (SN92 pays for what it needs).
1. When slots happen
- Every Monday and Thursday at 14:30 UTC (15:30 Berlin in winter time). Submissions are open all the time; a challenger is crowned only at a slot.
- One-time extra slot (hotfix, decided 28 October 2026): the Thursday 29 October 14:30 UTC slot is unchanged for the entries already stored for it. There is one extra generalist slot on Friday 30 October 2026, 16:30 UTC for every entry confirmed after Thursday’s slot. Its commit cutoff is Friday 30 October, 10:30 UTC (the usual 6-hour rule). For this slot only, the confirmation draw can come 2 hours after the first draw (fresh items, same margin) instead of 12 hours. Entries committed by the cutoff are measured in time; anything we cannot measure plays the next slot (Monday 2 November). From then on only the Monday and Thursday slots exist.
- The same rules apply at every slot. A normal rule change is announced in #92 and on this page before it applies; the next slot still runs on the current rules, so the first slot under the new rules is the one after that. If a slot ever has to move, we announce it in #92 beforehand, and its cutoffs move with it.
- A change to a rule that demonstrably fails is a hotfix and applies at once, with a written fairness check for good-faith miners (hotfix).
2. Who is in a slot
- Every entry whose confirmation against the current champion has passed and is shown on the live page with a time before 14:30:00 UTC on the slot day. With co-champions or a shared group, the bar is the best of them on your own draw.
- Also every entry whose confirmation was due at or before 13:30:00 UTC on the slot day (12 hours after its first draw passed) but has not run yet because of our queue. We run these confirmations before the slot rounds start. If one passes, the entry is in the slot; if it fails, that is a normal fail.
- From the slot on Thursday 29 October 2026 (hotfix, commit cutoff): only entries whose commitment was first seen on chain at least 6 hours before the slot. A later entry is evaluated normally and plays the following slot.
- The extra slot on Friday 30 October 2026, 16:30 UTC follows the same rules with the cutoff at 10:30 UTC and, for this slot only, the confirmation 2 hours after the first draw (hotfix).
- The order of committing or confirming plays no role. No entry in the slot: nothing changes. Exactly one entry: it is crowned.
- The current champions are not measured again at the slot; the confirmation was the test against them. Their scores on other draws are never compared with yours.
- An entry that confirms after the cutoff is in the next slot. If a new champion is crowned in the meantime, or the evaluation version changes, it starts again with a new first draw against the current champion. You never need to recommit for this.
3. Which evaluation
- All rounds of a slot use the evaluation the entries confirmed on: eval v5 since Monday 26 October 2026, 14:30 UTC.
- Margin floor 1.0 point, tie gap 0.5 points (half the margin floor). All v5 numbers: which numbers apply.
4. How a slot with several entries is decided
- Up to 3 rounds. Each round is 900 fresh items, the same for every entry still in. Rounds share no items.
- Scores are the normal track score, averaged over all rounds so far.
- After each round the leader is the entry with the highest average. Every other entry is compared with the leader only.
- Each round, the checks run in this order:
- Serving. An entry whose model fails to answer the round’s items is retried once. If it fails again while the other entries were served, it leaves. A model that does not load, or whose repo is gone or private, is the entry’s own failure.
- Parents and twins (round 1 only). An entry that does not beat a declared or detected parent, or an earlier entry it answers like, that is also in the slot, by the full copy margin of the copy rules leaves.
- One entry per holder (round 1 only). Entries with the same coldkey or the same Hugging Face account or organisation in the repo id have the same holder, also through a chain (A shares a coldkey with B, B shares an HF account with C: A, B and C are one holder). Only the holder’s entry with the best round-1 score stays (on an exact tie, the earlier commitment). If you think you are wrongly treated as one holder with someone else, tell us in #92 before the slot.
- Separation. An entry leaves when the leader is ahead of it by at least the margin: the larger of 1.0 point and 2 paired standard errors over all shared rounds so far. Each pair has its own margin.
- An entry that has left does not come back, even if the entry that separated it leaves later.
- One entry left: it is the clear winner and takes the whole 75% champion share. No further rounds.
- No entry left: nobody is crowned, and the current champions stay.
5. Still close after three rounds
- Entries still not separated from the leader after round 3 share the title only if the leader’s average minus theirs is 0.5 points or less, computed on unrounded values. Each entry is measured against the leader, so a chain of close entries cannot pull in a weaker one. The result post shows every average and gap to three decimals.
- The shared group splits the 75% champion share equally (two: 37.5% each, three: 25% each). Each part needs its own award approval; an unapproved part is never given to the other members.
- An entry that is not separated but more than 0.5 points behind is not practically tied and does not share. If no other entry is within 0.5 points, the leader is crowned alone. Exactly equal averages always share.
- Sharing does not mean the models are proven equal. It means the shared items could not separate them.
- A shared group counts as one champion. All members are served on every challenger draw, and a challenger takes the title by beating the best member on its own draw by the margin. The group then becomes one former champion and shares that place equally.
6. Places 2 and 3 after a crowning
- Places 2 and 3 (17% and 8%) go to the two most recently dethroned champions, in the order they lost the title. A beaten co-champion set or shared group is one former champion and shares its place equally.
- A former-champion place has no time limit; it ends when newer former champions push it out. Each part is paid only while the same hotkey stays committed with that entry and its approval is valid; an unpaid part goes to inference (from 30 October: burned).
- Opening places (one-time exception, until Friday 30 October 2026, 13:00 UTC at the latest): UID 160 holds the 17% place and UID 113 the 8% place. If a new champion is crowned before then, UID 116, 199 and 250 take place 2 together (17%, about 5.67% each), UID 160 moves to place 3 (8%) and UID 113’s place ends.
- An opening place that ends is not filled from below. It stays empty until a newer former champion takes it, and its share goes to inference (from 30 October: burned).
- Entries that are not crowned get no place. They stay in the competition and can challenge the new champion with the full margin.
7. If our systems fail
- A round is void if every entry fails, or if our logs show a host or validator fault; we publish the relevant log lines. A void round counts for nobody. We run it again on new items.
- Everything finishes within 12 hours after the slot.
- If at least one round was completed by then, we decide on the completed rounds with the same tests, including the 0.5-point gap, and the result post says how many rounds ran.
- If none was completed, nobody is crowned and the current places continue. The slot is re-run on the same evaluation, with the same entries, as soon as our systems work again, announced in #92.
- Nobody is removed or ranked lower because of a failure on our side.
8. Timeline and pay
- Slot results usually come within a few hours, at the latest 12 hours after the slot.
- We decide every award within 6 hours of the crowning, counted inside our review window of 10:00–22:00 Berlin time (09:00–21:00 UTC in winter time). Each member of a shared group is reviewed on its own.
- Until a new champion is approved, the most recently dethroned champion with a valid approval keeps the new champion’s part of the 75% for up to 48 hours from the crowning (a co-champion set in equal parts); meanwhile its own former-champion place share goes to inference (from 30 October: burned). After 48 hours an unapproved part goes to inference (from 30 October: burned) until the approval exists, and the beaten champion is paid its place share.
- After an approval, pay shows on chain a few hours later (the next weight set, plus one to two epochs for commit-reveal).
9. What we publish
Every slot result is posted in #92 and on the live page with: the entries and why each one was in, the evaluation version and validator release, the draw ids, every entry’s score in every round, the averages, and, for every entry against the leader, the gap, the paired standard error, the margin and the rule that made it leave or stay.
10. Reporting an error
- Report a factual error in #92 within 24 hours of the result post, with evidence. Grounds: a wrong number, the wrong entry, a rule applied differently from this page, or code that does not do what this page says.
- We re-check it against the logs and the code, separately from the run that produced the result, and answer once in #92 within 24 hours. The decision applies in the meantime.
- Upheld: we correct it from the next weight set and pay the measured loss from our own share. If the error changed who was crowned, we decide the slot again; amounts already paid are not taken back. Not upheld: the decision stands, and we say why.
- The rules themselves, the thresholds and normal measurement noise are not grounds. Suggestions are welcome in #92; a rule change applies only as described in section 1.
11. Registration fees after a prune caused by us
If your hotkey was pruned because of our wrong weights, our timing (for example a confirmation that was due but that our queue had not run) or a validator bug, we refund what you paid to register it again, from our own share. Tell us in #92 with your UID and the time. This applies to prunes since 22 October 2026, 19:55 UTC. In every other case registration fees are not refunded.
Examples
Entries A, B, D and E and all numbers are made up for illustration. Numbers are averages over the shared rounds so far. “Margin” is the bar of section 4 for that pair at that round.
Clear winner after round 2. Round 1: A 75.40, B 74.20, D 73.60, E 72.90, and every pair’s margin is about 1.50. A leads. B is 1.20 behind, less than its margin, so it stays. D (1.80 behind) and E (2.50) leave. After round 2: A 75.25, B 73.85. The gap of 1.40 is more than the margin of 1.06, so B leaves. A is crowned alone with 75%.
Practically tied. After round 3: A 74.78, B 74.71. B is not separated, and 0.07 points behind, within 0.5. A and B are crowned together, 37.5% each.
Not separated, but not practically tied. After round 3: A 74.87, B 74.10. B is not separated, but 0.77 points behind, more than 0.5. A is crowned alone.
REAX Engine track
What does the engine track measure (Engine rules v2.0)?
APPROVED from Tue 27 Oct 2026, 14:30 UTC (15:30 Berlin), right after that slot
Engine rules v2.0 apply from Tuesday 27 October 2026, 14:30 UTC, right after that day’s slot (still decided under Engine rules v1): your engine is measured on the models decisionmodels.io serves. Measurements from the Tuesday 27 October evening worker update use v2.0 (we confirm the time in #92); the first possible crowning under v2.0 is Friday 30 October 2026, 14:30 UTC. Commit reax-eng/1:dm-all:<image>@sha256:<digest>.
| Model | Slot | Weight | Answer gates: mean / item / top choice / re-run | Speed floor | Extra GPU memory |
|---|---|---|---|---|---|
| mammoth-1 27B (Qwen3.5, MIT) | mammoth | 0.37 | 0.17 / 1.1 / 97% / 1.1 | 0.97x | 45,056 MiB |
| s1-fast (Blink 26B-A4B, NVFP4), text | blink | 0.33 | 0.08 / 1.6 / 97% / 0.05 | 0.775x | 52,224 MiB |
| REAX 1 (27B, FP8) | reax1 | 0.10 | 0.19 / 1.6 / 98% / 1.15 | 0.9025x | 39,936 MiB |
| Jeffan-31b (Gemma-4 31B, Apache-2.0) | jeffan | 0.10 | 0.13 / 1.1 / 98% / 0.8 | 0.895x | 51,200 MiB |
| s1-vision (Blink 26B-A4B, NVFP4), one image + state | vision | 0.10 | 0.05 / 1.0 / 99% / 0.05 | 0.98x | 52,224 MiB |
- Score. The weighted geometric mean of your per-model speed-ups against our pinned reference engine for each model, measured on the same GPU in the same session, interleaved; only the ratio counts. Declare the models you serve with the image label
ai.reax.engine.models(absent = all five); a model you do not declare counts as 1.0x. - Every declared model must pass. Its answer gates against the reference (logit distance at the model’s temperature, set from the measured drift of our own reference), its speed floor (1 minus the larger of 2% and 3 times its reference noise: one declared model below it fails the whole image, however fast the others are), and its budget for the GPU memory your engine adds next to the loaded reference.
- Items. Scored items, and for s1-vision the images, are generated inside the validator from each session’s secret seed. s1-vision input is the production contract:
imagesis a list of exactly onedata:image/pngorimage/jpegbase64 URL. Reusing the exact model state of an identical token prefix across requests is allowed (as prefix caching does in our references); caching answers or anything that depends on the question is not. - Hardware and time. One RTX PRO 6000 (96 GB); models run one at a time, each with its own time budget. A fully declared entry takes up to about 3 hours of box time.
- The switch from v1. Commit a
dm-allimage; ans1-fastcommitment is not measured under v2.0. The v1 champion at the switch keeps the champion share until the first v2.0 champion is crowned, at most until the Tuesday 3 November 2026 slot. Then it moves to the 17% place as if beaten, the old 17% place moves to 8% and the old 8% place ends. Approved awards and the decay carry over. A carried place stays with the hotkey only while it keeps its originals1-fastcommitment or commits adm-allimage.
Which weights and reference engines does Engine rules v2.0 use?
APPROVED from Tue 27 Oct 2026, 14:30 UTC (15:30 Berlin)
Each model slot uses one pinned Hugging Face snapshot and one pinned reference engine. All repositories are public and ungated; the reference images can be pulled without logging in.
| Slot | Weights (Hugging Face repo @ revision) | Reference image |
|---|---|---|
mammoth | baselabs/mammoth-1@61cec44c281c693992e3d6ebeb44dd3402dfa186 | ghcr.io/reaxlabs/reax-engine-ref-mammoth@sha256:3080a593060542bccbdaf7cf0c66593fc182d9753b3facd50206df86d93b8588 |
blink | PixilabAI/Blink-v0.3-26B-A4B-NVFP4@08caad20c1574fb76341ca809ff38fdb081f7d4a | ghcr.io/reaxlabs/reax-engine-ref-blink@sha256:ab02e141ffb5672dc68e137736be0a6fa15445c7cc824a51f6ad2a6664c0e10a |
reax1 | decisionmodels/reax-1@ca2a0cc54a537c1f5cf24e5b09387cfb357b6518 | ghcr.io/reaxlabs/reax-engine-ref-d3turbo@sha256:503cd9e00114dada655691de44b5a4ff1a08a985bcaf0021121967a73e436eac |
jeffan | tattrongvu/Jeffan-31b-1710@cebfa86c2bed2b5c83b12e44de4374b20c87fd79 | ghcr.io/reaxlabs/reax-engine-ref-jeffan@sha256:fdebc6e594788aa48bc228083e71c5084d86ca71ce856f6dd1f59ce106db0f13 |
vision | same as blink | ghcr.io/reaxlabs/reax-engine-ref-blink@sha256:97d06a91453979d6756176aba4a1cb1d78b38390643c37ed1b83f79a4ff9f606 |
For each run the validator mounts the pinned snapshot read-only at /model (-v <weights>:/model:ro) with HF_HUB_OFFLINE=1; your engine learns which model it serves from the environment variable REAX_MODEL. Measuring locally: the v2.0 validator release in reaxlabs/reax-subnet ships reax-engine-eval --track dm-all --candidate <image>@sha256:<digest> --weights mammoth=…,blink=…,reax1=…,jeffan=… with the validators’ own scoring code and references (--models mammoth measures one slot). A local result is a preview: hardware, noise and the item seed differ, and the submission review and the weight check run only on validators.
How does the engine title work?
LIVE
- Bar. An entry must pass every answer gate and be faster than the reference by the margin; a challenger must beat the champion by the margin, confirmed in a second fresh session. The margin is the larger of 3% and 3 times the measured reference noise; under Engine rules v2.0, with five models combined, that is 7.65%. The title is held at the lowest of the confirming measurements.
- Slots. The title changes only at the Tuesday and Friday 14:30 UTC slots; the live page shows the next one. Measurements do not wait for a slot. A confirmed challenger waits as pending and is crowned at the next slot if it still beats every bar (champion, its declared parents, the copy line); it keeps being re-measured and keeps its place only while every measurement stays above every bar. If several challengers confirmed since the last slot, the best confirmed result wins; a later entry displaces a pending one only by the margin over its pooled score.
- Pay. The engine pot starts at the full 20% share at each crowning, falls linearly to 50% of it over 14 days and then stays there; the decayed part goes to inference (from Friday 30 October 2026: burned instead, why). The previous champion gets 17% and the one before 8% of the pot, each for up to 7 days after losing the title and only with its own award approval; the champion gets the rest (75% with both places held, 83% with one, 100% with none).
When is my engine measured?
LIVE
Automatically, once we have reviewed your entry (an image we cannot pull, or an open review question, holds it; the live page shows the status). A check runs every 15 minutes and starts a batch for reviewed entries that are not yet measured, with a limited number of automatic batches per day; a daily batch at 12:00 UTC catches anything left. Every batch runs the isolated pre-run review, then the answer gates and the speed measurement, on a fresh evaluation GPU. Results appear on the live page.
Can my engine use FP8, INT8, NVFP4/MXFP4 or a repack of the weights?
APPROVED from Tue 27 Oct 2026, 14:30 UTC; titles only for compliant images from the Fri 30 Oct 2026 slot
Yes. Any re-encoding of the pinned model is allowed: lower precision (FP8, INT8, NVFP4, MXFP4), lossless repacks, layout changes, fused or packed matrices, and an approximate path with an exact recheck. Three conditions:
- Derived at start, from
/model. Your engine computes every tensor it uses inside the container, at start, from the read-only pinned weights, with code that ships in your image and whose source is published (published source). Start-up, including the conversion, must finish within 15 minutes per model. - No weight-like data in the image. The file screen rejects, anywhere in the image: files ending in
.pt,.pth,.safetensors,.bin,.npy,.npz,.gguf,.ckpt,.pkl,.onnx,.h5,.tflite,.msgpackor.pteand compound forms such as.pt.1; any non-code file over 64 MiB (.py,.so,.cu,.txt,.yamlare exempt from the size rule,.jsonis not); and numbered multipart files, which are counted together. Do not ship atokenizer.json: read the tokenizer from/model. The review also looks for weight data hidden in other files. Precomputed scales and calibration statistics count as weight-like data. - Calibration only without data, or computed at start from activations your engine produces on the public seed set (
0x52454158).
The answer gates are unchanged by this rule. A private holdout set that does not come from the public generator is planned; we announce it here and in #92 before it applies. Entries that already ship weight files keep their titles and awards; from the Friday 30 October 2026, 14:30 UTC slot only compliant images can take the title. Why: a weight file in an image cannot be proven to be the pinned model re-encoded; it could hide a tuned model that matches on generated items and drifts on real traffic.
May I reuse another engine entry’s code or binaries?
LIVE
Ideas are free. You may reuse code or binaries of other entries if you declare them in the image label ai.reax.engine.parents, a JSON list such as [{"uid": 4, "digest": "<64 hex>", "files": ["/app/engine.py", "/app/kernels/"]}] (a path ending in / covers the directory; under Engine rules v2.0 at most 16 distinct parent UIDs and 64 parent entries). Fill it per file origin: list each file under the entry where that content first appeared (files you took from B that B took from A go under A). Your entry must beat every declared or detected parent by the full challenger margin. Reusing your own earlier entries is free; for another hotkey of the same owner add signed ownership proofs in ai.reax.engine.ownership (the same coldkey needs none). Undeclared reuse counts as a copy: the first time the entry is not evaluated, the second time the hotkey is paused for 7 days.
Parent measured in the same session (from Tuesday 27 October 2026, 14:30 UTC). When your derived entry clears the champion bar but falls short of, or lands within the margin of, its parent’s stored line, the validator tries to run the parent’s best image right after yours, on the same machine with the same items; that session’s line is then the higher of the parent’s same-session score and its lowest valid score, times one plus the margin. If the parent cannot be run or the session’s run budget is used up, the stored line applies. These runs never change the parent’s own scores. Details: ENGINE-COMPETITION.md, section 5a.
Does an engine entry need published source, and how do I make it award-ready?
LIVE
Yes. Nothing without published source is paid: an engine whose kernels or code are not published can be measured, but its award is held until the source is public. The live page shows any held award. To be award-ready before the crowning:
- Publish the source of every native (every
.cubinand.so) in a repository under MIT, Apache-2.0 or the REAX Engine License, before you commit. - Give the exact build line and toolchain (command, flags, target architecture, working directory, compiler or CUDA image version) in a README or build script. Our private CI rebuilds each native from your public source and compares it byte for byte with your image; build from the same source path as in the image.
- Ship the same files you published, byte for byte. A file that differs, or a native with no source of the same name, counts as unpublished.
- Say where the repository is: a README inside the image, your commitment discussion on Discord, or both (there is no image label for it).
- Labels:
ai.reax.engine.parentsper file origin (reuse), andai.reax.engine.hotkeyset to the committing hotkey in the final image configuration (“not owner”). - For titles from the Friday 30 October 2026 slot: no weight-like files, calibration only on the public seed set (quantisation and repacking).
We review the image before its first run; after the crowning we check the rebuild, then the owner signs the award approval (award review). If everything above is in place, there is nothing left to ask you.
My engine entry is marked “not owner”. What do I do?
LIVE
The image label ai.reax.engine.hotkey must name the hotkey that committed the digest. Rebuild the image with the label set to your committing hotkey, push it, and commit the new digest.
Keep-alive, pruning and registration
What is the keep-alive, and who gets it?
LIVE
A participation weight so that a UID is not deregistered just because its entry is waiting for us. It is not an award and needs no approval. It is part of the mechanism for every waiting state, from the first weight set after your commitment is on chain until the decision:
- Committed, not evaluated yet: a provisional keep-alive (half the weight of a typical inference miner, any model size), also before our evaluator has looked at the entry. Once your model has been downloaded and checked, it lasts until your first draw has decided the entry, however long our queue takes (safety limit 96 hours). While we cannot reach a private repo, it lasts 24 hours from the commitment (one such window per hotkey every 72 hours, at most 16 such entries per track; a commitment our evaluator has not recorded yet gets at least 6 hours and does not count against the 16). A commitment that is not a loadable model (the revision does not exist, no safetensors weights, weights identical to the declared base, or a different revision than committed) gets no window, and its coldkey gets no such unverified window for 30 days; two such commitments in 30 days end the coldkey’s provisional keep-alive for that time.
- Pending confirmation, confirmed and waiting for a slot, or held by the commit cutoff: the weight of a typical inference miner until the slot that decides the entry has run. If that slot does not decide it (voided, or our host failed), it runs on to the next slot, unless your repo has become unreachable (at most 9 days in total).
- A new champion waiting for award approval: 72 hours after crowning.
- Engine entries: half the median inference weight while an image waits for our first measurement, until it is measured, at most 120 hours per image; a pending challenger keeps it through its confirming session and its slot, at most 5 days. Both windows start at the commitment (the challenger: its first session) or, if later, about 5 hours before your hotkey’s immunity ends. It also covers the champion while its award review is pending, and a former champion whose place share is not being paid.
- Switching: a hotkey that commits a new entry is covered by the new entry from the next weight set, so there is no gap. Champions of the ended demand-forecasting and risk-assessment tracks keep a legacy keep-alive until Wednesday 28 October 2026, 13:00 UTC.
Limits: at most 2 open entries per coldkey per track. A waiting keep-alive goes to at most 2 entries per coldkey per track after their first draw (a champion waiting for award approval counts as one of them, the older commitment keeps the other place) and to at most 2 entries not evaluated yet (every coldkey’s first entry before any second one; inside a coldkey a checked entry (or one waiting on our side) first, then a commitment we have not seen yet, then the UID closest to being pruned; across coldkeys checked entries first, then the oldest commitment, which also decides who gets the 16 unverified places), and share caps for all keep-alives of a track together. When a share cap is reached the weight is split evenly, so no waiting entry whose model we have checked is cut to zero by it. A hotkey that also serves a little inference is topped up to the keep-alive level. Not covered: the time until our first weight set after a new commitment counts on chain (our next set, plus one to two epochs for commit-reveal: up to about 3–4 hours, so commit while your hotkey is still immune, at least 4 hours before its immunity ends, or while it still earns), a repo kept private for more than 24 hours, a declared base model that is not on Hugging Face (only the 24-hour window applies), an engine image still unmeasured 120 hours after its window started (see engine entries), an entry under review (it can keep only the provisional keep-alive), and decided entries (not better, rejected). The keep-alive does not reserve a UID; the chain prunes the lowest-emission UID that is not immune.
My hotkey was pruned while my entry waited for confirmation. Is my first draw lost?
LIVE
Not necessarily. If you had passed your first draw and commit the same model (identical tensors) again within 72 hours of the prune, under any new hotkey or UID, by the same coldkey or from the same Hugging Face repo, you keep your first-draw score and go straight to the confirmation draw. The repo’s reax-specialist.json must name the new hotkey, and copy checks still apply. A changed commitment while the hotkey stays registered is not a prune and carries nothing over.
Do I get my registration fee back if I lose or am pruned?
LIVE
No, except in one case. Registration burns TAO and the chain sets the cost, so check it before you register. If your hotkey was pruned because of our wrong weights, our timing or a validator bug, we refund what you paid to register it again, from our own share. Tell us in #92 with your UID and the time (slot rules, section 11).
Awards and payouts
What is an award approval, and how long does it take?
LIVE
A winning entry is paid only after we check and approve it: the champion and every paid former-champion place, for exactly one entry (track, hotkey, repo@revision or image digest). A new revision or digest needs a new approval. The automatic copy and near-duplicate checks must pass first; then we look at provenance, originality and credit for merged or reused work. Approvals are signed with our owner key and published in approvals.json; validators accept only a valid signature for exactly that entry.
We decide every award within 6 hours of the crowning, counted inside our review window of 10:00–22:00 Berlin time (09:00–21:00 UTC in winter); the live page shows an estimate. An award on hold (for example, source not published) is decided once the hold is cleared; the live page shows its status.
My entry is champion. Why is its share not paid yet?
LIVE
Its award is pending or on hold (for example: source not published, a copy question, a missing licence). Meanwhile, on the generalist track the most recently dethroned champion with a valid approval keeps the new champion’s part of the 75% for up to 48 hours from the crowning (a co-champion set in equal parts) and gives up its own place share for that time. After 48 hours an unapproved part goes to inference (from Friday 30 October 2026: burned instead, why) until the approval exists, and the beaten champion is paid its place share (slot rules, section 8). On the engine track the most recently approved champion keeps the champion share until the new champion is approved. The next rank never moves up.
My award is approved. When does my incentive change on chain?
LIVE
The next weight set after validators read the approval includes it (sets come about every 72 minutes), and with commit-reveal it counts on chain one to two epochs later (360 blocks, about 72 minutes each): in practice about 2–4 hours after the approval. If nothing has changed after about 4 hours, tell us.
Inference hotkeys
Can one hotkey serve inference and compete at the same time?
LIVE
Yes: one hotkey can serve inference and hold one competition entry. Serving and competition pay add up per UID; the keep-alive of a dual-role entry is a top-up over what it earns from serving. One hotkey can also carry 2 to 4 inference models (commitment reax-s1m/1), each with the same per-model cap as a separate hotkey; you publish one axon per hotkey.
Why is there a per-hotkey cap, and how do I run many GPUs?
LIVE
Validators verify each hotkey’s throughput with their own probes, and that has a limit: 2,560 decisions/s for s1-fast, 640/s for s1-pro, 32/s for s1-lite and 4/s for s1-cpu. Pay stays linear in verified throughput, so above the cap use more hotkeys or more models per hotkey.
Rule changes, errors and this page
How do rules change? What is a hotfix?
LIVE
Normal changes are announced in #92 and here before they apply; the next generalist slot after the announcement still runs on the current rules (slot rules, section 1). We keep rules simple and decide details at our discretion where a fixed number would not help anyone. A hotfix fixes a rule that demonstrably fails (it lets through what it should stop, or blocks what it should allow) and applies at once, published with a written fairness check: what changes, who could be affected, why waiting would be worse. If honest miners would be treated unfairly, we find a fair way to apply it, for example by protecting results reached under the old rule. The change log says for every version whether it holds a hotfix, a rule change or a clarification.
I think my entry was scored or paid wrongly. Where do I report it?
LIVE
In #92, within 24 hours of the result post, with evidence: your UID, the entry (repo@revision or image digest), what you expected, what you see, links or timestamps. We re-check it against the logs and the code and answer once in #92 within 24 hours; the decision applies in the meantime. If upheld, we correct it from the next weight set and pay the measured loss from our own share. Grounds and what happens to a slot: slot rules, section 10.
What do LIVE, APPROVED and PENDING mean?
LIVE
LIVE: in force now. APPROVED: decided and announced, takes effect at the date shown. PENDING: still open, not a rule yet. Times are in UTC (Berlin is UTC+1 in winter). The full rules are on the rules page; files and constants are in the public reax-subnet repository. If this FAQ and the running release seem to differ, tell us in #92. Earlier versions and the full change log: FAQ history.
Change log
Every change to this page is listed here with its date and whether it is a clarification (same rule, clearer words), a rule change (announced before it applies) or a hotfix. We never backdate a rule. Versions 1 to 2.16, their change log and the #92 announcements are on the FAQ history page; every earlier version stays available unchanged.
| Version | Date | Type | What changed |
|---|---|---|---|
| 3.3.2 | 29 October 2026, 00:20 UTC | correction | Correction in Which base models do you recommend?: the 3.3.1 note named the config layout of sthanika-ai/Sieve-31B-v3 as the reason it did not serve. A later check showed our evaluator reads that layout correctly; the actual cause is a missing processor_config.json, and adding the stock Gemma-4 file fixes it. The config-rewrite advice is removed. Version 3.3.1 stays available unchanged at /competitions/faq/v3.3.1/. |
| 3.3.1 | 28 October 2026, 20:17 UTC | correction | Correction in Which base models do you recommend?: sthanika-ai/Sieve-31B-v3 cannot be served by our evaluator as published (newer Gemma-4 config layout); how to start from it anyway. KnowLine note updated after our latest check. Version 3.3 stays available unchanged at /competitions/faq/v3.3/. |
| 3.3 | 28 October 2026, 19:25 UTC | hotfix | Hotfix, one-time, decided 28 October 2026 (what a hotfix is): the Thursday 29 October 2026, 14:30 UTC slot stays unchanged for the entries already stored for it. I add one extra generalist slot on Friday 30 October 2026, 16:30 UTC for every entry confirmed after Thursday’s slot. Commit cutoff for it: Friday 30 October, 10:30 UTC (the usual 6-hour rule). For this slot only, the confirmation draw can come 2 hours after the first draw (fresh items, same margin) instead of 12 hours. Entries committed by the cutoff are measured in time; anything we cannot measure plays the next slot (Monday 2 November). Nobody loses a measured result. See crowning slots, commit cutoff and slot rules. Also changed: the answer Which base models do you recommend? follows the new HF Decision Index leaders, announced in #92 on 28 October 2026. Version 3.2 stays available unchanged at /competitions/faq/v3.2/. |
| 3.2 | 27 October 2026, 20:05 UTC | hotfix | Hotfix, applies at once (what a hotfix is): new answer private submissions (commit-reveal). Since Tuesday 27 October 2026, 20:00 UTC a generalist entry may stay in a gated repo with read access for our evaluator until its slot result, and must be public within 24 hours after it; the first slot affected is Thursday 29 October 2026, 14:30 UTC. Public entries are unchanged. Also new: after evaluation every entrant gets a feedback report (evaluation). Why now: a miner had to publish weights before they were measured, so others could copy and fine-tune them; the 6-hour cutoff only narrowed that. Nothing earned under the old text is taken away. Version 3.1 stays available unchanged at /competitions/faq/v3.1/. |
| 3.1 | 27 October 2026, 15:15 UTC | rule change (announced) | New answer Is any emission burned?, announced in #92 on 26 October 2026: from the first weight set after the engine slot on Friday 30 October 2026, 14:30 UTC, inference gets 40% of the miner part (was 50%) and then follows customer demand; a competition track is paused when its progress flattens (its champion and former places get the keep-alive); every part that is not paid is burned instead of going to inference. Version 3.0.1 stays available unchanged at /competitions/faq/v3.0.1/. |
| 3.0.1 | 27 October 2026, 09:37 UTC | rule change (announced in advance) | 27 Oct 2026: v5 weighting of the private part 80/20 from 28 Oct 12:00 UTC (was 60/40); draw size, public kit and finished results unchanged. Version 3.0 stays available unchanged at /competitions/faq/v3.0/. |
| 3.0 | 27 October 2026, 06:34 UTC | clarification + hotfix (Blink answer gates) | The FAQ was rewritten to be shorter and current: 62 answers became 35 (every old link still works and leads to the answer that now covers it), passed dates and history moved to the FAQ history, and statements that were no longer true were corrected. It contains the keep-alive rules of version 2.17 (27 October 2026, 01:57 UTC) unchanged in substance. Rule changes since 2.17: none; two announced engine items are corrected below (the holdout date is withdrawn, and tokenizer.json). Hotfix (what a hotfix is): the Engine rules v2.0 answer gates for Blink text are 0.08 / 1.6 / 97% instead of 0.05 / 1.0 / 99%, from the v2.0 release and before any v2.0 title, because the Blink reference autotunes a kernel at every start and two starts of our own reference can differ by that much; fairness check: only this one gate widens, no entry that passes the old gates can fail the new ones, nothing else changes. Corrections to match the running release: per-hotkey caps are 2,560/s for s1-fast and 640/s for s1-pro (caps x4 since 26 October 2026, 20:08 UTC); under eval v5 there are no fixed score floors and no gap penalty; the queue order among new entries and the confirmation details are stated in full; the engine margin under v2.0 is 7.65%, and its per-model answer gates, speed floors and memory budgets are listed; the engine file screen accepts no tokenizer.json in the image; the engine holdout set is planned, not yet scheduled. Version 2.17 stays available unchanged at /competitions/faq/v2.17/. |
| 2.17 | 27 October 2026, 01:57 UTC | hotfix | Hotfix, applies at once (what a hotfix is), live with the validator keep-alive fix: a coldkey can hold a waiting keep-alive on both of its 2 open entries per track (was one provisional keep-alive), first entries of all coldkeys before any second one, and inside a coldkey a checked entry (or one waiting on our side) first, then a commitment we have not seen yet, then the UID closest to being pruned; across coldkeys checked entries first, then the oldest commitment, which also decides who gets the 16 unverified places; an engine image waiting for our first measurement keeps its keep-alive until it is measured, at most 120 hours (was 24 hours); engine windows start at the commitment or, if later, about 5 hours before the hotkey’s immunity ends (was 2 hours); an entry above 10B parameters keeps the provisional keep-alive until its draws have decided it, like any other entry (it lost it once we had downloaded it). Correction: a new commitment counts on chain after up to about 3–4 hours because of commit-reveal, not about 70 minutes. Fairness check. The changes add or lengthen keep-alive for entries that wait for us, inside the same share caps; the limit of 16 entries per track while we cannot reach the repo stays. With the new order, capped provisional coverage can move between UIDs: when the 16 are full, an entry that had it can lose it to one that now ranks before it. Version 2.16 stays available unchanged at /competitions/faq/v2.16/. |
Other pages: Competition rules · Live evaluation queue · Competitions · How mining works · General FAQ.