# Get Parent/Child Hotkey History

Returns historical parent and child hotkey relationships and family stake totals within subnets.

_Source: https://beta.taostats.io/docs/api-reference/hotkey/get-hotkey-family-history_

_Last reviewed: 2026-09-18_

```http
GET https://api.taostats.io/api/hotkey/family/history/v1
```

Requires an API key in the `Authorization` header.

Returns historical parent and child hotkey relationships and family stake totals within subnets. Records include Root and Alpha stake, delegation proportions and take values.

## Try it

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

### Examples

Track how a hotkey's parent/child relationships changed over time

```text
https://api.taostats.io/api/hotkey/family/history/v1?hotkey=5GKH9FPPnWSUoeeTJp19wVtd84XqFW4pyK2ijV2GsFbhTrP1&netuid=19&limit=50
```

### Code samples

**cURL**

```bash
curl -H "Authorization: <YOUR_API_KEY>" \
  "https://api.taostats.io/api/hotkey/family/history/v1?hotkey=5GKH9FPPnWSUoeeTJp19wVtd84XqFW4pyK2ijV2GsFbhTrP1&netuid=19&limit=50"
```

**JavaScript**

```js
const response = await fetch('https://api.taostats.io/api/hotkey/family/history/v1?hotkey=5GKH9FPPnWSUoeeTJp19wVtd84XqFW4pyK2ijV2GsFbhTrP1&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/hotkey/family/history/v1?hotkey=5GKH9FPPnWSUoeeTJp19wVtd84XqFW4pyK2ijV2GsFbhTrP1&netuid=19&limit=50",
    headers={"Authorization": "<YOUR_API_KEY>"},
)
data = response.json()
```

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `hotkey` | query | `string` |  | SS58 or hex formatted public key |
| `netuid` | query | `integer (int32)` |  | Subnet ID |
| `block_number` | query | `integer (int32)` |  | The exact block number |
| `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`, `netuid_asc`, `netuid_desc`. |

## Responses

