
TrajectoryRL
λ (Lamda)SN11Agentic RL as a Service, Optimize agent trajectories to make agents cheaper, safer, and more reliable.
Overview
Registration Activity
Neuron registration trends

Agentic RL as a Service, Optimize agent trajectories to make agents cheaper, safer, and more reliable.
Neuron registration trends
The alpha price in τ, day by day, and what moved it each way.
Log change over the last 30 days −9.80%: protocol buys +1.86%, root sells −0.51%, users net −26.50%, cross-subnet +15.35%, unattributed −0.0004%.
The chart follows the alpha price in τ. Each period starts at its opening price and steps through the mechanisms below, in a fixed order, to its closing price: a step that rises pushed the price up, one that falls pushed it down, and its height is how far it moved the price. A thin line carries each close into the next period’s open; it is dashed where the two differ. The faint candle behind each period is the market’s own open, high, low and close, for context.
With many periods on screen (90 days, or hours), the steps would be too thin to read, so the chart draws the price as a line instead and colours each period by the mechanism that moved it most. Hover a period for the full step-by-step breakdown.
Not here, because they do not move the spot price: the per-block TAO injection into the pool, and burns.
All figures are log changes, not simple percentage changes, so the parts add up exactly to the total; on big moves the two differ (a 10% log fall is a 9.5% price fall).
2026-11-09 UTC, as of ≈19:20 UTC (block 9,470,688)
The day isn’t over yet, so these figures keep changing. They are in no daily total, average or rank.
Organizations evaluating large language models face a coordination problem: which model should answer each request, under what conditions should models be combined, and how should those routing decisions be validated across independent evaluators? Traditional centralized benchmarking is expensive, non-repeatable, and vulnerable to gaming. A decentralized network of independent validators can evaluate routing policies (fusion policies) against a shared set of verifiable tasks, run them on deterministic hardware, score them programmatically, and reach consensus on the best performer — but only if the network has strong economic incentives for honest evaluation and mechanisms to prevent copying and shortcutting.
Bittensor Subnet 11 (TrajectoryRL) implements this as a continuous competition where miners submit fusion policies — programs that decide which open-weight models on the Engy catalog answer each request, in what combination (routing, escalation, ensemble, adviser patterns), and what they receive as input.
Validators independently evaluate each policy against 20 fixed scenarios by running agents in sandboxed Docker containers, scoring them on test pass rates with a safety cap, and submitting signed scores to a platform server. The server aggregates scores using a Winsorized mean (resistant to outliers), applies winner protection (a challenger must score at least 3% higher than the incumbent to displace it, decaying as scores approach the maximum), and updates a canonical seated winner. Validators read this winner from a public API, recompute the aggregation locally as a divergence cross-check, and call set_weights on-chain. The design makes the consensus publicly auditable — all per-validator votes and aggregation inputs are published, so any participant can replay the computation and detect server misbehavior.
Auto-generated from the GitHub repository and may not reflect the latest changes.
TrajectoryRL (Subnet 11) is a Bittensor subnet that runs a continuous competition where miners submit fusion policies (programs that route requests to open-weight LLMs on Engy) and validators evaluate them in sandboxed environments against hidden tests. The best policy wins a seat and is served as Engy's auto mode; scoring is based on test pass rates across 20 scenarios with a $0.30 per-scenario safety cap.
The subnet comprises miners, validators, and a centralized platform server. Miners submit fusion policies (programs routing to Engy LLMs) via web API. The server runs pre-eval checks and queues passing submissions.
For each challenge epoch, the server dispatches exactly one challenger to all validators via GET /api/v2/epoch/current. Each validator independently fetches the pack, runs a 600-second evaluation (agent + verifier) inside a Docker scenario container with a policy sidecar, and POSTs a signed score. The server aggregates scores (Winsorized mean from SPEC 16), applies Winner Protection δ(s) and seat-decay handicap, and updates winner_state.
Validators poll GET /api/v2/winner/current to read the canonical seated winner, recompute the aggregation locally as a cross-check, and call set_weights every Bittensor tempo. On-chain YC3 with Liquid Alpha aggregates validator weights. No validator-to-validator communication; consensus is fully server-coordinated and publicly auditable.
Miners submit fusion policies (programs that choose which Engy LLM models to call per request) alongside their SKILL.md. Validators evaluate the active challenger against 20 scenarios, scoring based on test pass rates summed across scenarios. Consensus is Winsorized mean (clip single highest+lowest) from SPEC 16 onward; plain mean before.
Winner Protection applies score-dependent margin δ(s) = 3% for normal scores, decaying linearly to 0% as score/max approaches 1.0. Seat decay applies time-decay: first 5 epochs full protection, then linear decay to -3% handicap by epoch 40 (~3 days), making old seats increasingly easy to take. Dual-eval (evaluating both challenger and seated winner) is reserved for future implementation.
Validators always set weights every Bittensor tempo; when no seat exists, weight is burned to the subnet owner UID.
The sections above were auto-generated from the GitHub repository and may not reflect the latest changes. View repository (github.com, opens in a new tab, external site)
Agentic RL as a Service, Optimize agent trajectories to make agents cheaper, safer, and more reliable.
This information was auto-extracted from the GitHub repository and may be incomplete or out of date. Always refer to the subnet's GitHub repository (github.com, opens in a new tab, external site) for the latest instructions.
Not yet verified: Network, Notes
Not yet verified: GPU, Notes
Machine-extracted from the subnet's repository docs; may be wrong or out of date. Check the repository before buying or renting hardware. Open the repository (github.com, opens in a new tab, external site) · Extracted 2 Nov 2026
Install TrajectoryRL package from source
pip install -e .
Clone the TrajectoryRL repository
git clone https://github.com/trajectoryRL/trajectoryRL.git && cd trajectoryRL
Create a Bittensor wallet
btcli wallet create --wallet.name miner --wallet.hotkey default
Register to subnet 11 (costs dynamic TAO)
btcli subnet register --netuid 11 --wallet.name miner
Write or edit your SKILL.md file (instructions for the agent)(optional)
vim SKILL.md
Build a pack from SKILL.md and optional fusion policy directory
trajectoryrl-miner build SKILL.md --policy ./my_policy -o pack.json
Validate the pack locally before submission
trajectoryrl-miner validate pack.json
Test evaluation locally with exact validator code (requires Engy API key and Docker)(optional)
LLM_API_KEY=$ENGY_API_KEY python scripts/eval_pack.py --pack pack.json -o ./out
Submit pack to the platform (web-only channel, signed with hotkey)
trajectoryrl-miner web-submit pack.json
Install Bittensor CLI tools
pip install bittensor-cli
Create a validator wallet
btcli wallet create --wallet-name my-validator
Register to subnet 11
btcli subnets register --wallet-name my-validator --hotkey default --netuid 11
Stake at least the validator permit threshold (typically ~100 TAO)
btcli stake add --wallet-name my-validator --hotkey default --netuid 11 --amount 100
Copy example environment configuration
cp .env.validator.example .env.validator
Configure wallet name and LLM API key in .env.validator
# Edit .env.validator — set WALLET_NAME and LLM_API_KEY (for EVAL_ENABLED=1)
Start the validator daemon in Docker (runs weight-only by default)
docker compose -f docker/docker-compose.validator.yml --env-file .env.validator up -d
Monitor validator logs(optional)
docker compose -f docker/docker-compose.validator.yml logs -f validator
Enable evaluation mode (optional, requires LLM API key and Docker)(optional)
# Set EVAL_ENABLED=1 in .env.validator to also evaluate challengers
| Day (UTC) | Share |
|---|---|
| 2026-11-08 | 0.15% |
| 2026-11-07 | 0.32% |
| 2026-11-06 | 0.31% |
| 2026-11-05 | 0.27% |
| 2026-11-04 | 0.27% |
| 2026-11-03 | 0.29% |
| 2026-11-02 | 0.30% |
| 2026-11-01 | 0.32% |
| 2026-10-31 | 0.33% |
| 2026-10-30 | 0.39% |
| 2026-10-29 | 0.39% |
| 2026-10-28 | 0.37% |
| 2026-10-27 | 0.37% |
| 2026-10-26 | 0.36% |
| 2026-10-25 | 0.36% |
| 2026-10-24 | 0.33% |
| 2026-10-23 | 0.32% |
| 2026-10-22 | 0.34% |
| 2026-10-21 | 0.33% |
| 2026-10-20 | 0.34% |
| 2026-10-19 | 0.33% |
| 2026-10-18 | 0.34% |
| 2026-10-17 | 0.35% |
| 2026-10-16 | 0.37% |
| 2026-10-15 | 0.40% |
| 2026-10-14 | 0.47% |
| 2026-10-13 | 0.48% |
| 2026-10-12 | 0.47% |
| 2026-10-11 | 0.47% |
| 2026-10-10 | 0.47% |
| 2026-10-09 | 0.47% |
| 2026-10-08 | 0.47% |
| 2026-10-07 | 0.47% |
| 2026-10-06 | 0.50% |
| 2026-10-05 | 0.49% |
| 2026-10-04 | 0.46% |
| 2026-10-03 | 0.49% |
| 2026-10-02 | 0.51% |
| 2026-10-01 | 0.47% |
| 2026-09-30 | 0.53% |
| 2026-09-29 | 0.47% |
| 2026-09-28 | 0.47% |
| 2026-09-27 | 0.48% |
| 2026-09-26 | 0.59% |
| 2026-09-25 | 0.53% |
| 2026-09-24 | 0.48% |
| 2026-09-23 | 0.50% |
| 2026-09-22 | 0.55% |
| 2026-09-21 | 0.57% |
| 2026-09-20 | 0.47% |
| 2026-09-19 | 0.58% |
| 2026-09-18 | 0.58% |
| 2026-09-17 | 0.61% |
| 2026-09-16 | 0.62% |
| 2026-09-15 | 0.60% |
| 2026-09-14 | 0.63% |
| 2026-09-13 | 0.66% |
| 2026-09-12 | 0.67% |
| 2026-09-11 | 0.66% |
| 2026-09-10 | 0.66% |
| 2026-09-09 | 0.75% |
| 2026-09-08 | 0.81% |
| 2026-09-07 | 0.79% |
| 2026-09-06 | 0.70% |
| 2026-09-05 | 0.65% |
| 2026-09-04 | 0.61% |
| 2026-09-03 | 0.61% |
| 2026-09-02 | 0.55% |
| 2026-09-01 | 0.45% |
| 2026-08-31 | 0.48% |
| 2026-08-30 | 0.50% |
| 2026-08-29 | 0.51% |
| 2026-08-28 | 0.54% |
| 2026-08-27 | 0.49% |
| 2026-08-26 | 0.41% |
| 2026-08-25 | 0.41% |
| 2026-08-24 | 0.39% |
| 2026-08-23 | 0.37% |
| 2026-08-22 | 0.42% |
| 2026-08-21 | 0.46% |
| 2026-08-20 | 0.46% |
| 2026-08-19 | 0.48% |
| 2026-08-18 | 0.48% |
| 2026-08-17 | 0.49% |
| 2026-08-16 | 0.44% |
| 2026-08-15 | 0.45% |
| 2026-08-14 | 0.46% |
| 2026-08-13 | 0.45% |
| 2026-08-12 | 0.49% |
| 2026-08-11 | 0.56% |