24Lesson

Zeus: how the mechanism works

Zeus pays for weather forecasts, but its own README says the scoring surface bends toward paying clients — so the real question is what a forecaster ends up optimising once that bend is priced in.

Zeus scores forecasts of real weather. Its own overview: "Validators issue global ERA5 forecasting challenges for four surface variables used heavily in energy trading: 2 m temperature, 100 m u- and v-components of wind, and surface solar radiation downwards. Miners compete to produce the best forecasts on the full Earth grid; validators score reveals against ERA5, keep rank history, and set subnet weights from verified performance." [source] The pitch is a cheaper, faster substitute for physics-based weather simulation, which the subnet's own docs describe as accurate but "highly cost-ineffective." [source] Its own company page is blunter about the buyer: Ørpheus AI "turns competitive machine-learning forecasts into actionable atmospheric intelligence for energy markets." [source]

What Zeus actually measures

Scoring runs through five stages: a miner commits a hash of its forecast on-chain before the deadline; a validator queries the top-10 previously-ranked miners first, falling back to random selection when there is no rank history yet; every eligible miner's revealed forecast is checked against its earlier hash and scored by RMSE against the real ERA5 outcome; a pairwise collusion check runs across miners' errors; and a rolling average of recent ranks — not the raw score — becomes that miner's standing for the weight-setting round. [source] [source]

The weight curve inside each challenge is sharply winner-take-most, not proportional to skill. calculate_challenge_weights gives the single best-ranked miner a fixed PERCENTAGE_GOING_TO_WINNER share — 0.95 in the pinned constants — and splits the remaining 5% logarithmically among everyone else, so second place gets noticeably more than third, but nowhere close to a proportional split. [source] [source] [source] [source] [source]

What a miner is actually optimising

Zeus's own stated purpose is "novel and groundbreaking architectures for environmental data prediction" and the best possible global forecast. [source] What the mechanism above literally pays for is different on two axes. First, because 95% of a challenge's weight goes to whoever is *currently* the best-ranked miner on one variable and one horizon, a miner is rewarded for narrowly beating today's leader on a scored slice, not for broad, general accuracy — coming a strong second everywhere earns far less than being ranked first anywhere. Second, the subnet's own README states this is intentional, not an accident of the formula: "Scoring and incentives can shift focus depending on commercial requirements — horizon, resolution, variables, and coordinates — through challenge weighting and geographic scalars (for example regional boosts over Europe and Germany). That lets pilots and products steer miner effort toward the regions and lead times that improve portfolio outcomes." [source]

So the literal optimisation target is not "the best global weather forecast" — it is the best forecast on whichever variable, horizon, and region Zeus's own commercial re-weighting currently rewards most. [source] A miner could satisfy the measure without doing genuinely general forecasting work simply by specialising hard on the regions and horizons the subnet already scores up, exactly as its own docs describe steering effort — that specialisation is the incentive working as designed, but it is not the same claim as "produces the best global weather model."

The anti-collusion check adds one more gap worth naming directly: complete_challenge only applies apply_collusion_penalty when the scored variable is not surface_solar_radiation_downwards — for that one variable, two suspiciously similar submissions are never checked against each other at all. [source] Where the check does run, it is also asymmetric by design: on a match, "the NEWER registration (higher UID) is penalized, keeping the OLDEST." [source] [source]

Do validators do anything besides validate?

Zeus's weight-setting is not self-contained inside the validator process. Every validator initialises a PerformanceDatabaseConnection — its own docstring says it sends challenge and miner performance data to the Performance Database API, signing every request with the validator's wallet so that only authenticated validators can insert data. [source] [source] That API lives at a single, Ørpheus-AI-operated address — PERFORMANCE_DATABASE_URL = "https://performance.zeussubnet.com" — and the subnet's own guide for running a validator warns that one unable to reach it will see its own v-trust degrade. [source] [source]

