# root-baskets (/docs/query/root-baskets)

The network-wide leaderboard: one `validator_basket_summary` record per
validator with an active fund, sorted by NAV descending, each including
its `basket_rate` (the cumulative entitlement accumulator: β raw units
minted per rao of root stake, migration-seeded history included).
Compare `lifetime_return` across validators to rank basket performance;
for staker returns use `chain_pricing` (`staker_twr` / `stake_price`).

**Category:** Staking

## Parameters [#parameters]

This read takes no parameters.

## CLI [#cli]

```bash
btcli query root-baskets --json
```

## Python [#python]

Namespace method (autocomplete, signature help):

```python
import bittensor as bt

sub = bt.Subtensor()
result = sub.staking.root_baskets()
```

Or dispatch by name, as an agent would:

```python
result = sub.read("root_baskets")
```

Async is the same surface awaited: `async with bt.Subtensor() as client:`.

## On-chain implementation [#on-chain-implementation]

* Storage [`SubtensorModule.BasketRate`](/code/pallets/subtensor/src/lib.rs#L3017)
* Runtime API [`BetaBasketRuntimeApi.get_all_validator_baskets`](/code/pallets/subtensor/src/rpc_info/basket_info.rs#L212-L216)

Every file is browsable under [/code](/code) exactly as built into the runtime.
