trajrl
The official Python CLI for TrajectoryRL — an open skill factory that uses Bittensor's distributed compute and incentive layer to produce state-of-the-art agent skills.
trajrl watches live SN11 state: winner, challenger, queue, validators, miners, packs, eval logs, and deep validator analysis.
CLI output is Rich tables in a TTY and JSON when piped.
For generic Bittensor on-chain queries (metagraph, hyperparams) use btcli — the official Bittensor CLI.
Install
pip install trajrl
Live SN11 state (v6 winner-challenger)
trajrl challenge # in-flight epoch — challenger pack + per-validator scores so far
trajrl winner # current seated winner + last 5 change events
trajrl winner --history 20 # show more history
trajrl queue # pending eval queue
trajrl queue --eligible-only # filter to submissions eligible right now
Validators / miners / packs
trajrl validators # roster table
trajrl validators --detail # adds stake / weightTargets / benchVersion
trajrl miner --uid 63 # miner detail by UID
trajrl miner HOTKEY
trajrl pack HOTKEY PACK_HASH # specific pack + eval results
trajrl submissions # recent submissions across the network
trajrl submissions --failed
Subnet analysis
trajrl analyze # last 24h, all reports
trajrl analyze --epochs 50 # explicit epoch window
trajrl analyze --last 6 # last 6 hours
trajrl analyze --scenario cancel-async-tasks # focus per-scenario report
trajrl analyze --no-compare # skip the validator-sync table
trajrl analyze --deep # drill into eval logs for top packs
analyze produces, in one report:
- Throughput — epochs in window, decisions submitted, decisions/hour, rejection rate
- Competition Health — distinct challenger packs/miners, outcomes (held/replaced), replace rate, current winner tenure, mean inter-replacement gap
- Score Distribution — N qualified, mean, p50/p75/p90/p99, histogram of consensus_score
- Per-Scenario — pass rate, mean score, eval count, top-scoring pack per scenario (filterable with
--scenario) - Top 10 Challenger Packs — best consensus_score in window, with outcome
- Rejection Breakdown — bucketed reasons (integrity:copy, eval_error, schema_validation, etc.) with sample details
- Miner Pool — distinct miners, distinct packs, top-10 most-active
- Validator Sync — per-validator mean Δ vs peer mean; outlier flag with adaptive threshold (1.5× network median)
- Recent Winner Changes — last 10 replacement events
- With
--deep: drill into eval logs for the top challenger packs in the window
Network state & feeds
trajrl stats # network totals (reports, cost USD, LLM calls, tokens)
trajrl epoch 12345 # full epoch detail + per-validator submissions
trajrl leaderboard # v6 leaderboard — winner + ranked miners
trajrl events --limit 20 # recent eval events (validator → miner reports)
trajrl events --since 2026-05-21T00:00:00Z
trajrl winners # winner takeover history + cumulative α emission
trajrl prices # TAO + SN11 alpha price strip + 30d stake APY
trajrl nodes # node heartbeat summary
trajrl nodes --type validator
Validator drill-downs
trajrl scores HOTKEY # one validator's recent per-miner reports (last 24h)
trajrl scores --uid 7
trajrl progress # per-validator progress through current cycle
trajrl activity HOTKEY --limit 50 # per-epoch participation history
Bench / scenario quality
trajrl bench # per-scenario quality leaderboard (latest spec)
trajrl bench --spec 7
trajrl bench-miner HOTKEY # one miner's per-scenario best scores
trajrl bench-miner HOTKEY --spec 7
Eval logs (debug + audit)
trajrl logs --validator HOTKEY --limit 20
trajrl logs --eval-id 20260329_1430_w42 --show
trajrl logs --eval-id 20260329_1430_w42 --dump-to ./debug/
A miner eval archive contains:
SKILL.md # miner's product
JUDGE.md # scoring rubric used
metadata.json # final_score, delta, episode qualities
world.json # scenario context + salt
episodes/episode_N/
testee_transcript.txt # agent's session log
judge_transcript.txt # judge agent's grading log
evaluation.json # per-criterion scores + summary
episode.json # fixtures + instruction
Global options
Every command accepts:
| Option | Description |
|---|---|
--json / -j |
Force JSON output (auto when piped) |
--base-url |
Override API base URL (env: TRAJRL_BASE_URL) |
--version / -v |
Print version and exit |
JSON output
Piped output is JSON for every command — handy with jq:
trajrl winner | jq '.current.winner.uid'
trajrl queue --eligible-only | jq '.queue | length'
trajrl validators | jq '.validators[] | {uid, name, version, weightTargets}'
Migration from v1.x
v1.x shipped three binaries: trajrl, trajectoryrl-inspector, bittensor-subnet-inspector. v2.0 collapses everything into one trajrl binary.
| v1.x | v2.0 |
|---|---|
trajectoryrl-inspector status |
trajrl validators |
trajectoryrl-inspector download HOTKEY HASH |
trajrl pack HOTKEY HASH |
trajectoryrl-inspector download --uid N |
trajrl miner --uid N |
trajectoryrl-inspector analyze HOTKEY |
trajrl analyze HOTKEY |
trajectoryrl-inspector logs ... |
trajrl logs ... |
trajectoryrl-inspector submissions |
trajrl submissions |
bittensor-subnet-inspector metagraph -u 11 |
btcli subnet metagraph --netuid 11 (no longer in trajrl) |
bittensor-subnet-inspector emission -u 11 |
btcli subnet hyperparameters --netuid 11 (no longer in trajrl) |
New v2.0 commands: trajrl challenge, trajrl winner, trajrl queue (v6 dual-seat winner-challenger).
v2.1 (this release): removed trajrl chain group — it was redundant with btcli and pulled in the heavy bittensor SDK as a hard dependency. v2.1 has no chain-query commands; use btcli subnet metagraph / btcli subnet hyperparameters instead. Result: much lighter install (no substrate-interface, scalecodec, websockets, etc.).
Links
- Subnet repo: https://github.com/trajectoryRL/trajectoryRL — incentive mechanism, evaluation framework
- Bench: https://github.com/trajectoryRL/trajrl-bench — eval sandbox
- Website: https://trajrl.com — leaderboard, live subnet data, skill hub
- Public API: PUBLIC_API.md — read-only, no auth, base URL
https://trajrl.com
Metadata
Release files for trajrl 3.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| trajrl-3.0.0.tar.gz | 26.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| trajrl-3.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 52.7 kB
Release files / trajrl-3.0.0.tar.gz
| Download URL | trajrl-3.0.0.tar.gz |
|---|---|
| Size | 26.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7aa77aba1a5240f46be84490d263ef419aa212517adeab870d5eea96dc85efb7
|
|
BLAKE2b-256 checksum How to use checksums |
7cc451ac83861e934244bb16357b1389893b0fb8ca33be3f6e2d6c7875e41ea4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 21, 2026.
Transparency logRelease files / trajrl-3.0.0-py3-none-any.whl
| Download URL | trajrl-3.0.0-py3-none-any.whl |
|---|---|
| Size | 26.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f9099d06f8d742a22894828388efabb3fd4eeed1d83bbc3d93800ea0a608ddde
|
|
BLAKE2b-256 checksum How to use checksums |
d5287deddf864d42e8ab594d46cbbca0bac6f05799296151d063f7a9c6fe39e6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 21, 2026.
Transparency log