Methodology
What every number on tao.eco means and where it comes from. Chain data is read directly from Bittensor through Opentensor's public endpoints, with no third-party indexer in between.
How data is collected
- A collector reads a snapshot of the chain at the latest finalized block every 20 minutes, and every block's events since its previous run.
- History before that comes from Opentensor's archive node: a snapshot every ~4 hours for the last 90 days, then one a day back to dTAO's launch (February 2025). Past TAO prices are Binance daily closes.
- Times are block times, estimated at 12 s per block, and shown in UTC.
- Pages are cached for up to 5 minutes; the footer shows the block the data was read at.
Network
- TAO price
TAO/USD at the time of each snapshot. Candles on the overview chart are TAO/USDT from Binance, fetched by our server and cached, never stored.
Source: CoinGecko, falling back to Binance
- Market cap
Circulating supply × TAO price.
Source: Computed
- Circulating supply
All TAO issued so far (of a 21M maximum).
Source: Chain: TotalIssuance
- Total staked
TAO staked across the network.
Source: Chain: TotalStake
- Emission / block, / day
New TAO emitted per block (one block every ~12 s), and that × 7,200 blocks per day.
Source: Chain: get_block_emission
- 24h volume
TAO traded on centralised exchanges over the last 24 hours, in USD.
Source: CoinGecko / Binance
Subnets
- Price
Spot price of the subnet's alpha token in TAO, from its liquidity pool. The pool is weighted, so this isn't exactly TAO in pool ÷ alpha in pool.
Source: Chain: SwapRuntimeApi.current_alpha_price_all
- 1h / 24h / 7d / 1m change
Alpha price now against the newest snapshot at least that long ago. The 1h change is left blank when that snapshot is over two hours old, after a gap in collection.
Source: Computed from our snapshots
- Market cap
Alpha price × (alpha in the pool + alpha held outside it), in TAO. Not shown for the root network (#0).
Source: Computed
- Emission change (24h)
Emission share now ÷ emission share at the newest snapshot at least 24 hours ago, minus one: a share going from 2% to 2.2% is +10%. A rising share means the chain is directing more of each block's new TAO to the subnet. Left blank for subnets whose share was under 0.01% a day ago, where tiny moves look huge.
Source: Computed from our snapshots
- TAO / day (emissions)
TAO injected into the subnet's pool plus TAO spent on protocol buys (SubnetExcessTao), per block × 7,200. This is the subsidy the network pays the subnet. In USD/yr: × 365 × the latest TAO price.
Source: Chain: SubnetInfoRuntimeApi.get_all_dynamic_info, SubnetExcessTao
- Net flow and volume
Every stake into a subnet buys its alpha with TAO (StakeAdded); every unstake sells it for TAO (StakeRemoved). Net flow is TAO in minus TAO out; volume is both added together. Cross-subnet swaps and moves count on both pools. Same-subnet transfers between wallets (a change of owner, no trade) and the root network, which has no pool, are left out. Figures cover the last 24 hours of scanned blocks, in hourly buckets; the column says so when the window is shorter, for example while the scan catches up after an outage.
Source: Chain: StakeAdded / StakeRemoved events, summed per subnet per hour
- Buy/sell size
Average buy (TAO in ÷ number of buys) divided by average sell (TAO out ÷ number of sells), over the same window as net flow. Above 1, the typical buyer is putting in more than the typical seller takes out, a sign of larger holders buying while smaller ones sell; below 1, the reverse. It needs at least 10 buys and 10 sells, and it's an average, so one very large trade can move it: hover a value to see both averages and the trade counts.
Source: Chain: StakeAdded / StakeRemoved events, counted per subnet per hour
- Miner burn
The share of the subnet's miner incentive that the chain burned or recycled in its last epoch instead of paying to miners, usually because the owner points weights at their own or a burn UID. Each subnet's settings decide whether it's burned or recycled. A subnet that burns most of its miner incentive isn't spending its subsidy on work.
Source: Chain: MinerBurned (per subnet, each snapshot)
- Alpha burned
Alpha burned (AlphaBurned) or recycled (AlphaRecycled) on the subnet over the last 30 days, or since event tracking began if that's sooner. Every buyback also burns the alpha it bought; those are counted under buybacks and left out here, so this is supply removed without TAO coming in.
Source: Chain: AlphaBurned / AlphaRecycled events
- Commits (30d)
Commits to the default branch of the GitHub repo linked in the subnet's on-chain identity over the last 30 days, with commits by bots (Dependabot, CI) left out; authors are the distinct people behind them. Read once a day, up to 1,000 commits (busier repos show “1,000+”). It measures only that one public repo: teams that work in other or private repos look quieter than they are, and subnets that link an organisation rather than a repo show no figure.
Source: GitHub REST API, daily
- Liquidity / TAO in pool
TAO held in the subnet's pool, which sets how much can be traded before the price moves.
Source: Chain
- Alpha staked
Alpha held outside the pool, and its value at the current price.
Source: Chain
- Category
One curated tag per subnet (inference, compute, training, agents, data, finance, science, media, robotics, security or infrastructure), chosen by hand from the subnet's on-chain name and description. Subnets with no usable identity are left untagged, and a tag is dropped when the netuid is re-registered after it was tagged.
Source: Curated
- Registered
When the subnet's current owner registered it, estimated from the registration block at 12 s per block.
Source: Chain
Revenue
- Buybacks
TAO spent buying a subnet's alpha and burning it in the same call (
add_stake_burn, which emits anAddStakeBurnevent). Outside money returned to token holders shows up here, so it's a provable lower bound on revenue: not every subnet buys back, and none buys back all of its revenue. We read the events of every block and sum them per subnet over the last 30 days, or over the history we hold if that's shorter. Anyone can calladd_stake_burn, so the owner share is the part signed by the subnet's owner coldkey, the clearest sign of a team spending its own revenue.Source: Chain: System.Events, scanned block by block
- Buybacks / yr
Buyback TAO per day over the window × 365 × the latest TAO price. While the window is short, one purchase swings this a lot.
Source: Computed
- Reported revenue
Revenue figures published by subnet teams or third parties, each linked to its source and labelled: verified (checked by an independent party), reported (published by the team, or a third party quoting it) or estimate (a third party's model; ranges are shown at their midpoint). Every figure is annualised: amount ÷ days in its period × 365. Where a subnet has several, the leaderboard uses the most trusted, then the most recent, then the one over the longest period; the subnet page lists them all.
Source: Curated by tao.eco
- Coverage
Revenue ÷ emissions over the same period: how much of its subsidy a subnet earns back from outside. 100% means it brings in as much as the network pays it. On the leaderboard it uses whichever figure you rank by: buybacks (both in TAO, so the TAO price cancels out) or reported revenue (USD/yr ÷ emissions in USD/yr).
Source: Computed
See it applied on the revenue leaderboard and the subnet table.