CoinYQ Dossier

Affine: the tournament that put its own judge on trial

Affine promised to pay engineers who could improve a reasoning model. Its defining event was not a clean victory but a public admission: the score that crowned three kings on subnet 120 had sent all three to a 0-for-25 result on the outside test.

A subnet is registered before its public rulebook

Bittensor’s subnet page labels netuid 120 as registered on June 29, 2025 at block 5,749,344. That chain event created the durable slot; it did not publish Affine’s later rulebook. The current onchain identity is Affine, with alpha symbol Yad (ⴷ), while CoinGecko uses SN120. A SymbolUpdated event is visible but its prior value is not, and no reviewed primary record establishes another former project name.

Affine did inherit a technical past. Its own project file says the research began by testing kings from Albedo, subnet 97, before becoming the SN120 validator and evaluation service. The distinction matters: Albedo was the experimental panel, not an earlier name for Affine or the same alpha currency.

The first public score fails its live audition

The Affine Foundation published its monorepo on August 4, 2026. The stated goal was a teacher-anchored score for coding trajectories rather than an LLM judge: miners would train a Qwen-family checkpoint, submit it, and challenge a reigning model for the emissions throne.

Five days later, the repository recorded an uncomfortable comparison. An archived Albedo panel of 30 models had shown rho +0.758, but the live SN120 panel of 29 models reversed to rho −0.421 with p=0.024. All three SN120 kings crowned by that score solved 0 of 25 held-out tasks. These were Affine’s own measurements, published on August 9, not an independent benchmark; publishing them forced the team to treat its meter rather than its miners as the first problem.

Four quick crowns force the operator to retreat

On August 21 the operator lowered the minimum winning margin from 0.002 to 0.001. During the next 18 hours, four near-noise challengers took the crown while their measured Reason scores drifted downward. The system was selecting lucky evaluation slices, not reliably better models.

The August 22 reversion restored 0.002 and left the disputed reigns in history, but noise was not the last flaw. Affine says the reign-41 model appended the same filler suffix to every thought, creating a flat lift that v4 rewarded without showing better task reasoning. Operator records date the response to August 27: min(R,G) v5 subtracts the plain mean so a constant lift cancels, then applies a two-sided Grounding band so filler below the teacher range and parroting above it both lose. The throne reset to untouched Qwen3.6-35B-A3B; the implementing commit became public on August 28. These were operator-authored scoring changes, not a vote by Yad holders.

Public checkpoints become private submissions

Affine initially accepted model revisions through Hugging Face. A cutover posted September 2 and activated September 3 replaced that path with uploads to a validator-controlled Cloudflare R2 bucket. Miners now need an Ed25519 hotkey, receive temporary credentials, upload a signed manifest and reveal readiness onchain; ordinary sr25519 hotkeys cannot decrypt the sealed credentials.

The change makes copying challengers before evaluation harder, but concentrates intake and model access in the validator service. This was more than a notice: the snapshot generated September 4 showed queued registrations with temporary credentials, and duel history recorded r2:// challenger paths. The evaluation corpus itself is public. A duel draws 1,300 turns from a seed based on the reveal block hash and challenger hotkey, making the exact sample unpredictable before reveal and reproducible afterward. Crowned checkpoints are published; unpublished losing weights stay private and are scheduled to expire after 60 days. Inference still runs through Targon or operator-managed hardware. Publishing the inputs and selection rule makes sampling inspectable without handing over control of the evaluation service.

Yad prices a tournament whose referee keeps changing

Dynamic TAO gives SN120 its own alpha currency and TAO/alpha pool. Staking TAO creates Yad exposure; unstaking returns TAO at the pool’s current ratio. Alpha supply grows through Bittensor emissions toward a 21 million cap. On the page reviewed September 5, 2026, emissions split 45.2% to miners, 36.8% to validators and stakers, and 18% to the owner; those percentages are a dated state, not permanent token terms.

One model reigns at a time, but it is not the only possible miner-reward recipient. The current published state code selects up to five accessible, distinct kings, allowing a deeper king to replace an inaccessible recent one. Weight setting then drops unregistered keys and duplicate UIDs, shares the reward weight equally among those left, and uses the burn UID if none remain. This is separate from the owner’s 18% share in the dated snapshot and the observation of two active validators. The owner coldkey also changed twice in August. Affine’s dashboard makes rule changes and defeats unusually visible, but transparency after a decision is different from shared control over it. Yad ultimately prices confidence that a small referee set will keep correcting the test faster than miners learn to game it.

How the project changed

  1. 2025-06-29
    Bittensor registers subnet 120

    Block 5,749,344 creates the numeric slot; Affine’s public code will arrive more than a year later.

  2. 2026-08-04
    The Affine monorepo becomes public

    Validator, evaluation service and research files appear together, exposing the rules of a king-of-the-hill reasoning competition.

  3. 2026-08-09
    The live panel contradicts the original score

    The team records a negative benchmark correlation and three crowned kings scoring 0/25, forcing it to revise its measurement claim.

  4. 2026-08-22
    Four noisy crowns trigger a reversion

    After an 18-hour experiment, the operator restores the 0.002 margin floor and preserves the disputed reigns as evidence.

  5. 2026-08-27 / 28
    A filler exploit leads to min(R,G) v5

    The operator dates the fork and genesis reset to August 27; the implementing public commit follows on August 28.

  6. 2026-09-03
    Submissions move behind a private intake gate

    Private R2 intake goes live; the following day’s snapshot shows queued registrations and R2 challenger paths.

Evidence and primary sources

Last evidence review: 2026-09-05

What is affine?

