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

APY (α / τ / $)

Your annualised return over a trailing window. α counts only the alpha you earned, τ adds what the alpha did against TAO, $ adds what TAO did against the dollar.

FormulaA gain annualises linearly: ((end − start) / start) × 365 / days × 100. A loss compounds: ((end / start)^(365/days) − 1) × 100, floored at −100%. Deposits and withdrawals are removed by rebuilding the end value as if they had never happened, both legs priced at the end of the window.

The asymmetry is deliberate: a linear gain stays readable on a young position, while a compounded loss cannot print below −100%, which is the real floor. The starting point is the first day in the window on which the wallet actually held something, so a dust prefix is skipped and "days observed" can be shorter than the window you picked. The three dimensions answer three different questions and diverge on purpose: a positive α with a negative τ means you earned tokens while their price fell. All three come back empty when the alpha return exceeds 1000%, which is how emission-funded and faucet wallets are kept from printing nonsense, and the absolute change is shown instead; on top of that the app flags a short sample below 14 observed days on the 30-day window and shows nothing at all below 4 days on the 7-day window.

API request
GET https://api.taoswap.org/portfolio-pnl-apy/?account=<coldkey>

Response fieldapy.alpha, apy.tao, apy.usd, apy.days_observed (each keyed 7d / 30d / all)

The confidence rules on top of it are ours.

Cost basis (WAC / FIFO) & USD method

Two ways of deciding what a token cost you. WAC averages every purchase into one blended price. FIFO matches each sale against your oldest purchases. Then two ways of putting that in dollars: "throughout" records the dollar value at every trade, "then" computes the result in TAO and converts it at today's rate.

FormulaWAC = Σ(amount × price) / Σ amount; FIFO = chronological matching, oldest lot first

WAC is smoother and easier to read; FIFO is what most tax regimes expect. Likewise "throughout" is the rigorous accounting answer and the only one that adds up over time, while "then" reprices your whole history at today's rate. Never read a difference between two dates in "then" mode: a week in which you did not trade at all can show a dollar gain or loss purely from the TAO/USD move, sometimes with the opposite sign to your TAO result. All four are available; the toggles only pick which one you see.

API request
GET https://api.taoswap.org/portfolio-pnl-apy/?account=<coldkey>

Response fieldpnl.*.tao.{wac,fifo}, pnl.*.{usd_throughout,usd_then}

PnL (Realized / Unrealized)

Realized is the profit or loss you have actually booked by closing positions. Unrealized is what you are up or down on what you still hold.

Formularealized = proceeds − cost basis on disposals; unrealized = current value − cost basis on open positions, marked at the latest hourly close of each subnet (root 1:1)

Unrealized marks your alpha at the hourly closing price, with no fee and no slippage, so it reads higher than the exit-value pricing used for validator and account totals: it answers "what is it worth", not "what would I get". Sending stake to another wallet books a real disposal at the market price inside Realized, and receiving it opens a fresh position at the price on arrival rather than inheriting the sender's basis. Both figures come in a WAC and a FIFO flavour (see Cost basis) and in two USD flavours. The 24h variants are the change since the previous daily snapshot rather than a rolling 24 hours, so they step once a day when the nightly sync runs; the baseline is anchored to the snapshot date, so a late sync shifts the window instead of breaking it.

API request
GET https://api.taoswap.org/portfolio-pnl-apy/?account=<coldkey>

Response fieldpnl.realized, pnl.unrealized (each: tao.wac, tao.fifo, usd_throughout, usd_then)

Computed over your whole trade history.

Spot vs Realizable

Spot prices your tokens at the pool price, as if size did not matter. Realizable estimates what you would actually receive selling them through the pool, fee and slippage included.

Formulaspot = balance × pool price; realizable = the same amount pushed through the weighted pool curve, after the subnet fee

The gap between the two is the honest cost of your own size: it widens with the position and with how thin the pool is. Positions are simulated per subnet, and because the curve is non-linear per-position figures do not add up to the portfolio figure. For reference the chain refuses any single swap larger than 1000× the input-side reserve, but that guard is far beyond any real position and the simulation here does not model it.

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

Response fieldresults[].root_in_pool, results[].alpha_in_pool

Realizable is simulated against the pool reserves, read live from the chain.

Stake transfers (in / out)

Alpha or TAO you moved to or received from another wallet, valued at the price when it moved. Shown for context, never added on top of your totals.

Formulatransfer_stake_* covers cross-coldkey alpha moves; transfer_tao_* covers plain TAO transfers (global only, always 0 per subnet)

A transfer out is already counted inside Realized as a disposal at market price, which is why adding these on top would double-count. On the receiving side the alpha arrives with a fresh cost basis at the market price of the day rather than the sender's basis, so moving stake between two wallets you both own resets your entry price. Moving alpha between your own hotkeys or subnets is a different operation and is not counted here at all.

API request
GET https://api.taoswap.org/portfolio-pnl-apy/?account=<coldkey>

Response fieldpnl.transfer_stake_in / _out, pnl.transfer_tao_in / _out

Cumulative, all-time, valued at the market price when the transfer happened.

Value (τ) / Share

What a position is worth in TAO, and how much of the portfolio it represents.

Formulavalue = balance × price (or the realizable amount in Realizable mode); share = position value / portfolio total

Live balances and pool reserves come straight from the chain, so the portfolio never lags behind your wallet. Switching to Realizable changes the value, and therefore every share, at once.

Data source
GET https://api.taoswap.org/portfolio-balance/?account=<coldkey>

Live positions are read from the chain, the balance chart is the historical record.