### `200` — Hotkey family history retrieved successfully

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `data` | `array` | Yes |  |
| `data[].alpha_stake` | `string` | Yes |  |
| `data[].block_number` | `integer (int32)` | Yes |  |
| `data[].childkey_take` | `string` | Yes |  |
| `data[].children` | `array` | Yes |  |
| `data[].children[].alpha_stake` | `string` | Yes |  |
| `data[].children[].childkey_take` | `string` | Yes |  |
| `data[].children[].coldkey` | `object` | Yes |  |
| `data[].children[].coldkey.hex` | `string` | Yes | The hex format of the hot key |
| `data[].children[].coldkey.ss58` | `string` | Yes | The SS58 format of the hot key |
| `data[].children[].family_alpha_stake` | `string` | Yes |  |
| `data[].children[].family_root_stake` | `string` | Yes |  |
| `data[].children[].family_root_stake_as_alpha` | `string` | Yes |  |
| `data[].children[].family_stake` | `string` | Yes | Total stake including parent/child relationships |
| `data[].children[].family_total_alpha_stake` | `string` | Yes |  |
| `data[].children[].hotkey` | `object` | Yes |  |
| `data[].children[].hotkey.hex` | `string` | Yes | The hex format of the hot key |
| `data[].children[].hotkey.ss58` | `string` | Yes | The SS58 format of the hot key |
| `data[].children[].proportion` | `string` | Yes | The proportion of the stake given to the child |
| `data[].children[].proportion_alpha_stake` | `string` | Yes |  |
| `data[].children[].proportion_root_stake` | `string` | Yes |  |
| `data[].children[].proportion_root_stake_as_alpha` | `string` | Yes |  |
| `data[].children[].proportion_staked` | `string` | Yes | The stake given to the child |
| `data[].children[].proportion_total_alpha_stake` | `string` | Yes |  |
| `data[].children[].root_stake` | `string` | Yes |  |
| `data[].children[].root_stake_as_alpha` | `string` | Yes |  |
| `data[].children[].root_weight` | `string` | Yes |  |
| `data[].children[].stake` | `string` | Yes | Total stake excluding parent/child relationships |
| `data[].children[].take` | `string` | Yes |  |
| `data[].children[].total_alpha_stake` | `string` | 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[].family_alpha_stake` | `string` | Yes |  |
| `data[].family_root_stake` | `string` | Yes |  |
| `data[].family_root_stake_as_alpha` | `string` | Yes |  |
| `data[].family_stake` | `string` | Yes | Total stake including parent/child relationships |
| `data[].family_total_alpha_stake` | `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[].netuid` | `integer (int32)` | Yes | The subnet ID |
| `data[].parents` | `array` | Yes |  |
| `data[].parents[].alpha_stake` | `string` | Yes |  |
| `data[].parents[].childkey_take` | `string` | Yes |  |
| `data[].parents[].coldkey` | `object` | Yes |  |
| `data[].parents[].coldkey.hex` | `string` | Yes | The hex format of the hot key |
| `data[].parents[].coldkey.ss58` | `string` | Yes | The SS58 format of the hot key |
| `data[].parents[].family_alpha_stake` | `string` | Yes |  |
| `data[].parents[].family_root_stake` | `string` | Yes |  |
| `data[].parents[].family_root_stake_as_alpha` | `string` | Yes |  |
| `data[].parents[].family_stake` | `string` | Yes | Total stake including parent/child relationships |
| `data[].parents[].family_total_alpha_stake` | `string` | Yes |  |
| `data[].parents[].hotkey` | `object` | Yes |  |
| `data[].parents[].hotkey.hex` | `string` | Yes | The hex format of the hot key |
| `data[].parents[].hotkey.ss58` | `string` | Yes | The SS58 format of the hot key |
| `data[].parents[].proportion` | `string` | Yes | The proportion of the stake given to the child |
| `data[].parents[].proportion_alpha_stake` | `string` | Yes |  |
| `data[].parents[].proportion_root_stake` | `string` | Yes |  |
| `data[].parents[].proportion_root_stake_as_alpha` | `string` | Yes |  |
| `data[].parents[].proportion_staked` | `string` | Yes | The stake given to the child |
| `data[].parents[].proportion_total_alpha_stake` | `string` | Yes |  |
| `data[].parents[].root_stake` | `string` | Yes |  |
| `data[].parents[].root_stake_as_alpha` | `string` | Yes |  |
| `data[].parents[].root_weight` | `string` | Yes |  |
| `data[].parents[].stake` | `string` | Yes | Total stake excluding parent/child relationships |
| `data[].parents[].take` | `string` | Yes |  |
| `data[].parents[].total_alpha_stake` | `string` | Yes |  |
| `data[].root_stake` | `string` | Yes |  |
| `data[].root_stake_as_alpha` | `string` | Yes |  |
| `data[].root_weight` | `string` | Yes |  |
| `data[].stake` | `string` | Yes | Total stake excluding parent/child relationships |
| `data[].take` | `string` | Yes |  |
| `data[].timestamp` | `string (date-time)` | Yes |  |
| `data[].total_alpha_stake` | `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": false,
      "axon_info": null,
      "block_number": 4107528,
      "coldkey": {
        "hex": "0xc8c348f4594ec3ff5ecd1dddb5bdea346c6139c01e525b65c1b1437a40f4061d",
        "ss58": "5GbwSp7m4AF1hYpoXtkwaveDjuNHifHJbktfW2UkQfVVenLg"
      },
      "consensus": "0.1816281376363775082",
      "daily_reward": "9057987420",
      "dividends": "0",
      "emission": "452899371",
      "hotkey": {
        "hex": "0x84b58d8a47c3f75b38416776042702e6f7b4bdecd102df0cf2ef686d4ac5ce67",
        "ss58": "5F4i7Mh2FtxyP4cKMkQ4cExRZL6JuJ5t3JMgsybqFF8z9VrH"
      },
      "incentive": "0.21431296253910124361",
      "is_immunity_period": false,
      "netuid": 21,
      "rank": 0,
      "registered_block_number": 3963260,
      "stake": "0",
      "timestamp": "2024-10-23T17:31:12.010Z",
      "trust": "0.89900053406576638437",
      "uid": 88,
      "updated": 707588,
      "validator_permit": false,
      "validator_trust": "0"
    },
    {
      "active": false,
      "axon_info": {
        "block": 3868571,
        "ip": "54.189.14.49",
        "ipType": 4,
        "placeholder1": 0,
        "placeholder2": 0,
        "port": 8905,
        "protocol": 4,
        "version": 712
      },
      "block_number": 4107528,
      "coldkey": {
        "hex": "0x34c5005b9afc66842f9c5d268ebc858ad7ceda368240f482125f698811377960",
        "ss58": "5DFtsLukQEb3jB4TRC74FtAkQiRPBjcNoe8j6Kp1S792qNzX"
      },
      "consensus": "0.00088502327000839246",
      "daily_reward": "111829018.18181818181818181818",
      "dividends": "0",
      "emission": "1537649",
      "hotkey": {
        "hex": "0xe83f9f9c942710a844087cd44c86e5a073d155ab827775cf8089f2c58fdbcc19",
        "ss58": "5HKDsDGrjqGUaJBtD8Chrkxj3FU4p2pd1Wzj7Asoibogi5dc"
      },
      "incentive": "0.00091554131380178531",
      "is_immunity_period": true,
      "netuid": 1,
      "rank": 572,
      "registered_block_number": 4101001,
      "stake": "155764371",
      "timestamp": "2024-10-23T17:31:12.010Z",
      "trust": "0.90577553978789959564",
      "uid": 405,
      "updated": 1564760,
      "validator_permit": false,
      "validator_trust": "0"
    }
  ],
  "pagination": {
    "current_page": 1,
    "next_page": 2,
    "per_page": 50,
    "prev_page": null,
    "total_items": 5020104,
    "total_pages": 100403
  }
}
```

**Response details**

```text
 {
      "hotkey": {
        "ss58": "5F2CsUDVbRbVMXTh9fAzF9GacjVX7UapvRxidrxe7z8BYckQ",
        "hex": "0x82cca2238d379e49d84e9e1b8df35dd496d6a8b4ca4f511ac9e38fa04d42f86b"
      },
      "coldkey": {
        "ss58": "5CMEwRYLefRmtJg7zzRyJtcXrQqmspr9B1r1nKySDReA37Z1",
        "hex": "0x0c9c8ec969246de9771893dd7e89e5e70483e860c45359b3223cd01d598f0c7d"
      },
      "block_number": 5454180,
      "timestamp": "2025-04-29T01:09:36Z",
      "netuid": 1,
      "stake": "0",
      "family_stake": "0",
      "take": "0.08999771114671549554",
      "childkey_take": "0.08999771114671549554",
      "children": [],
      "parents": [
        {
          "hotkey": {
            "ss58": "5FFM6Nvvm78GqyMratgXXvjbqZPi7SHgSQ81nyS96jBuUWgt",
            "hex": "0x8cd280d43e4cf6501ae3b425583975ff63ce4d7470cf518074b5903ff375600e"
          },
          "coldkey": {
            "ss58": "5GyAMYSxde6x5hG8AHksoPHZZeum8GXk8sXisgADNn6CSi7Y",
            "hex": "0xd8f2e4fd7f807350f5188664c1831fa3d6872af51fdb660876af0eeea7a9aa55"
          },
          "stake": "0",
          "family_stake": "0",
          "take": "0.17999542229343099107",
          "childkey_take": "0",
          "proportion": "1",
          "proportion_staked": "0",
          "root_weight": "0.17999999999999999996",
          "root_stake": "34905835585091",
          "alpha_stake": "56454414461",
          "root_stake_as_alpha": "6283050405316.3799986037665766",
          "total_alpha_stake": "6339504819777.3799986037665766",
          "family_root_stake": "0",
          "family_alpha_stake": "0",
          "family_root_stake_as_alpha": "0.37999860376657659636",
          "family_total_alpha_stake": "0.37999860376657659636",
          "proportion_root_stake": "34905835585091",
          "proportion_alpha_stake": "56454414461",
          "proportion_root_stake_as_alpha": "6283050405316",
          "proportion_total_alpha_stake": "6339504819777"
        },
        {
          "hotkey": {
            "ss58": "5F27Eqz2PhyMtGMEce898x31DokNqRVxkm5AhDDe6rDGNvoY",
            "hex": "0x82b9ad19799ddb1bf0c237ee5f0c4726d5c2ad27d71d2c276ee20d31b5391c37"
          },
          "coldkey": {
            "ss58": "5GYXZBZoFA74nzAGg4R9omd2SfCDHiGufETtrLso6BRzv2p4",
            "hex": "0xc6292094723749e68a8a8adbb40029a94e18e704c44b9f2400d50f6f3d496f7b"
          },
          "stake": "0",
          "family_stake": "0",
          "take": "0.17999542229343099107",
          "childkey_take": "0",
          "proportion": "1",
          "proportion_staked": "0",
          "root_weight": "0.17999999999999999996",
          "root_stake": "29004429387691",
          "alpha_stake": "123211789161",
          "root_stake_as_alpha": "5220797289784.3799988398228245",
          "total_alpha_stake": "5344009078945.3799988398228245",
          "family_root_stake": "0",
          "family_alpha_stake": "0",
          "family_root_stake_as_alpha": "0.37999883982282449236",
          "family_total_alpha_stake": "0.37999883982282449236",
          "proportion_root_stake": "29004429387691",
          "proportion_alpha_stake": "123211789161",
          "proportion_root_stake_as_alpha": "5220797289784",
          "proportion_total_alpha_stake": "5344009078945"
        },
        {
          "hotkey": {
            "ss58": "5H66JLTYFWaHDtBtScE4X9f5WDjrBS1iGeXeRykPuH3SMyNh",
            "hex": "0xde3bf6047f6ee3cf426eded6fc9defe563c4d3429b5fdb6cda4127d24cf7742c"
          },
          "coldkey": {
            "ss58": "5C8JS6BJ2SqbwxvxtmZ9HWQ6wqPSNpxoKYpVS87bCnD4rcWk",
            "hex": "0x02be21535cb9b0b3a3e86c9cdb923cf87ef18caed5a754db42d9ca49e5e12729"
          },
          "stake": "0",
          "family_stake": "0",
          "take": "0.17999542229343099107",
          "childkey_take": "0",
          "proportion": "1",
          "proportion_staked": "0",
          "root_weight": "0.17999999999999999996",
          "root_stake": "717552",
          "alpha_stake": "91191378794",
          "root_stake_as_alpha": "129159.35999999999997129792",
          "total_alpha_stake": "91191507953.35999999999997130",
          "family_root_stake": "0",
          "family_alpha_stake": "0",
          "family_root_stake_as_alpha": "0.35999999999997129792",
          "family_total_alpha_stake": "0.35999999999997129792",
          "proportion_root_stake": "717552",
          "proportion_alpha_stake": "91191378794",
          "proportion_root_stake_as_alpha": "129159",
          "proportion_total_alpha_stake": "91191507953"
        }
      ],
      "root_weight": "0.17999999999999999996",
      "root_stake": "162117222637484",
      "alpha_stake": "15770304489972",
      "root_stake_as_alpha": "29181100074747.119993515311094",
      "total_alpha_stake": "44951404564719.119993515311094",
      "family_root_stake": "226027488327818",
      "family_alpha_stake": "16041162072388",
      "family_root_stake_as_alpha": "40684947899006.119993515311094",
      "family_total_alpha_stake": "56726109971394.119993515311094"
    },
```

### Other responses

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