Loading
Loading

Neuron registration trends
Training and evaluating robot navigation policies typically requires each team to manage its own simulation environment, benchmarking harness, and scoring infrastructure. This creates fragmentation: no common baseline, inconsistent evaluation metrics, and no transparent way to compare policies across independent research efforts.
A decentralized tournament model addresses this by establishing a shared evaluation standard and economic incentive. Miners train policies locally and submit them; a network of validators evaluates every agent against identical Isaac Lab benchmark environments and publishes scores on-chain. A single mechanism replaces isolated benchmarking efforts with a verifiable, transparent leaderboard where policy quality determines rewards.
Nepher Subnet 49 implements this on Bittensor. Miners submit trained policies via the Nepher CLI. Validators download each submission, execute it in an isolated GPU sandbox container (Isaac Sim 5.1 + Isaac Lab 2.3.0), and score the agent against standardized navigation tasks. Scores are stake-weighted aggregated by the backend; the top performer each cycle receives all allocated subnet emissions.
Use cases were auto-generated from the GitHub repository and may not reflect the latest changes.
Nepher Robotics (Subnet 49) is a decentralized robotics tournament on Bittensor where miners train navigation policies and submit them for evaluation by validators in standardized Isaac Lab environments. Validators score each agent using an isolated GPU sandbox container, and only the top-scoring miner receives emissions in a winner-takes-all mechanism per tournament cycle.
The subnet has a lightweight miner component (trains locally, submits via API) and a validator orchestrator that never runs Isaac Sim directly. For each agent, the validator spawns an ephemeral nepher-sandbox Docker container (Isaac Sim 5.1 + Isaac Lab 2.3.0, ~20 GB image) with GPU, strict isolation (dropped capabilities, read-only mounts, network firewall), and hard resource limits. The sandbox downloads the miner's agent ZIP, installs dependencies, runs evaluation via eval-nav, writes score to evaluation_result.json, and is discarded.
The validator reads the score and submits it to the Tournament API. Scores are aggregated stake-weighted by the backend; only the top scorer(s) receive weights each cycle.
Tournaments progress through five sequential periods: Contest (miners submit agents), Submit (eligible miner list locked), Evaluation (validators score each agent via eval-nav in sandbox containers), Review (admin approves podium), and Reward (weights distributed to approved winners). Each tournament allocates 1% of weights to its current preliminary leader; the reward-period tournament's approved podium receives remaining weight split by normalized ratios (default 7:2:1 for three places). Miner eligibility requires both on-chain registration and agent submission.
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 for the latest instructions.
Scores from all validators are aggregated stake-weighted; only the latest agent per hotkey is evaluated. Unresolved weight burns on UID 0.
The sections above were auto-generated from the GitHub repository and may not reflect the latest changes. View repository
Pioneering Simulation-First Robotics Development
FAQs were auto-generated from the GitHub repository and may not reflect the latest changes.
Holder & total-staked metrics as of 1h ago (hourly snapshot)
GPU required for training. Submission itself is CPU-only. Python 3.10+, Isaac Sim 5.1, Isaac Lab 2.3.0 required.
NVIDIA Driver 535+, CUDA 12.1+. Docker + NVIDIA Container Toolkit required. First sandbox image build takes 30-60 min (~20 GB). CPU-only variant available (weights only, no evaluation).
Install Bittensor CLI for wallet operations
pip install bittensor
Create Bittensor wallet (coldkey and hotkey)
btcli wallet new_coldkey --wallet.name miner && btcli wallet new_hotkey --wallet.name miner --wallet.hotkey default
Register miner on Subnet 49
btcli subnet register --wallet.name miner --wallet.hotkey default --netuid 49
Clone tournament task repository and install task module per README
git clone <task-repo-url> && cd <task-repo> && # follow repo README to install task module
Install Nepher CLI and authenticate with API key from https://account.nepher.ai
pip install nepher-cli && npcli login --api-key nepher_xxxxxxxx
Train navigation policy using Isaac Lab training script
${ISAACLAB_PATH}/isaaclab.sh -p scripts/rsl_rl/train.py --task=<train-task> --headlessCopy trained model checkpoint to submission location
cp /path/to/logs/rsl_rl/.../model_best.pt best_policy/best_policy.pt
Validate agent structure before submission
npcli tournament check --path ./my-agent
Submit agent to tournament (can submit multiple times; only latest evaluated)
npcli tournament submit --path ./my-agent --wallet-name miner --wallet-hotkey default
Optional: install eval-nav and nepher for self-evaluation preview(optional)
git clone https://github.com/nepher-ai/eval-nav.git && ${ISAACLAB_PATH}/isaaclab.sh -p -m pip install -e ./eval-nav && ${ISAACLAB_PATH}/isaaclab.sh -p -m pip install nepherOptional: pre-download benchmark environments for self-evaluation(optional)
npcli envhub download waypoint-benchmark-v1 && npcli envhub download waypoint-sample-v1
Optional: run self-evaluation using exact validator pipeline(optional)
${ISAACLAB_PATH}/isaaclab.sh -p ./eval-nav/scripts/evaluate.py --config eval_config.yaml --headlessUpdate system packages
sudo apt update && sudo apt upgrade -y && sudo apt install -y git curl wget build-essential
Verify or install NVIDIA drivers (535+ required)
nvidia-smi # if fails, run: sudo apt install -y nvidia-driver-535 && sudo reboot
Install Docker and Docker Compose
curl -fsSL https://get.docker.com -o get-docker.sh && sudo sh get-docker.sh && sudo usermod -aG docker $USER && newgrp docker && sudo apt install -y docker-compose-plugin
Install NVIDIA Container Toolkit for Docker GPU access
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list && sudo apt update && sudo apt install -y nvidia-container-toolkit && sudo nvidia-ctk runtime configure --runtime=docker && sudo systemctl restart docker
Verify Docker GPU access
docker run --rm --gpus all nvidia/cuda:12.1.0-base-ubuntu22.04 nvidia-smi
Create Bittensor wallet, register on Subnet 49, and stake
pip install bittensor && btcli subnet register --wallet.name validator --wallet.hotkey default --netuid 49 && btcli stake add --wallet.name validator --wallet.hotkey default --amount <AMOUNT>
Clone nepher-subnet repository
git clone https://github.com/nepher-ai/nepher-subnet.git && cd nepher-subnet
Copy example configuration files
cp config/docker.env.example .env && cp config/validator_config.example.yaml config/validator_config.yaml
Configure .env with Nepher API key
# Edit .env: set NEPHER_API_KEY=nepher_your_actual_api_key_here (from https://account.nepher.ai)
Configure validator_config.yaml with wallet and API settings
# Edit config/validator_config.yaml: set api_key, wallet name, and hotkey
Build validator and sandbox images (first build ~30-60 min, ~20 GB)
docker compose build
Start validator orchestrator (spawns sandbox containers on demand)
docker compose up -d validator
Monitor validator logs
docker compose logs -f validator
Check validator health status
docker compose ps
Optional: run CPU-only validator (weights-only, no GPU evaluation) on separate machine(optional)
docker compose build validator-cpu && docker compose up -d validator-cpu