BasketDepositedTao
Storage Map v441 → currentMap (validator_hotkey) to lifetime TAO deposited into the basket.
Explore chainThe Big Picture
Together with BasketRedeemedTao this makes lifetime fund performance computable from two storage reads with no event indexing, which is what allows a public, comparable validator scoreboard.
Why This Matters
This is the cost basis of a fund. Without it you could see what a basket is worth today but not whether the manager actually made money getting there.
Example Scenario
A validator shows 1,400 TAO deposited lifetime, 300 TAO redeemed, and a current NAV of 1,300. Lifetime return is (1300 + 300) / 1400, about 1.14x.
Common Questions
- Why is this lower than the raw dividends the validator earned?
- It sums value_added, the realizable NAV each deposit actually contributed net of slippage and fees, not the gross TAO deployed.
- Does it reset when the validator swaps hotkeys?
- No. The fund and its lifetime counters follow the swap.
Use Cases
- Compute lifetime fund return as (NAV + redeemed) / deposited
- Rank validators by fund performance
From Chain Metadata
MAP ( validator_hotkey ) --> lifetime realizable TAO value deposited into the basket. Cumulative sum of every deposit's `value_added`: the realizable NAV the deposit actually added (net of buy slippage and fees), deliberately less than the raw TAO deployed. Both dividend deposits and direct `stake_into_basket` deposits accumulate here, and dividend deposits add their full `value_added` even though only the stakers' attribution fraction mints shares. Together with [`BasketRedeemedTao`] this makes lifetime fund performance (`(NAV + redeemed) / deposited`) and deposit-rate metrics computable from two storage reads, with no event indexing. Follows the fund across hotkey swaps.
Purpose & Usage
Purpose
Cumulative sum of every deposit value_added: the realizable NAV each deposit actually added, net of buy slippage and fees.
Common Query Patterns
- Query by validator hotkey and pair with BasketRedeemedTao and current NAV for lifetime performance
Notes
- Deliberately less than the raw TAO deployed, since it is measured net of slippage
- Both dividend deposits and direct stake_into_basket deposits accumulate here
- Dividend deposits add their full value_added even though only the staker attribution fraction mints shares
- Follows the fund across hotkey swaps
Query Keys
| # | Name | Type | Description |
|---|---|---|---|
| 1 | validator_hotkey | AccountId [u8; 32] | validator_hotkey (AccountId, hashed key component) (hex -> SS58) |
Stored Value
lifetime (TaoBalance)
Default Value
Absent keys read as this value — querying a key that has never been written returns this default, not an error or empty result.
Relationships
Modified By
Related Events
Code Examples
import { createClient, Binary } from "polkadot-api";
import { getWsProvider } from "polkadot-api/ws";
import { sub } from "@polkadot-api/descriptors"; // generated by: npx papi add sub -w wss://entrypoint-finney.opentensor.ai:443
const client = createClient(getWsProvider("wss://entrypoint-finney.opentensor.ai:443"));
const api = client.getTypedApi(sub);
// Query BasketDepositedTao storage
const validator_hotkey = "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY";
const result = await api.query.SubtensorModule.BasketDepositedTao.getValue(validator_hotkey);
console.log("BasketDepositedTao:", result);Runtime Info
View Source- Pallet
- SubtensorModule
- Storage Kind
- Map
- First Version
- v441
- Current Version
- v472