# Get Metagraph

Returns the latest subnet neuron state, including stake, incentives, emissions, trust and validator permits.

_Source: https://beta.taostats.io/docs/api-reference/metagraph/get-metagraph-latest_

_Last reviewed: 2026-09-18_

```http
GET https://api.taostats.io/api/metagraph/latest/v1
```

Requires an API key in the `Authorization` header.

Returns the latest subnet neuron state, including stake, incentives, emissions, trust and validator permits. Each Metagraph record identifies the neuron's UID, hotkey and coldkey at a block.

## Try it

Try this request in the browser on the HTML version of this page, or use the code samples below.

### Examples

Get the full current metagraph for subnet 19

```text
https://api.taostats.io/api/metagraph/latest/v1?netuid=19&limit=50
```

List only the validators (with permits) in subnet 19

```text
https://api.taostats.io/api/metagraph/latest/v1?netuid=19&validator_permit=true&order=stake_desc&limit=20
```

Rank subnet 19 neurons by emission, highest first

```text
https://api.taostats.io/api/metagraph/latest/v1?netuid=19&order=emission_desc&limit=10
```

### Code samples

**cURL**

```bash
curl -H "Authorization: <YOUR_API_KEY>" \
  "https://api.taostats.io/api/metagraph/latest/v1?netuid=19&limit=50"
```

**JavaScript**

```js
const response = await fetch('https://api.taostats.io/api/metagraph/latest/v1?netuid=19&limit=50', {
  headers: {
    Authorization: '<YOUR_API_KEY>',
  },
});
const data = await response.json();
```

**Python**

```python
import requests

response = requests.get(
    "https://api.taostats.io/api/metagraph/latest/v1?netuid=19&limit=50",
    headers={"Authorization": "<YOUR_API_KEY>"},
)
data = response.json()
```

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `netuid` | query | `integer (int32)` |  | Subnet ID |
| `search` | query | `string` |  | Search across UID, hotkey, coldkey, axon_ip |
| `uid` | query | `integer (int32)` |  | Neuron ID |
| `active` | query | `boolean` |  |  |
| `hotkey` | query | `string` |  | SS58 or hex format |
| `coldkey` | query | `string` |  | SS58 or hex format |
| `validator_permit` | query | `boolean` |  | Does the neuron have a validator permit? |
| `is_immunity_period` | query | `boolean` |  | In immunity? |
| `is_child_key` | query | `boolean` |  | Is parent hotkey |
| `page` | query | `integer (int32)` |  | The page number of the response. |
| `limit` | query | `integer (int32)` |  | The number of responses. max is 1024 |
| `order` | query | `string` |  | One of `updated_asc`, `updated_desc`, `uid_asc`, `uid_desc`, `stake_asc`, `stake_desc`, `trust_asc`, `trust_desc`, `validator_trust_asc`, `validator_trust_desc`, `consensus_asc`, `consensus_desc`, `incentive_asc`, `incentive_desc`, `dividends_asc`, `dividends_desc`, `emission_asc`, `emission_desc`, `active_asc`, `active_desc`, `hotkey_asc`, `hotkey_desc`, `coldkey_asc`, `coldkey_desc`, `validator_permit_asc`, `validator_permit_desc`, `axon_asc`, `axon_desc`, `daily_reward_asc`, `daily_reward_desc`, `registered_at_asc`, `registered_at_desc`, `is_immunity_period_asc`, `is_immunity_period_desc`, `total_alpha_stake_asc`, `total_alpha_stake_desc`. |

## Responses