Affine is Bittensor subnet 120, a king-of-the-hill competition for open reasoning models. Its subnet alpha currency is currently named Yad (ⴷ), while CoinGecko labels the market asset SN120. Miners submit Qwen-family checkpoints and a small validator set evaluates each challenger against one reigning model. Under the current published configuration, miner reward weights are shared equally among registered members of a rolling window that selects up to five accessible, distinct recent kings.

What problem does affine solve?

Open model competitions are easy to game: a checkpoint can copy a winner, overfit visible tasks or exploit the score without improving useful reasoning. Affine repeatedly changed its metric after live failures, trading reproducibility and privacy against dependence on a validator-operated evaluation service.

How does affine work?

A miner registers an Ed25519 hotkey, uploads one private checkpoint and signals readiness onchain. Enqueueing consumes that hotkey’s single evaluation slot; a failed check or lost duel does not restore it. The scheduler compares each challenger with the reigning model using the teacher-model-anchored min(R,G) score. One model holds the crown. For rewards, the published state code walks current and prior distinct kings until it has up to five whose checkpoint remains accessible; an inaccessible recent king loses its seat and a deeper accessible king can fill it. Weight setting then drops keys that are no longer registered and duplicate UIDs, divides miner reward weights equally among the remaining UIDs, and uses the burn UID if none remain. This describes published operator rules and code, not an independently replayed emission payment.

The evaluation turn corpus is public. Each duel samples 1,300 turns using a seed derived from the reveal block hash and the challenger’s hotkey. The exact sample is unpredictable before reveal and can be reconstructed afterward from those inputs and the pinned corpus. Crowned checkpoints are published; unpublished losing weights remain private and are scheduled to expire after 60 days. The validator service still chooses the corpus and scoring configuration and runs inference. TAO staked into SN120’s Dynamic TAO pool creates Yad alpha exposure and helps direct Bittensor emissions.

Key facts

  • Affine is netuid 120 on Bittensor; it is not the Affine DeFi protocol or an ERC-20 contract.
  • The current alpha name and symbol are Yad and ⴷ; CoinGecko uses SN120. A prior symbol is not exposed by the reviewed primary page, and no verified former project name was found.
  • The Bittensor page dates SN120 registration to 2025-06-29 at block 5,749,344; Affine’s public monorepo began separately on 2026-08-04.
  • The project says its research began against Albedo SN97 models before being productized for Affine; Albedo is a lineage, not Affine’s former name.
  • Affine’s 2026-08-09 report contrasted Albedo-panel rho +0.758 (n=30) with live-SN120 rho −0.421 (n=29, p=0.024); three score-crowned kings were 0/25 on held-out tasks.
  • A 0.001 crown margin produced four near-noise crowns in 18 hours; the operator restored 0.002 on 2026-08-22.
  • Operator records date min(R,G) v5 to 2026-08-27 after a fixed filler suffix exploited v4; the code became public on 2026-08-28 with a genesis reset.
  • Private R2 intake went live on 2026-09-03; the September 4 snapshot shows queued R2 submissions, while former Hugging Face commits are rejected.
  • On 2026-09-05 the page showed 256/256 neurons, two active validators, 45.2% miner emissions, 36.8% validator/staker emissions and an 18% owner cut.
  • Yad is a Dynamic TAO alpha currency with a 21 million maximum; CoinGecko’s dated supply estimate is not a pre-minted allocation schedule.
  • The current configuration sets king_chain_size=5. State code selects up to five accessible, distinct kings and lets deeper accessible kings replace inaccessible recent ones. Weight code then drops unregistered keys and duplicate UIDs, shares miner reward weights equally among those left, and uses the burn UID if none remain. These published rules are not an independent receipt of onchain payments.
  • The turn corpus is public. Each duel selects 1,300 turns from reveal-block and challenger-key inputs; the sample is reproducible after reveal. Unpublished losing checkpoints remain private with a documented 60-day expiry.

Official links

Categories

Related coins

Frequently asked questions

Which asset is Affine?

It is the alpha currency of Bittensor subnet 120. The chain page calls it Yad (ⴷ), while CoinGecko uses ticker SN120; it has no Ethereum contract address.

Was Affine previously called Albedo?

No primary source says that. Affine’s research tested models from Albedo SN97 before becoming an SN120 product, but the two subnets and alpha currencies are distinct.

What must a miner submit?

One Qwen-family checkpoint through the private intake client using an Ed25519 hotkey. The documented rule consumes that key’s one evaluation slot when the submission enters the queue, even if checks fail or the model loses; a second commitment is not another attempt.

How does a model become king?

It must beat the current king under the min(R,G) score, exceed both a two-standard-error test and a 0.002 absolute margin, meet a thought-length floor and pass the causality gate.

Why did Affine change its score in August 2026?

The August 9 experiment showed that a score aligned on the Albedo panel inverted on live SN120, the lower margin then produced four near-noise crowns, and a reign-41 model exploited v4 with a fixed filler suffix. The operator reverted the margin and replaced the exploitable meter with min(R,G).

What does staking TAO into SN120 do?

Dynamic TAO exchanges TAO exposure for subnet alpha through an automated pool. The conversion rate moves with pool reserves, trades and emissions; it is not a fixed-yield deposit.

Who controls evaluation?

The subnet owner and validator service control private intake, corpus selection, inference and scoring changes. The corpus and sampling rule are public: each duel’s 1,300-turn sample can be reconstructed after reveal, although unpublished losing weights remain private and are scheduled to expire after 60 days. The September 5 snapshot showed two active validators.

External trackers

Choose a tracking site for affine: