Apex: how the mechanism works
Apex publishes some of the most precisely specified scoring formulas this course has read anywhere — and the validator that decides a miner's actual pay does not run any of them itself.
Apex describes itself, in its own words, as "a platform for outsourcing intelligence. Anyone can bring a problem. A global network of miners competes to solve it. Apex routes the best solution back." [source] It is built by Macrocosmos and runs as subnet 1 on Bittensor, one of the oldest contests still running. [source] Its own account of the flow runs in six steps: a competition is defined around a measurable objective, launched as a containerized round, miners submit solutions, validators evaluate every submission "fairly and reproducibly," rewards are distributed winner-takes-all — only the top-ranked submission on the leaderboard earns anything — and Apex retains the whole pipeline as artifacts. [source]
How one competition's scoring actually works
This course could read Apex's Aurelius Steering Competition in unusual depth, and it is worth following end to end because it is where the gap between a published formula and an actual payment is sharpest. A miner submits a single ~15KB safetensors file: one unit-norm direction vector in a pinned model's hidden space, a scalar alpha controlling how hard to push, and a declared target concept — the whole steering mechanism is one line, hidden_states[layer 32] += alpha * direction, applied identically for every miner calibrating against the same fixed model and layer. [source] [source] Every failed check on that file is a typed rejection — bad shape, non-unit-norm, wrong layer, a concept that doesn't match the round's active one, alpha out of bounds — never a silent zero. [source]
Evaluation runs against a pinned scorer image built from Aurelius' own open-source repository, and here is the first finding worth sitting with: "the Apex validator provisions a GPU fleet, posts each submission to the scorer, and collects the resulting score and completions." [source] Evaluation batches at the end of the round — the runner gets the round's full set of submissions in one job, provisions one GPU per mini-batch, and every submission produces exactly one result, error or not. [source] Inside that external scorer, two more scoring rules apply before Apex ever sees a number: a coherence gate zeroes any completion an unsteered judge pass marks incoherent, regardless of how strongly it expresses the target concept — closing the shortcut of pushing alpha so hard the model collapses into on-concept gibberish — and an optional efficiency discount rewards a smaller total steering push over brute-forcing the detector with a huge one. [source] [source] [source] [source] [source] That coherence judge is documented as imperfect — in observed runs it marks roughly 15–20% of otherwise-valid completions incoherent, a real false-positive rate on a gate that can zero a submission outright. [source]
What comes back from the scorer is normalised against a baseline before it means anything: the validator also scores an unsteered, alpha = 0 submission on the same freshly-drawn seed, and every real score is judged as clip((raw_score − baseline_score) / (1 − baseline_score), 0, 1) — how much of that concept's remaining headroom a submission actually captured, so a hard concept and an easy one stay comparable. [source] [source] The baseline itself is never discounted by the efficiency reward, since its push is zero by construction — so a discounted miner score is always compared against an undiscounted reference. [source]
Apex runs other, differently-shaped competitions on the same emission. Its Text Clustering Competition scores CPU-only clustering algorithms against real social-media data collected by a *different* Bittensor subnet — subnet 13's own Gravity network — over three independent subsets per round, each with its own ground truth: a miner's solution must expose a FastAPI /cluster endpoint, and the round score is the mean, across the three subsets, of the clamped average of Adjusted Rand Index and Normalized Mutual Information. [source] [source] [source] [source] Both competitions share the same property this page is about: a genuinely well-specified formula that produces a number somewhere other than the code this course can read.
What miners are actually optimising
Inside one competition, a miner is optimising exactly what that competition's published formula rewards — the coherence-and-efficiency-adjusted concept score for Aurelius steering, the clamped clustering-agreement mean for Text Clustering. But every one of those formulas only ever produces a *candidate* result. What a miner is actually paid on is whatever a separate service reports as global_miner_scores — a step this course cannot inspect — or, on failure, a stake-weighted copy of other validators' already-set numbers. [source] [source] A miner genuinely optimising Apex's own published rules and a miner merely producing whatever that unseen service, or the copying validators behind it, ends up rewarding are not guaranteed to be the same target, and this course cannot confirm from the pinned source that they are.
The winner-takes-all reward shape sharpens that gap rather than closing it. Apex's own account of the reward step is explicit that only the top-ranked submission earns anything. [source] Under a formula this precisely specified, that is a legible incentive: come first, by the published rule, or earn nothing. Under a formula whose final computation this course cannot read, "come first" quietly becomes "convince whatever the orchestrator or the copying fallback ends up ranking first" — a materially different, and unauditable, target.
Unverified why route every competition's carefully specified score through one central orchestrator rather than having each permitted validator compute it independently and reconcile through the network's own consensus, the way weight-setting is designed to work elsewhere in this course? This page's author could find no design note, comment, or doc chunk in this pinned source explaining why the orchestrator shape was chosen over a more distributed alternative — only the shape itself, and the fallback that exists for when it fails. That is offered as this search's result, not a documented fact Apex states about its own reasoning.
Do validators do anything besides validate?
Yes, and this course found direct, repository-stated evidence of it. For the Aurelius competition specifically, the validator does not passively receive a score from someone else's infrastructure — it provisions and pays for the GPU fleet that runs the scoring itself, then posts every submission to it. [source] That is a validator operating paid compute infrastructure as part of judging, not a role kept separate from the resources being judged.
The subnet's own README states a validator's duties more narrowly than the code behind them turns out to be: "Validators continuously score submissions and distribute rewards." [source] On the path this course could read in detail, the code never scores a submission itself — it asks a separate, unpinned orchestrator for a number, and distributes whatever that number is.
Why it earns
Every subnet's share of new network emission is set by one formula and nothing else: its own moving-average alpha price, discounted by a miner-burn penalty, against that same figure summed across every other subnet. [source] [source] Mechanism quality has no term in that formula, and Apex is this course's sharpest illustration of why that gap matters: its measured emission share at this snapshot is 0.0% @ 8878789, while it still runs real validators judging 4 @ 8878789 active miners among 3357 @ 8878789 token holders, C @ 8878789-tier. A working mechanism can earn nothing if nobody is buying the token; a broken or opaque one tells you nothing about the price either. The two facts are not in tension because the formula never lets them touch.
14.5% @ 8878789 of Apex's own judging power traces to root network stake rather than stake placed directly in its own alpha — a fact about who decides within this subnet, independent of its price or its measured emission. Its alpha traded at 0.00785784 @ 8878789 TAO at the snapshot block, down -2.312474172821678 @ 8878789 percent over the trailing week and down -8.87001152311024 @ 8878789 percent over the trailing month, against 262453952451 @ 8878789 rao of trading volume the prior day — a real, actively traded market, not an abandoned one.
What to copy, what to avoid
Copy the individual competition designs. A published, numeric formula — a coherence gate that zeroes a degenerate "win," a baseline-relative normalisation that keeps a hard concept and an easy one comparable, a clamped mean across independent subsets — gives a miner and an outside reader alike something concrete to check, and Apex's own repository shows several genuinely well-specified versions of this. [source] [source] [source]
Avoid routing every one of those well-specified scores through a single opaque aggregation step before they ever reach the chain. Publishing a rigorous per-competition formula and then handing the actual payout decision to an unpinned external service undoes much of the point of publishing the formula: a reader can verify the rule, not the number that actually determines pay. [source] Avoid, too, a silent, automatic fallback to stake-weighted copying with no highly visible flag when it fires — a safety net that behaves identically to a known exploit is defensible engineering under real operational constraints, but it should announce itself loudly, not through a quiet except branch.
How it actually works
In the weight loop, the decision reads almost exactly like this: check the orchestrator's health; if healthy, call ValidatorAPIClient.get_global_miner_scores(hotkey=self.wallet.hotkey); convert the response's miner_scores into a UID→weight dict, catching any ValueError/TypeError back to an empty dict; if the orchestrator is unhealthy to begin with, skip straight to an empty dict. [source] [source] [source] [source] [source] Whichever path produced it, if that dict has any entries the validator submits it directly; if it is empty, the log line reads "No global weights received, temporarily copying weights from the chain" and self.copy_weights_from_chain() runs instead. [source] The same fallback fires from two more places: the surrounding except TimeoutError and except Exception blocks around the whole weight-loop iteration. [source] [source]
copy_weights_from_chain is itself short: sync the existing metagraph fresh from the chain, pull the validator-permitted rows, normalise their stake, and take the dot product against the weights those validators have already set — returning an empty dict only in the special case of an empty testnet metagraph. [source] [source] [source] Every call to the orchestrator is signed before it goes out — the client builds the request body, derives a header from the caller's own hotkey keypair, and only then opens the HTTP request — so the orchestrator can verify which registered hotkey is asking, even though the whole exchange sits entirely outside any route the chain itself defines. [source] [source] [source]
Unverified searching this course's full 1,252-chunk pinned snapshot of the Apex repository — nearly seven times the corpus this course's earlier lesson on reading a subnet's code had available — for the word "orchestrator" returns 21 hits, and this page's author read every one: client code that calls it, a settings variable naming its host and port, or a health-check wrapper around a call to it. None is a server implementing/validator/global_miner_scores. The Aurelius competition's own documentation independently points at the same gap from a different angle: its round-generation logic is described as living partly under abackend/path this repository's own docs link to, and zero chunks of this pinned snapshot carry abackend/file heading. That is an absence this search found, not a documented claim Apex itself makes — the service could simply live in a different, unpinned repository. The wider pin does not close the gap the earlier lesson found; it gives more code confirming the same shape of it.