Taoswapapi.taoswap.org

Deprecations

EndpointReplacementAnnouncedRemovalDays leftWhat to do
/v1/portfolio-baskets/ none 2026-10-12 2026-11-11 18 A nightly copy of the beta-basket positions the chain answers live; nothing in the API replaces it. Read BetaBasketRuntimeApi.get_root_basket_positions on chain for a coldkey's owed shares and payout.
/validators/{hotkey}/
/v1/validators/{hotkey}/
/v2/validators/{hotkey}/ 2026-10-12 2026-11-11 18 /v2/validators/{hotkey}/ serves the same validator with its delegators one page at a time; the list and /history/ stay. Move to /v2/validators/{hotkey}/, and walk page or the after cursor where you need every delegator.
neurons[].weights of
/subnets/{netuid}/
/v1/subnets/{netuid}/
/v2/subnets/{netuid}/
/metagraph/{netuid}/weights/ 2026-10-08 2027-01-06 74 The subnet detail keeps serving each neuron's weight vector until the sunset, then leaves it out; the route stays. Read /metagraph/{netuid}/weights/ for the subnet's weights.
results[].executed_tx_hash of
/v1/limit-orders/
none 2026-10-08 2027-01-06 74 Always "" on every order row; it leaves the rows at the sunset, the routes stay. These routes are not in the reference. Locate a fill by executed_block and executed_extrinsic_index.
/portfolio-pnl-apy/subnet/
/v1/portfolio-pnl-apy/subnet/
/portfolio-pnl-apy/?include_subnets=true 2026-10-08 2027-01-06 74 /portfolio-pnl-apy/?include_subnets=true serves the same per-subnet entry under subnets[], for every subnet at once. Move to /portfolio-pnl-apy/?include_subnets=true and read the subnets[] entry of your netuid.
/v1/root-weights/ /v1/beta-baskets/composition/ 2026-09-18 2026-12-17 54 Runtime 464 retired root-weight vectors on 2026-09-17: results[].entries is empty for every validator and stays so. Read /v1/beta-baskets/composition/ for what each fund holds, or /v1/beta-baskets/subnets/ for the per-subnet view.
/portfolio-income/
/v1/portfolio-income/
/portfolio-pnl-apy/ 2026-09-08 2026-12-07 44 /portfolio-pnl-apy/ serves the organic half (apy.value_change_*); the windowed trading bucket has no successor. Move to /portfolio-pnl-apy/, or say on Discord what the trading bucket was for.
/portfolio-apy-history/
/v1/portfolio-apy-history/
/portfolio-pnl-apy/ 2026-09-08 2026-12-07 44 /portfolio-pnl-apy/ serves the current windows and apy_as_of; the day-by-day series has no successor. Move to /portfolio-pnl-apy/, or say on Discord if you need the series.
/idle-stakes/
/v1/idle-stakes/
none 2026-08-30 2026-11-28 35 /idle-stakes/lookup/ (one coldkey's delegations) is not affected and is not a replacement. Stop calling it before the removal date; nothing serves the aggregate after.

Rules

Rate limits

ScopeLimitApplies to
anon600/minuteEvery route without a tighter scope, the metagraph, network stats and TAO price among them.
subnet_price2000/minuteThe subnet candles, /subnet-price-history/, which charts call in bursts.
explore300/minuteSubnets, validators, blocks, events, extrinsics, trades, accounts, identities, search, beta baskets, and the portfolio balance, ledger, PnL and transactions.
og30/minuteThe Open Graph share images under /og/.
faucet3/minuteThe testnet faucet claim, POST /testnet-faucet/; its reads count against anon.