# Get Root Subnet History

Returns historical Root Metagraph snapshots, including neuron stake, consensus and subnet weights.

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

_Last reviewed: 2026-09-18_

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

Requires an API key in the `Authorization` header.

Returns historical Root Metagraph snapshots, including neuron stake, consensus and subnet weights. Records identify each Root neuron by UID, hotkey and coldkey.

## Try it

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

### Examples

Track the root subnet metagraph for a hotkey over time

```text
https://api.taostats.io/api/metagraph/root/history/v1?hotkey=5GKH9FPPnWSUoeeTJp19wVtd84XqFW4pyK2ijV2GsFbhTrP1&order=block_number_desc&limit=100
```

### Code samples

**cURL**

```bash
curl -H "Authorization: <YOUR_API_KEY>" \
  "https://api.taostats.io/api/metagraph/root/history/v1?hotkey=5GKH9FPPnWSUoeeTJp19wVtd84XqFW4pyK2ijV2GsFbhTrP1&limit=100&order=block_number_desc"
```

**JavaScript**

```js
const response = await fetch('https://api.taostats.io/api/metagraph/root/history/v1?hotkey=5GKH9FPPnWSUoeeTJp19wVtd84XqFW4pyK2ijV2GsFbhTrP1&limit=100&order=block_number_desc', {
  headers: {
    Authorization: '<YOUR_API_KEY>',
  },
});
const data = await response.json();
```

**Python**

```python
import requests

response = requests.get(
    "https://api.taostats.io/api/metagraph/root/history/v1?hotkey=5GKH9FPPnWSUoeeTJp19wVtd84XqFW4pyK2ijV2GsFbhTrP1&limit=100&order=block_number_desc",
    headers={"Authorization": "<YOUR_API_KEY>"},
)
data = response.json()
```

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `hotkey` | query | `string` |  | SS58 or hex format |
| `block_start` | query | `integer (int32)` |  | Start of block range (inclusive) |
| `block_end` | query | `integer (int32)` |  | End of block range (inclusive) |
| `timestamp_start` | query | `integer (int64)` |  | Start of timestamp range in Unix timestamp (seconds since 1970-01-01) (inclusive) |
| `timestamp_end` | query | `integer (int64)` |  | End of timestamp range in Unix timestamp (seconds since 1970-01-01) (inclusive) |
| `page` | query | `integer (int32)` |  | The page number of the response. |
| `limit` | query | `integer (int32)` |  | The number of responses. max is 200, |
| `order` | query | `string` |  | One of `block_number_asc`, `block_number_desc`, `timestamp_asc`, `timestamp_desc`. |

## Responses

