Step 1
Register challenges
The master registry stores challenge slug, image, version, status, emission percent, required capabilities, resources, volumes, environment, and public proxy path.
[MINER] | v +-------------+ | AGENT PACK | +-------------+
How it works
Platform turns active challenge containers into normalized Bittensor weights through registry metadata, public proxy routes, internal weight collection, and final UID submission.
Step 1
The master registry stores challenge slug, image, version, status, emission percent, required capabilities, resources, volumes, environment, and public proxy path.
[MINER] | v +-------------+ | AGENT PACK | +-------------+
Step 2
Each challenge ships as its own Docker image and receives isolated runtime resources. The master can pull, restart, and inspect challenge status through admin operations.
+---------+ +---------+ | QUEUE | ----> | JOB 42 | +---------+ +---------+
Step 3
Active challenges are exposed through /challenges/{slug}/... while internal routes such as health, version, and /internal stay blocked from the public proxy.
.----------------. / SECURE RUN /| | [DOCKER] [TDX] | | |________________|/
Step 4
On each epoch the master calls every active challenge's internal get_weights endpoint, checks runtime capability, and falls back safely when a challenge cannot respond.
C1 weights C2 weights C3 weights -> aggregate -> uids
01
Admins create or update challenge records with image coordinates, emission percent, lifecycle status, capabilities, resources, volumes, and env.
02
Active challenges receive public proxy routes while internal endpoints stay available only to the master.
03
The master collects challenge weights, normalizes emissions, maps hotkeys to UIDs, and sends final weights to Bittensor.