How DePINly estimates Bittensor earnings across modes. Last verified 2026-05-22.
TL;DR
A multi-mode calculator (stake / validator / miner). Only staking is retail-accessible. Two changes the UI surfaces loudly: dTAO (Feb 2025) pays miners/validators in per-subnet ALPHA tokens that float vs TAO (earnings ≠ TAO value, alpha can crash on unstake); and the first halving (~Dec 2025) cut emission to ~0.5 TAO/block (~3,600 TAO/day), roughly halving miner baselines.
Earning mechanics
- Stake (retail): delegated-staking APR — ~7% (CEX custodial) to ~12% (skilled self-delegation to a strong subnet, alpha-denominated, variable).
- Validator / miner: registration/recycle cost + GPU; can earn $0 if outcompeted or deregistered — flagged as not retail-accessible.
Formula (sketch · stake)
annualTao = stakeAmount × APR(quality: 0.07 / 0.09 / 0.12)
monthlyUsd = (annualTao / 12) × TAO_price
Assumptions & confidence
| Assumption | Basis | Confidence |
|---|---|---|
| Stake APR 7-12% | Kraken ~7%; self-delegation 11-18% cited (alpha) | 🟡 ESTIMATE |
| dTAO alpha mechanics | Bittensor dTAO (Feb 2025) | 🟢 |
| Halving ~0.5 TAO/block | Bittensor emission schedule | 🟢 |
| TAO price | CoinGecko live | 🟢 |
NOT modeled
Per-subnet alpha price dynamics, validator commission spread, miner deregistration risk, exact emission split. Outputs are TAO-denominated approximations only.
Confidence rating
🟡 — Staking path is reasonable; validator/miner outputs are approximations and explicitly flagged as not retail-accessible + alpha-denominated.
Sources (verified 2026-05-22)
Bittensor docs (dTAO, halving) · Kraken staking · community self-delegation reports · CoinGecko (bittensor).
Code
src/lib/calculators/bittensor-rewards.ts · src/components/calculators/bittensor/BittensorCalculator.tsx · src/app/calculate/bittensor/page.tsx
These figures are point estimates inside a wide band and depend on local demand, hardware, uptime and token price. They may be wrong in either direction. Nothing here is financial advice — always do your own research.
Methodology updated 2026-05-22 · View source on GitHub →