### `200` — Metagraph retrieved successfully

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `data` | `array` | Yes |  |
| `data[].active` | `boolean` | Yes |  |
| `data[].alpha_stake` | `string` | Yes |  |
| `data[].axon` | `object, nullable` |  |  |
| `data[].block_number` | `integer (int32)` | Yes |  |
| `data[].coldkey` | `object` | Yes |  |
| `data[].coldkey.hex` | `string` | Yes | The hex format of the hot key |
| `data[].coldkey.ss58` | `string` | Yes | The SS58 format of the hot key |
| `data[].collateral` | `string, nullable` |  | Locked registration collateral remaining on this miner's position. Null before runtime 437 and while the subnet has collateral disabled. |
| `data[].consensus` | `string` | Yes |  |
| `data[].daily_burned_alpha` | `string, nullable` |  | mining emission burned by owner hotkey |
| `data[].daily_burned_alpha_as_tao` | `string, nullable` |  | mining emission burned by owner hotkey denominated in tao |
| `data[].daily_mining_alpha` | `string, nullable` |  | post dtao mining alpha |
| `data[].daily_mining_alpha_as_tao` | `string, nullable` |  | post dtao mining alpha denominated in tao |
| `data[].daily_mining_tao` | `string, nullable` |  | pre dtao mining emission |
| `data[].daily_owner_alpha` | `string, nullable` |  | owner cut of alpha emission |
| `data[].daily_owner_alpha_as_tao` | `string, nullable` |  | owner cut of alpha emission denominated in tao |
| `data[].daily_reward` | `string` | Yes | deprecated |
| `data[].daily_total_rewards_as_tao` | `string, nullable` |  | total rewards denominated in tao |
| `data[].daily_validating_alpha` | `string, nullable` |  | validating alpha emission |
| `data[].daily_validating_alpha_as_tao` | `string, nullable` |  | validating alpha emission denominated in tao |
| `data[].daily_validating_tao` | `string, nullable` |  | validating tao emission (post dtao this is root dividends, pre dtao this is all dividends) |
| `data[].dividends` | `string` | Yes |  |
| `data[].emission` | `string` | Yes |  |
| `data[].hotkey` | `object` | Yes |  |
| `data[].hotkey.hex` | `string` | Yes | The hex format of the hot key |
| `data[].hotkey.ss58` | `string` | Yes | The SS58 format of the hot key |
| `data[].incentive` | `string` | Yes |  |
| `data[].is_child_key` | `boolean` | Yes |  |
| `data[].is_immunity_period` | `boolean` | Yes |  |
| `data[].is_owner_hotkey` | `boolean, nullable` |  |  |
| `data[].mech_incentive` | `array` | Yes |  |
| `data[].mech_incentive[]` | `string` | Yes |  |
| `data[].mech_updated` | `array` | Yes |  |
| `data[].mech_updated[]` | `integer (int32)` | Yes |  |
| `data[].netuid` | `integer (int32)` | Yes |  |
| `data[].rank` | `integer (int32)` | Yes |  |
| `data[].registered_at_block` | `integer (int32)` | Yes |  |
| `data[].root_stake` | `string` | Yes |  |
| `data[].root_stake_as_alpha` | `string` | Yes |  |
| `data[].root_weight` | `string` | Yes |  |
| `data[].stake` | `string` | Yes |  |
| `data[].timestamp` | `string (date-time)` | Yes |  |
| `data[].total_alpha_stake` | `string` | Yes |  |
| `data[].trust` | `string` | Yes |  |
| `data[].uid` | `integer (int32)` | Yes |  |
| `data[].updated` | `integer (int32)` | Yes |  |
| `data[].validator_permit` | `boolean` | Yes |  |
| `data[].validator_trust` | `string` | Yes |  |
| `pagination` | `object` | Yes |  |
| `pagination.current_page` | `integer (int32)` | Yes |  |
| `pagination.next_page` | `integer (int32), nullable` |  |  |
| `pagination.per_page` | `integer (int32)` | Yes |  |
| `pagination.prev_page` | `integer (int32), nullable` |  |  |
| `pagination.total_items` | `integer (int32)` | Yes |  |
| `pagination.total_pages` | `integer (int32)` | Yes |  |

**Example response**

