Glossary

What each metric means, its exact formula, the API request behind it, and why it can differ from other explorers.

For AI agents: llms.txt

1H / 24H / 7D / 30D / 90D %

How much the price has moved over the trailing window: current spot against the closing price at the start of the window.

Formula((spot − baseline) / baseline) × 100. Baseline for 1H and 24H = the last minute close inside the one-hour slot that ends an hour (respectively a day) ago; for 7D / 30D / 90D = the last close of the UTC day N days ago

Anchored by clock time, not by block, and the two families anchor differently, so 7D is not a rolling 7 × 24 h. The baseline is never searched for outside its own slot: if no candle exists in that hour, or on that day, the figure shows 0% rather than reaching further back, so a data gap is indistinguishable from a flat price. It compares a noisy live spot against a candle close, which is why it can differ from explorers doing spot-to-spot. Root is served as 0 and hidden in the table.

API request
GET https://api.taoswap.org/v2/subnets/

Response fieldresults[].price_evolution_{h_1,h_24,d_7,d_30,d_90}

7D Trend (sparkline)

The inline 7-day price line drawn in the table.

Formulathe last hourly close of each 4-hour UTC bucket over the trailing 7 days (~42 points, oldest → newest, 6 significant digits)

null when the subnet has fewer than two points in the window, which is the exact "too little history to draw a line" condition. Buckets are aligned on the clock (00:00, 04:00, 08:00 UTC), not on "exactly 7 days ago", so the first and last are partial and you usually get 43 points rather than 42.

API request
GET https://api.taoswap.org/v2/subnets/

Response fieldresults[].sparkline_7d

FDV

Fully Diluted Valuation: what the subnet would be worth if every alpha token that can ever exist had already been emitted.

Formula21,000,000 α × the EMA moving price, spot when the EMA is 0

Every subnet has the same 21M alpha hard cap as TAO itself, so FDV is always ≥ market cap. The cap is compiled into the runtime rather than stored as a parameter, so unlike most chain numbers it cannot be changed by governance, and the chain really does stop emitting a subnet's alpha when its issuance reaches it. Same EMA-vs-spot gap as market cap; root falls back to spot, and FDV 21,000,000 τ is the right reading for it since root's "alpha" is TAO. Burned alpha still counts against the cap, since a burn does not reduce what the chain considers issued.

API request
GET https://api.taoswap.org/v2/subnets/

Response fieldresults[].fdv (fdv_usd for the USD value)

Market Cap

Value of the alpha actually in circulation: what sits in the pool plus what is staked, minus what has been burned, priced at the smoothed (EMA) price.

Formula(α in the pool + max(α held outside the pool − α this subnet burned, 0)) × the EMA moving price, spot when the EMA is 0

Three things make it differ from other explorers: the price is the EMA moving price (spot only as a fallback, which is what happens on root, whose EMA is 0); the base is circulating alpha, not the 21M cap (that is FDV); and burned alpha is subtracted. Burning destroys the tokens on-chain but leaves them inside the staked figure, so without that subtraction the destroyed alpha would still be valued. Recycled alpha is not subtracted again, because the chain already removed it. Supply, below, deliberately keeps burns, so on burn-heavy subnets supply × price sits above market cap. Only what this subnet burned itself is subtracted: the chain keys its burn counter to the subnet number and never clears it when that number is handed to a new subnet, which until 2026-08-04 valued six subnets below the truth, the worst by 55 per cent. The inherited part is now measured at each subnet's own registration block and removed. The subtraction is still clamped at zero, and the base still leaves out the protocol alpha reserve that the chain counts in its own issuance, which is zero on every subnet today.

API request
GET https://api.taoswap.org/v2/subnets/

Response fieldresults[].market_cap

Moving Price

A slow-moving average of the price, used as the basis for market cap and FDV so a single trade cannot move a valuation.

Formulachain EMA, once per block: new = a × min(spot, 1 τ) + (1 − a) × previous, where a = the smoothing factor × blocks since the subnet's first emission / (those blocks + the subnet's ramp length)

Computed on-chain, not by Taoswap. The chain feeds the EMA min(spot, 1 τ), so the moving price can never exceed 1 τ even if spot does. Both knobs are chain parameters a governance call can move, so treat the usual figures (a smoothing factor of 0.000003 per block, roughly 30 days to close half the gap to spot) as today's values and not as constants; the ramp in particular is set per subnet. Until a young subnet finishes ramping, its effective smoothing is a fraction of that factor, so its EMA moves slower than the headline number suggests. It freezes entirely while a subnet is outside the emission set: never started, subtoken disabled, or registration closed. Careful with root: the field is served as 0 for it, which is why market cap and FDV fall back to spot there, while the chain itself treats root as 1 τ. It should match any explorer reading the same chain value; small gaps come from the ~2-min snapshot block.

API request
GET https://api.taoswap.org/v2/subnets/

Response fieldresults[].moving_price

Price ($)

The same spot price, converted to dollars.

Formulaprice × the live TAO/USD rate the app streams

Two different dollar rates exist on this site and they are not interchangeable: figures converted in-app (this one) use a live streaming rate, while figures the API already returns in dollars (FDV, 24h volume, depth) were converted server-side against a rate refreshed every 15 minutes. On a fast move the two disagree for a few minutes, and the gap is the rate, not the metric.

Data source
GET https://api.taoswap.org/v2/subnets/

Response fieldresults[].price

USD = price × the live TAO/USD rate.

Price (τ)

What one alpha token is worth in TAO right now, quoted by the subnet's own liquidity pool.

Formulathe chain's own spot price for the pool: (α weight / τ weight) × TAO reserve / α reserve. Root (SN0) is pegged to 1 τ instead

Served straight from the chain rather than divided in-app, and the weights matter: the pool is a weighted (Balancer) automated market maker, an AMM: the contract that holds both sides and takes the other end of every trade, with no order book and no counterparty to find. So the plain ratio of the two reserves is only exact while the weights are equal. They are today, to within 4.5e-7 across every subnet, but the chain only guarantees each side stays above 1%, and it rewrites the weights whenever an emission injection would push the pool out of balance. Root is the exception: it has no AMM, so the chain quotes it at 1 τ and the two In Pool figures are empty for it. This is the spot price, not the EMA moving price behind market cap and FDV, so explorers that display the EMA read differently.

API request
GET https://api.taoswap.org/v2/subnets/

Response fieldresults[].price

Volume 24H

TAO traded through the subnet's pool over the last 24 hours.

FormulaΣ of the TAO leg of every pool-touching stake and unstake on the subnet over the trailing 24 h (τ), recomputed at most once an hour; the USD figure is server-converted

Counted on one side only, in TAO, so it reads far below what an exchange would print for the same activity, since exchanges count both legs of a trade. Protocol chain buys are excluded: the coinbase moves the reserves directly without ever emitting a trade. Swaps and cross-subnet moves contribute each of their legs to the pool it touches, while same-subnet hotkey or validator rebalances are excluded, because they never touch the pool, and so are the refunds paid out when a subnet is dissolved. Burns and recycles never count. The window rolls from now, but the hourly recompute makes it step rather than glide. null for root (no pool); a 0 is a real zero. Note the chain has its own volume counter, but it only sees direct calls to the swap pallet, a small fraction of real activity, so this is built from the stake events instead.

API request
GET https://api.taoswap.org/v2/subnets/

Response fieldresults[].volume_24h (volume_24h_usd for the USD value)