Loading
Loading
Neuron registration trends
Distributed inference networks lack verifiable proof that miners actually ran the claimed model. A provider could serve a cheaper quantization or distilled version while claiming the original, pocketing the margin undetected. Buyers have no way to audit the math after payment, and validators cannot economically re-run full inference to catch cheating.
A permissionless network of incentivized miners can close this gap if each response carries a lightweight, unforgeable commitment to the model it came from. Sampling-based verification—where validators re-check a fraction of requests—then deters dishonest serving without requiring full proofs. TOPLOC activation fingerprints (currently deployed) and sampled matrix-multiply audits (in development) let a verifier spend milliseconds or less per proof, on CPU, pinning the model identity to the math not the machine.
SN53 implements this as a live inference product: buyers hit a single OpenAI/Anthropic-compatible gateway; permissionless miners serve Qwen3.6-35B and other frontier open models on consumer GPUs with proof; and weightless CPU validators sample-verify the proofs and set weights on chain. Miners earn only on paid, verified work. The gateway maintains SLA by routing only to miners that have passed a qualification probe and proved via TOPLOC that they run the real model.
Use cases were auto-generated from the GitHub repository and may not reflect the latest changes.
SN53 is a Bittensor subnet serving frontier open models (Qwen3.6-35B, GLM-5.2) on permissionless GPU miners with cryptographic proof that the named model produced each response. Miners serve inference via sglang and attach TOPLOC activation fingerprints; validators verify a sample and set weights on chain. Currently running live with paying buyers via OpenAI/Anthropic-compatible APIs.
Buyers connect to a single OpenAI/Anthropic-compatible gateway (api.engy.ai) with prepaid billing. The gateway load-balances across 1st-party clusters and permissionless subnet miners on equal round-robin with prefix affinity for cache locality. Miners dial out (no inbound ports) to the gateway via websocket, tokenize inputs locally, call an sglang serve on port 8000 with return_hidden_states enabled, read final hidden states from the HTTP response, compute a TOPLOC locality-sensitive activation fingerprint, and return completion + proof.
Validators are CPU-only and never see model weights: they fetch a master-signed epoch result from provider.engy.ai, verify the sr25519 signature against the pinned master hotkey, resolve hotkeys to on-chain uids via a freshly-pulled metagraph, renormalize weights, and call set_weights on netuid 53 every ~100 blocks to stay within activity_cutoff. The chain applies weights under Yuma consensus. Verification is sampled: on-chain evidence is TOPLOC fingerprints (current), with sampled GEMM recompute audits being added for larger models.
No TEEs or trusted hardware—the proof pins the math.
Verified inference for frontier open models.
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.
Per-epoch settlement is per (miner, model) pair. Score = floor(Σ tokens(r) × score_rate[model] / 1000) if all gates pass, else 0. Four gates each with minimum sample thresholds: acceptance (2xx rate), TTFT p99, TPOT p99, and cheat rate.
Honest FP8 miners on mixed consumer hardware (4090/5090) verify reliably; INT4 serving as FP8 is caught by TOPLOC fingerprint mismatch. Emission shares are renormalized onto 65535. Fresh keys start at zero.
A failing miner loses that epoch only and recovers the next. Burn (zero total billed traffic) goes to owner hotkey in the signed payload.
The sections above were auto-generated from the GitHub repository and may not reflect the latest changes. View repository
FAQs were auto-generated from the GitHub repository and may not reflect the latest changes.
Holder & total-staked metrics as of 2h ago (hourly snapshot)
Qwen3.6-35B-A3B (35GB) runs on 2x RTX 4090 or better. Reference config: 4x RTX 4090 with tensor-parallelism. Model checkpoint must be on local disk. sglang serve required with --enable-return-hidden-states flag and miner folder on PYTHONPATH. No inbound ports required.
Light validator is CPU-only. Requires unencrypted Bittensor wallet at ~/.bittensor/wallets with hotkey registered on netuid 53 with validator permit. Uses named Docker volume for state persistence across restarts.
Install sglang serving framework and miner dependencies
pip install 'sglang>=0.4.6' toploc transformers torch numpy requests websockets
Place the miner script and Qwen3.6-35B-A3B model checkpoint on the mining node
# Copy miner/engy_miner.py to target node and download model checkpoint to local disk
Get a miner key from the provider dashboard
# Register at provider.engy.ai to obtain MINER_KEY
Start sglang serve with hidden states enabled and parser flags for agentic buyers. Adjust --tp-size and --max-running-requests based on your hardware.
PYTHONPATH=/path/to/engy/miner python -m sglang.launch_server --model-path /data/models/Qwen/Qwen3.6-35B-A3B-FP8 --served-model-name Qwen3.6 --tp-size 4 --trust-remote-code --kv-cache-dtype fp8_e4m3 --mem-fraction-static 0.83 --chunked-prefill-size 8192 --max-running-requests 8 --context-length 262144 --enable-return-hidden-states --enable-cache-report --tool-call-parser qwen3_coder --reasoning-parser qwen3 --host 0.0.0.0 --port 8000
Wait for sglang serve to be ready
curl -s http://127.0.0.1:8000/get_model_info >/dev/null && echo 'serve up'
Start the miner, connecting to the gateway and serving on local sglang. MAX_INFLIGHT is total concurrent requests (minimum 8, typically equals --max-running-requests times data-parallel size)
GW=wss://api.engy.ai/gw MINER_KEY=<your-key> MODEL=qwen3.6-35b-a3b MAX_INFLIGHT=<serve-concurrency> python miner/engy_miner.py --checkpoint /data/models/Qwen/Qwen3.6-35B-A3B-FP8 --serve-url http://127.0.0.1:8000
Clone the subnet repository
git clone https://github.com/hanlinai/engy && cd engy
Copy example environment file for validator configuration
cp .env.validator.example .env.validator
Configure wallet names in .env.validator
# Edit .env.validator and set ENGY_SN53_WALLET and ENGY_SN53_WALLET_HOTKEY to your wallet names (as shown by 'btcli wallet list')
Start the validator container with Docker Compose (includes auto-updating Watchtower)
docker compose --env-file .env.validator -f docker/docker-compose.validator.yml up -d
Watch validator logs to confirm startup and verify the wallet/hotkey is correct
docker compose -f docker/docker-compose.validator.yml logs -f validator
Check validator health status(optional)
docker inspect -f '{{.State.Health.Status}}' engy_sn53_validator