That same central API is also where the per-epoch anti-copying defense comes from: BurnManager is described as "owns burn interval state from the performance API," used to set which UID absorbs emission each epoch — with a static, locally-configured burn_percent as its only fallback if that call fails. [source] [source] [source] So the more precise answer is not "a validator runs a second business" — it is that Zeus centralises two things a validator would otherwise compute independently (telemetry and the anti-copying burn signal) behind one company-operated API every validator is expected to trust and reach.

Unverified the subnet's own features list also advertises open-source verification of miner predictions via Hugging Face, and a public "Zeus-API-forecasts" dataset that businesses can check against on-chain commitment hashes. [source] Whether that published product is operated by the same validator infrastructure described above, by Ørpheus AI separately, or by some mix of both is not something this course's pinned source states outright — this course can confirm the product exists and is built from the same verified, hash-committed predictions, not exactly who operates the pipeline that sells it.

Why it earns

Zeus's own README frames two design choices as answers to named exploits, not generic hardening. On-chain commit-reveal — "miners commit a hash of their compressed prediction to the blockchain before revealing the full forecast" — is described as stopping "relay mining... copying another miner's answer after seeing it." Dynamic burn — reassigning a changing emission share to a burn UID every epoch — is described as deterring "weight-copying validators — operators that mirror another validator's weights without doing the scoring work." [source]

None of that changes what actually sets Zeus's own cross-network share of the network's daily payout: every subnet's slice runs on one formula, its own moving-average alpha price divided by that same figure summed across the network, with mechanism quality nowhere in the formula's own terms. [source] [source] By that measurement, Zeus sits at B @ 8878789 tier, taking 0.7% @ 8878789 of daily emission, with 98.4% @ 8878789 captured by subnets at or above its rank. It carries 2637 @ 8878789 holders and 9 @ 8878789 permitted validators judging 34 @ 8878789 active miners, with 14.9% @ 8878789 of its judging stake coming from the root network. Its alpha traded at 0.004454465 @ 8878789 TAO at the snapshot block, down -34.5190652521282 @ 8878789 percent over the trailing month.

None of those figures say whether commit-reveal and dynamic burn are actually working as designed, or whether the commercial re-weighting Zeus's own README describes is buying genuinely useful forecasts rather than forecasts merely shaped to score well. [source] The formula cannot see mechanism quality; by the same construction cited above, it can only be moved by moving demand for Zeus's own alpha. [source] [source]

What to copy, what to avoid

Copy the commit-reveal pairing with an open verification path: publishing prediction hashes on-chain lets an outside party check a forecast against what was actually committed, not merely trust the subnet's own word. [source] [source] Copy the idea behind dynamic burn — a defense that changes every epoch removes the steady state a copier could otherwise settle into. [source]

Avoid quietly exempting one scored variable from the anti-collusion check that runs everywhere else; surface_solar_radiation_downwards gets none of the protection the other three variables get, and nothing in this course's pinned source explains why. [source] Avoid publishing, in the subnet's own words, that scoring "shifts focus depending on commercial requirements" without also publishing how far that shift can move the weighting — a reader is otherwise left to take "the best global forecast" and "whatever a paying pilot currently wants" as the same claim, when Zeus's own docs say they are not. [source]

How it actually works

WeightSetter.set_weights runs on its own background thread rather than inline with scoring. Per challenge, it computes an effective_weight that rescales a variable's registered weight by how much of that variable's total configured weight currently has usable rank history available, then calls compute_avg_ranks — which assigns any miner with no history a rank of infinity, and otherwise averages the last window_size ranks, tie-broken by comparing the most recent ranks first — followed by calculate_challenge_weights on the sorted result. [source] [source] The per-challenge outputs are combined with np.average(..., weights=challenge_scaler), normalised, then passed through _apply_burn — which sets each (uid, value) burn pair directly and rescales every other weight proportionally to absorb it — before process_weights_for_netuid and a final subtensor.set_weights call put the result on chain. [source] [source] [source] [source] [source]