
Overview
Registration Activity
Neuron registration trends

Neuron registration trends
The alpha price in τ, day by day, and what moved it each way.
Log change over the last 30 days +171.27%: protocol buys +0.12%, root sells −35.16%, users net +10.29%, cross-subnet +196.03%, unattributed +0.0004%. 4 days still in progress are counted as far as known.
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-10 UTC, as of ≈00:25 UTC (block 9,472,216)
The day isn’t over yet, so these figures keep changing. They are in no daily total, average or rank.
Emission history is being recalculated from on-chain allocation.
Machine learning inference systems deployed across multiple operators face a fundamental challenge: verifying that remote inference nodes are actually running the claimed model with the correct weights and parameters, not substituting cheaper approximations or quantized alternatives. In centralized systems, this is solved through direct control; in decentralized networks, it requires cryptographic proof or expensive redundant computation.
REAX addresses this by creating a network where validators can verify miner answers through independent recomputation. Rather than trusting a miner's claim about what model it runs, validators recompute the same decision on their own copy of the pinned reference model and compare the numerical outputs (logit-space distances). If the miner's answer diverges beyond calibrated tolerances, the validator catches it immediately. This approach is incentive-compatible: cheating by running cheaper quantized models or alternative models produces measurably different logits that validators detect within rounds, leading to strikes that reset earnings.
REAX implements this on Bittensor as a subnet (SN92) where miners run pinned reference models (Plumb-4B or Surogate Rune 26B) in Docker sidecars on loopback, answering signed requests over HTTP. Validators run their own sidecars and verify a subset of each response against their reference runtime. The protocol pins model weights by hash, runtime by digest, prompt and temperature exactly, and uses logit-space distance as a deterministic, model-agnostic proof of answer fidelity. Capacity probes measure throughput simultaneously across all miners, preventing sybil attacks where multiple hotkeys on one machine claim independent capacity.
Auto-generated from the GitHub repository and may not reflect the latest changes.
REAX is a Bittensor subnet where miners serve pinned reference models (Plumb-4B for s1-fast, Surogate Rune 26B-A4B v3 for s1-pro) in a runtime sidecar and validators verify answers by recomputing them against their own reference runtime, comparing results in logit space to ensure exact model reproduction.
REAX uses a two-process architecture per hotkey. (1) A runtime sidecar runs the pinned REAX reference model (Plumb-4B for s1-fast or Rune 26B for s1-pro) in a Docker container on loopback (127.0.0.1:8101 or :8102) and serves an internal decision contract (POST /internal/v1/decide) with an HMAC token, never published. (2) The miner process (reax-miner) talks to the sidecar over loopback with the shared token, checks the hotkey is registered, publishes axon and commitment on chain, and serves signed requests (POST /v1/s1/decide) over the public protocol reax-s1/1. Validators run their own reference sidecars (one per enabled pool) on their GPU and recompute fresh items to verify miner answers. The validator never opens a port; it probes miners' public endpoints and scores based on logit-space distance and latency.
Multinode option (REAX_FEATURE_MULTINODE) allows one hotkey to receive decisions from several worker machines via reax-runtime-relay over TLS/VPN with HMAC-per-request authentication; the gateway (reax-miner) holds the hotkey and signs all responses.
The validator generates 8 fresh typed decisions per miner per round from a cryptographic seed (no answer key can leak). After receiving answers, it draws a verification set (8 items for s1-fast, 3 for s1-pro) and recomputes them on its reference runtime. Per verified item, it computes logit-space distance d as the largest difference between miner and reference option logits (probabilities floored at 1e-6, invariant to temperature).
The mean distance D over verified items determines scoring: D ≤ 0.20 scores (0.8 + 0.2×speed_factor); D > 0.20 scores 0; D > 0.50 or any d > 2.0 causes a strike resetting EMA to 0. Speed scores linearly from fast bound (0.5s for s1-fast, 1s for s1-pro) to slow bound (8s, 12s) over 0.5 rounds; beyond slow bound request times out. Per-pool capacity probes run approximately every 10 rounds, load every UID simultaneously, and measure verified throughput.
Pay within a pool is ema × min(cap, measured_capacity / target_dps). Pools share: s1-fast 0.35, s1-pro 0.65 of inference part. Competition and specialist tracks have separate budgets and winner-take-most sharing (75% rank 1, 17% rank 2, 8% rank 3).
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)
Verified decision-model inference on Bittensor.
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: GPU, VRAM, GPU count, Storage, Notes
Not yet verified: GPU count, RAM, Storage, CPU cores, 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 9 Nov 2026
Install bittensor CLI in separate virtual environment for wallet management
pip install bittensor-cli==9.23.2
Create coldkey and hotkey (coldkey stays offline, only copy hotkey to server)
btcli wallet new_coldkey --wallet.name reax && btcli wallet new_hotkey --wallet.name reax --wallet.hotkey miner1
Register hotkey on subnet 92 (Finney), pay current burn cost
btcli subnets register --netuid 92 --wallet.name reax --wallet.hotkey miner1
Download s1-fast model weights (public, ~9 GB)
hf download crh225/plumb-4b --revision 55de037801a8a9b9de3db5c0e16cef86210c2186 --local-dir /srv/reax/plumb-4b
Build REAX miner Docker image from repository root
docker build -t reax:1.2.0rc3 .
Build s1-fast runtime sidecar image
docker build -f runtimes/s1-fast/Dockerfile -t reax-s1-fast-runtime .
Create shared internal token between sidecar and miner (0600 mode required)
mkdir -p deploy/secrets && openssl rand -hex 32 > deploy/secrets/runtime-token && chmod 0600 deploy/secrets/runtime-token
Copy example miner config and fill in netuid, wallet names, public IP, mechanism/model
cp deploy/miner-s1.env.example deploy/miner.env
Start sidecar and miner with docker compose (both on host networking, loopback only)
REAX_UID=$(id -u) REAX_GID=$(id -g) REAX_S1_FAST_WEIGHTS=/srv/reax/plumb-4b docker compose -f deploy/docker-compose.s1.yml up -d --build
Run self-check against published reference answers (must pass before registration)
REAX_UID=$(id -u) REAX_GID=$(id -g) REAX_S1_FAST_WEIGHTS=/srv/reax/plumb-4b docker compose -f deploy/docker-compose.s1.yml run --rm --no-deps --entrypoint reax-selfcheck miner
Install bittensor CLI in separate virtual environment
pip install bittensor-cli==9.23.2
Register validator hotkey on subnet 92
btcli subnets register --netuid 92 --wallet.name reax --wallet.hotkey validator
Stake at least 1000 TAO and wait one tempo for validator permit
btcli stake add --netuid 92 --wallet.name reax --wallet.hotkey validator --amount <TAO>
Build REAX validator Docker image from repository root
docker build -t reax:1.2.0rc3 .
Build s1-fast reference runtime sidecar
docker build -f runtimes/s1-fast/Dockerfile -t reax-s1-fast-runtime .
Create shared internal token for reference sidecar
mkdir -p deploy/secrets && openssl rand -hex 32 > deploy/secrets/runtime-token && chmod 0600 deploy/secrets/runtime-token
Download s1-fast model weights (~9 GB)
hf download crh225/plumb-4b --revision 55de037801a8a9b9de3db5c0e16cef86210c2186 --local-dir /srv/reax/plumb-4b
Start s1-fast reference sidecar on loopback 127.0.0.1:8101
docker run -d --name reax-s1-fast-ref --network host --gpus all --init --restart unless-stopped --user "$(id -u):$(id -g)" -e S1M_INTERNAL_TOKEN_FILE=/run/s1m-internal-token -v "$PWD/deploy/secrets/runtime-token:/run/s1m-internal-token:ro" -v /srv/reax/plumb-4b:/model:ro reax-s1-fast-runtime
Copy example validator config
cp deploy/validator.env.example deploy/validator.env
Start validator process (opens no port, needs no GPU itself)
docker run -d --name reax-validator --network host --init --restart unless-stopped --user "$(id -u):$(id -g)" --no-healthcheck --env-file deploy/validator.env --entrypoint reax-validator -e REAX_MECHANISM=s1 -e REAX_MODEL=s1-fast -e REAX_S1_FAST_RUNTIME_URL=http://127.0.0.1:8101 -e REAX_RUNTIME_TOKEN_FILE=/run/reax-runtime-token -v $HOME/.bittensor/wallets:/wallets:ro -v "$PWD/deploy/secrets/runtime-token:/run/reax-runtime-token:ro" -v reax-state:/state reax:1.2.0rc3
Use shadow mode for first hour to let miners build non-zero average before weights submission begins
Run with REAX_SET_WEIGHTS=0 for first hour in shadow mode