```json
{
  "data": [
    {
      "active": true,
      "axon": null,
      "block_number": 4336192,
      "coldkey": {
        "hex": "0xe2a8d08674697d6ee2ccec36f0e207653788275b619392256e509be04d32950d",
        "ss58": "5HBtpwxuGNL1gwzwomwR7sjwUt8WXYSuWcLYN6f9KpTZkP4k"
      },
      "consensus": "0",
      "daily_reward": "34131963840",
      "dividends": "0.12471198596169985504",
      "emission": "1706598192",
      "hotkey": {
        "hex": "0x84d83d08ca89f8e60424ffa286f165c16dd8752e4faa4d8977221e6720678d28",
        "ss58": "5F4tQyWrhfGVcNhoqeiNsR6KjD4wMZ2kfhLj4oHYuyHbZAc3"
      },
      "incentive": "0",
      "is_child_key": false,
      "is_immunity_period": false,
      "netuid": 19,
      "rank": 1,
      "registered_at_block": 2064863,
      "stake": "792325581164158",
      "timestamp": "2024-11-24T14:22:48Z",
      "trust": "0",
      "uid": 140,
      "updated": 40,
      "validator_permit": true,
      "validator_trust": "0.86720073243305104143"
    },
    {
      "active": true,
      "axon": null,
      "block_number": 4336192,
      "coldkey": {
        "hex": "0x0c9c8ec969246de9771893dd7e89e5e70483e860c45359b3223cd01d598f0c7d",
        "ss58": "5CMEwRYLefRmtJg7zzRyJtcXrQqmspr9B1r1nKySDReA37Z1"
      },
      "consensus": "0",
      "daily_reward": "30840470980",
      "dividends": "0.11268787670710307469",
      "emission": "1542023549",
      "hotkey": {
        "hex": "0x82cca2238d379e49d84e9e1b8df35dd496d6a8b4ca4f511ac9e38fa04d42f86b",
        "ss58": "5F2CsUDVbRbVMXTh9fAzF9GacjVX7UapvRxidrxe7z8BYckQ"
      },
      "incentive": "0",
      "is_child_key": true,
      "is_immunity_period": false,
      "netuid": 19,
      "rank": 2,
      "registered_at_block": 1977986,
      "stake": "648023371821209",
      "timestamp": "2024-11-24T14:22:48Z",
      "trust": "0",
      "uid": 117,
      "updated": 111,
      "validator_permit": true,
      "validator_trust": "0.87295338368810559243"
    }
  ],
  "pagination": {
    "current_page": 1,
    "next_page": null,
    "per_page": 1024,
    "prev_page": null,
    "total_items": 256,
    "total_pages": 1
  }
}
```

**Response details**

```text
{
      "hotkey": {
        "ss58": "5CAQhe9pWMe9anWX9qbK6Z9RydRth7S6WDopapSr6uShGum5",
        "hex": "0x0459b8ac46933d4cbbd4f0b36934704e7a726851b359ca2ee8d5e704a8896e02"
      },
      "coldkey": {
        "ss58": "5F4kLq8YVzHYj8uv41BUB9ocqTGxAJECeDbYfcqJFKqAhSMj",
        "hex": "0x84bd11456ecf5f3abcfc983232f3fb2d97bcd2cf05657852774d15a1cea2f366"
      },
      "netuid": 19,
      "uid": 142, neuron id
      "block_number": 5453670,
      "timestamp": "2025-04-28T23:27:36Z",
      "stake": "0", not used
      "trust": "0", trust of neuron
      "validator_trust": "0.98783855954833295186", neuron vtrust
      "consensus": "0", neuron consensus
      "incentive": "0", neuron incentive
      "dividends": "0.25934233615625238422", neuron dividends
      "emission": "38386670943", neuron emission in rao per epoch
      "active": true, 
      "validator_permit": true,
      "updated": 71,
      "daily_reward": "767733418860", daily reward in rao
      "registered_at_block": 4112860,
      "is_immunity_period": false,
      "rank": 1,
      "is_child_key": true,
      "axon": null,
      "root_weight": "0.17999999999999999996",
      "alpha_stake": "192498557725397", alpha stake as rao
      "root_stake": "1209153325609965", root stake as rao
      "root_stake_as_alpha": "217647598609794.74000000000000", weighted root stake as rao
      "total_alpha_stake": "410146156335191.74000000000000" total alpha stake as rao
    },
```

### Other responses

| Status | Meaning |
| --- | --- |
| `400` | Bad request |
| `404` | Metagraph not found |
| `500` | Internal server error |

Every request needs an `Authorization` header holding your API key — see [Getting started with the Taostats API](https://beta.taostats.io/docs/start-here/getting-started-with-taostats-api).
