Chutes: how the mechanism works
Chutes is the clearest case in this course of a subnet whose chain identity points a reader somewhere real, and somewhere else the reward decision actually happens.
Chutes runs a marketplace for AI inference on rented GPU hardware. A developer packages an application as a "chute" — the repository's own comparison is to a single FastAPI web application — built on top of a container image, and defines individual functions inside it called "cords," which work like that application's individual routes. [source] [source] Anyone can become a user of the platform by registering with a Bittensor hotkey signature and creating API keys, then calling chutes over a simple authorization header. [source] Chutes sits 3 @ 8878789 by emission and 1 @ 8878789 by holders in this course's tracked cohort — third-highest earner, most widely held token.
What the pinned repository actually contains
Bittensor's own on-chain identity record for this subnet names exactly one repository. That is what a reader following the chain — rather than the marketing site — arrives at, and it is the repository this course's corpus pinned: chutesai/chutes. Its own README describes it as the command-line tool and developer kit for the platform: what a developer installs to register, build images, and deploy chutes. [source]
That same README states, in full, where the rest of the system lives: "The miner code is available here, and validator/API code here" — linking to rayonlabs/chutes-miner and rayonlabs/chutes-api. [source] It does not say why the code is split this way — why the client SDK a newcomer would find first sits under one account and license while the miner and validator code sits under another. Nothing in this pinned repository offers a stated reason for that split; it is reported here as a fact about the repository's shape, not explained by anything the repository itself says. Read that sentence again for what it actually says. Both repositories belong to a different account, rayonlabs, not chutesai — the account the chain's own identity record names. Neither is part of this course's pinned corpus. And the phrasing bundles "validator" and "API" together as one repository, one piece of code, rather than describing them as two separable roles. Whatever turns a chute's performance into a paid score lives in that other, unpinned repository — the client SDK a reader would find by following the chain's own pointer does not contain it.
Unverified whetherchutes-apiandchutes-minerare published anywhere with the same MIT license aschutesai/chutes, or under different terms, is not something this course's pinned source states — the README link is the entire extent of what this course can confirm about either repository's existence.
What miners are actually optimising
A miner here is whoever's hardware actually executes a chute: the pinned client is explicit that a cord's code "does not run locally," and the docstring on its remote-call path calls it directly "the code that actually runs on the miner's deployment." [source] [source] What this course can establish about that miner's hardware is the demand side only: a developer's node-selector settings — GPU count, minimum VRAM, an optional price ceiling per GPU-hour — decide which hardware a chute is even allowed to land on, and a developer pays a one-time deployment fee plus the real hourly rate for every second an instance is warm, nothing for time spent downloading a model before it is ready. [source] [source] [source] [source] [source]
Unverified on the visible evidence alone, the more plausible reading is that a miner's earnings track being cheap, available, and verifiably running the claimed hardware — the things the billing model and GraVal actually check — rather than any graded measure of a chute's output quality, the way a contest that scores individual answers against a benchmark would. This course's pinned source does not confirm that reading; it is this author's inference from what is visible, offered as such, and the two repositories that would settle it sit outside this corpus.
Do validators do anything besides validate?
Yes, on two separate pieces of evidence, both from inside the one repository this course can actually read. First, the README's own phrasing already answered this: "validator/API code" is named as a single repository, meaning whatever role a validator plays here is bundled with serving the platform's API — not kept structurally apart from it. [source]
Second, and more concretely: GraVal, the one verification mechanism this pinned client documents in any detail, runs as middleware inside the chute itself, and its own glossary entry states its job is to "decrypt traffic from the validator" before performing further checks — filesystem checks, device-info challenges, pings. [source] [source] Decrypting traffic *from* the validator means the validator is a source of traffic reaching the chute, on the request path itself, not a party that only reads a report afterward. That is a validator doing something beyond judging: sitting between whoever is asking and the miner's hardware serving the answer, on a platform that sells that same compute for money.
Put together, this course's strongest, most literal answer to "does a validator do anything besides validate" in this entire batch comes from Chutes: the repository's own words describe validating and serving as one bundled role, and its own middleware description puts the validator inside the traffic path of a paid marketplace. [source] [source]
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 — it can only move emission by first moving demand for the token — and Chutes is a sharp illustration of why that matters here specifically: this course cannot even read the code that scores a miner's work, so it has no basis at all, good or bad, for connecting that code's quality to what Chutes earns.
By that price-only formula, Chutes is nonetheless a strong earner: A @ 8878789-tier, 12.2% @ 8878789 of daily emission, rank 3 @ 8878789 of the tracked cohort, with subnets at or above its rank capturing 70.2% @ 8878789 of the total. 13597 @ 8878789 wallets hold its alpha token — the most of any subnet this course tracks — against 15 @ 8878789 active miners actually earning. 14.0% @ 8878789 of its judging stake traces to the root network rather than Chutes' own alpha. Its alpha traded at 0.078551888 @ 8878789 TAO at the snapshot block, down -8.42595282516924 @ 8878789 percent over the trailing week even as it moved -0.167547998905644 @ 8878789 percent over the trailing month.
That gap — third by emission, first by holders — says something about distribution, not about the mechanism, and this cohort's own automated check agrees: false @ 8878789 is what it reports for Chutes' rank disagreement between the two measures. How many wallets hold a token plays no part in the emission formula above at all; a subnet can reach a given price with many small holders or a few large ones, and either produces the same earnings rank. Chutes being both widely held and a strong earner is two separate facts about two separate things this network measures, not one fact reinforcing the other.
What to copy, what to avoid
Copy verifying a claimed physical resource with a challenge the claimant cannot fake without actually having it. GraVal's VRAM checks and device-seeded matrix multiplications are a genuine defence against the single most obvious lie a compute-rental subnet's miners could tell, and running that check as middleware close to where the work happens — rather than trusting a self-report — is the right place to put it. [source] [source]
Avoid publishing only the developer-facing client under the repository the chain's own identity actually names, while keeping the code that decides who gets paid, and how much, in a separately owned repository the chain does not reference. Whatever the reason, the practical effect is that nobody starting from the chain — this course included — can check what the subnet's own incentive design actually rewards. [source] Avoid, too, bundling a validator's judging role with serving the platform's paid API in one undifferentiated repository; even where that is operationally convenient, it makes "is this validator judging honestly, or protecting revenue it also collects" a question a reader has no way to ask from the outside.
How it actually works
The billing arithmetic is fully specified in the pinned client, even though the scoring arithmetic is not. A deployment fee is charged once per chute, equal to three times the hourly rate implied by the node selector — gpu_count times the cheapest compatible GPU type's rate — and there is no further deployment fee for updates to an existing chute. [source] After that, the developer is charged the real hourly rate of whichever GPU the instance actually lands on, from the moment it goes warm through the last request timestamp plus shutdown_after_seconds — cold-start time spent downloading a model or the image itself is never billed. [source] [source] If a chute is shared with another user, that user pays the standard per-call rate directly; the owner is billed only for keeping the instance warm.
Node placement is entirely developer-controlled, through a NodeSelector object exposing gpu_count, min_vram_gb_per_gpu, and an optional max_hourly_price_per_gpu that excludes any GPU type above that ceiling — plus include/exclude lists keyed to short GPU identifiers such as "a100". [source] [source] [source] None of these fields, and nothing else in this pinned repository, computes or reports a quality score for a chute's actual output — the entire node-selector and billing surface governs cost and eligibility, not performance.