# subnet-emission-weights (/docs/query/subnet-emission-weights)

miner]\` with the bounds that apply to it, or None if the subnet does not
exist (the root subnet has no vector).

Pair with the `set_subnet_emission_weights` intent: `min_validator`
and `created_via_lease` are the per-subnet inputs the chain uses to
accept or reject a change (`min_validator` moves with root stake, alpha
issuance and the global TAO weight, so it is a snapshot of this block).

**Category:** Subnets

## Parameters [#parameters]

| Parameter | Type    | Description                                  |
| --------- | ------- | -------------------------------------------- |
| `netuid`  | integer | Subnet whose emission weight vector to read. |

## CLI [#cli]

```bash
btcli query subnet-emission-weights --netuid <integer> --json
```

## Python [#python]

Namespace method (autocomplete, signature help):

```python
import bittensor as bt

sub = bt.Subtensor()
result = sub.subnets.subnet_emission_weights(netuid=1)
```

Or dispatch by name, as an agent would:

```python
result = sub.read("subnet_emission_weights", netuid=1)
```

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

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

* Storage [`SubtensorModule.LastRateLimitedBlock`](/code/pallets/subtensor/src/lib.rs#L2367)
* Runtime API [`SubnetInfoRuntimeApi.get_subnet_emission_weights`](/code/pallets/subtensor/src/subnets/emission_weights.rs#L260-L267)

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