End-to-end flow
1
A miner picks a challenge and submits
Each challenge has a slug such as
agent-challenge or prism. The miner builds the artifact that challenge requires and submits through /challenges/{slug}/... (or the challenge-documented bridge path).2
The challenge evaluates the work
Evaluation is challenge-owned. Example: Agent Challenge requires miner Phala TDX self-deploy with attested scores. PRISM re-executes training and computes its own metric. The subnet does not define a shared scoring rubric.
3
The subnet collects raw challenge weights
At each epoch, the master reads every active challenge’s raw hotkey weights through the protected weight contract.
4
The subnet normalizes and applies emissions
The aggregator normalizes each challenge’s weights, applies configured emission shares, and maps hotkeys to Bittensor UIDs.
5
A validator submits the final vector on-chain
The on-chain submitter fetches the master’s final normalized vector and submits it for the configured netuid.
Components
BASE typically runs as Docker Swarm with:- Manager node: public proxy API, broker, supervisor, long-lived challenge services, registry and emission config, final weight computation
- Worker nodes: short-lived evaluation jobs when a challenge uses the broker model (not every challenge uses this for production scoring)
/challenges/* passthrough.
Isolation
Each challenge runs as its own service with its own image, database volume, and public routes behind the proxy. Internal challenge routes stay off the public surface.Next
Challenges
What challenges are and which packs exist.
Weights and emissions
How raw scores become one vector.