### `200` — Metagraph history retrieved successfully

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `data` | `array` | Yes |  |
| `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[].consensus` | `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[].pruning_score` | `string` | Yes |  |
| `data[].rank` | `string` | Yes |  |
| `data[].senator` | `boolean` | Yes |  |
| `data[].stake` | `string` | Yes |  |
| `data[].subnet_weights` | `object` | Yes |  |
| `data[].timestamp` | `string (date-time)` | Yes |  |
| `data[].uid` | `integer (int32)` | 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": [
    {
      "block_number": 4336135,
      "coldkey": {
        "hex": "0x0c9c8ec969246de9771893dd7e89e5e70483e860c45359b3223cd01d598f0c7d",
        "ss58": "5CMEwRYLefRmtJg7zzRyJtcXrQqmspr9B1r1nKySDReA37Z1"
      },
      "consensus": "0.00738536659800106813",
      "hotkey": {
        "hex": "0x82cca2238d379e49d84e9e1b8df35dd496d6a8b4ca4f511ac9e38fa04d42f86b",
        "ss58": "5F2CsUDVbRbVMXTh9fAzF9GacjVX7UapvRxidrxe7z8BYckQ"
      },
      "pruning_score": "0.02160677500572213321",
      "rank": "0.00901808194094758526",
      "senator": false,
      "stake": "84170506936415",
      "subnet_weights": {
        "0": "0",
        "1": "3.0000",
        "2": "2.0000",
        "3": "0",
        "4": "4.0000",
        "5": "3.0000",
        "6": "2.0000",
        "7": "3.0000",
        "8": "3.0000",
        "9": "1.0000",
        "10": "3.0000",
        "11": "2.0000",
        "12": "3.0000",
        "13": "2.0000",
        "14": "2.0000",
        "15": "1.0000",
        "16": "2.0000",
        "17": "3.0000",
        "18": "3.0000",
        "19": "3.0000",
        "20": "5.0000",
        "21": "1.0000",
        "22": "1.0000",
        "23": "3.0000",
        "24": "3.0000",
        "25": "2.0000",
        "26": "2.0000",
        "27": "3.0000",
        "28": "3.0000",
        "29": "1.0000",
        "30": "2.0000",
        "31": "2.0000",
        "32": "3.0000",
        "33": "2.0000",
        "34": "1.0000",
        "35": "1.0000",
        "36": "1.0000",
        "37": "1.0000",
        "38": "1.0000",
        "39": "1.0000",
        "40": "1.0000",
        "41": "1.0000",
        "42": "0",
        "43": "1.0000",
        "44": "1.0000",
        "45": "4.0000",
        "46": "1.0000",
        "47": "1.0000",
        "48": "1.0000",
        "49": "1.0000",
        "50": "1.0000",
        "51": "1.0000",
        "52": "1.0000",
        "53": "1.0000",
        "54": "0",
        "55": "0",
        "56": "0"
      },
      "timestamp": "2024-11-24T14:11:24Z",
      "uid": 5
    },
    {
      "block_number": 4336135,
      "coldkey": {
        "hex": "0x04c04d0aab0229a3e43fb5b00680932d53dee07d2756519fd72b2a81e6759163",
        "ss58": "5CAwB3dSiMC5jJfpvVU47zT3Gyz5ZDoiyHMaYZUuNs5hFh2P"
      },
      "consensus": "0.09689478904402227817",
      "hotkey": {
        "hex": "0xe824c935940357af73c961bdd7387e1ab821ec2939ecd19daafe6081ae9ae674",
        "ss58": "5HK5tp6t2S59DywmHRWPBVJeJ86T61KjurYqeooqj8sREpeN"
      },
      "pruning_score": "0.3438315403982604715",
      "rank": "0.14354161898222323949",
      "senator": true,
      "stake": "299543519846094",
      "subnet_weights": {
        "0": "0",
        "1": "5.0000",
        "2": "0.5000",
        "3": "0",
        "4": "5.0000",
        "5": "0.5000",
        "6": "2.0000",
        "7": "1.0000",
        "8": "2.0000",
        "9": "5.0000",
        "10": "1.5000",
        "11": "4.0000",
        "12": "3.5000",
        "13": "5.0000",
        "14": "0",
        "15": "0",
        "16": "0.5000",
        "17": "2.0000",
        "18": "2.0000",
        "19": "5.0000",
        "20": "3.0000",
        "21": "5.5000",
        "22": "0",
        "23": "1.0000",
        "24": "5.5000",
        "25": "5.0000",
        "26": "1.0000",
        "27": "1.0000",
        "28": "0.5000",
        "29": "2.0000",
        "30": "1.0000",
        "31": "2.0000",
        "32": "2.0000",
        "33": "5.0000",
        "34": "2.0000",
        "35": "1.0000",
        "36": "2.0000",
        "37": "2.0000",
        "38": "0",
        "39": "3.0000",
        "40": "1.0000",
        "41": "1.0000",
        "42": "0",
        "43": "2.0000",
        "44": "1.0000",
        "45": "3.0000",
        "46": "0",
        "47": "1.0000",
        "48": "0",
        "49": "0",
        "50": "0",
        "51": "1.0000",
        "52": "1.0000",
        "53": "0",
        "54": "0",
        "55": "0",
        "56": "0"
      },
      "timestamp": "2024-11-24T14:11:24Z",
      "uid": 4
    }
  ],
  "pagination": {
    "current_page": 1,
    "next_page": 2,
    "per_page": 64,
    "prev_page": null,
    "total_items": 26741,
    "total_pages": 418
  }
}
```

**Response details**

```text
 {
      "hotkey": {
        "ss58": "5FcXnzNo3mrqReTEY4ftkg5iXRBi61iyvM4W1bywZLRqfxAY",
        "hex": "0x9cfaad41f06ee5e2219c74c57e1107ea113f2e09ce355522b291cbceb222df69"
      },
      "coldkey": {
        "ss58": "5HeQuPVRSZVE3LWdKx9q6upyCi53TjQ4a2S8mnJ5emyWFf5b",
        "hex": "0xf6e27117cf7563a38148658fecdea207fad57139698cfcd66b47b25b19d24917"
      },
      "uid": 43,
      "block_number": 5453684,
      "timestamp": "2025-04-28T23:30:24Z",
      "stake": "0",
      "consensus": "0.00459296559090562295",
      "senator": false,
      "rank": "0.00576791027695124743",
      "pruning_score": "0.01383993286030365454",
      "subnet_weights": { no longer used
        "0": "0",
        "1": "0",
        "2": "0.0000",
        "3": "0.0000",
        "4": "16.6667",
        "5": "16.6667",
        "6": "0",
        "7": "0.0000",
        "8": "16.6667",
        "9": "16.6667",
        "10": "0.0000",
        "11": "0",
        "12": "0",
        "13": "0",
        "14": "0",
        "15": "0",
        "16": "0",
        "17": "0",
        "18": "16.6667",
        "19": "0",
        "20": "0",
        "21": "0",
        "22": "0",
        "23": "0",
        "24": "0",
        "25": "0",
        "26": "0",
        "27": "16.6667",
        "28": "0",
        "29": "0",
        "30": "0",
        "31": "0",
        "32": "0",
        "33": "0",
        "34": "0",
        "35": "0",
        "36": "0",
        "37": "0",
        "38": "0",
        "39": "0",
        "40": "0",
        "41": "0",
        "42": "0",
        "43": "0",
        "44": "0",
        "45": "0",
        "46": "0",
        "47": "0",
        "48": "0",
        "49": "0",
        "50": "0",
        "51": "0",
        "52": "0",
        "53": "0",
        "54": "0",
        "55": "0",
        "56": "0",
        "57": "0",
        "58": "0",
        "59": "0",
        "60": "0",
        "61": "0",
        "62": "0",
        "63": "0",
        "64": "0",
        "65": "0",
        "66": "0",
        "67": "0",
        "68": "0",
        "69": "0",
        "70": "0",
        "71": "0",
        "72": "0",
        "73": "0",
        "74": "0",
        "75": "0",
        "76": "0",
        "77": "0",
        "78": "0",
        "79": "0",
        "80": "0",
        "81": "0",
        "82": "0",
        "83": "0",
        "84": "0",
        "85": "0",
        "86": "0",
        "87": "0",
        "88": "0",
        "89": "0",
        "90": "0",
        "91": "0",
        "92": "0",
        "93": "0",
        "94": "0",
        "95": "0",
        "96": "0",
        "97": "0",
        "98": "0",
        "99": "0"
      }
    },
```

### Other responses

| Status | Meaning |
| --- | --- |
| `400` | Bad request |
| `404` | Metagraph history 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).
