# Get Historical Stake

Returns historical stake balances for coldkey and hotkey pairs in the legacy stake-balance format.

_Source: https://taostats.io/docs/api-reference/stake-balance/get-stake-balance-history-v1_

_Last reviewed: 2026-10-12_

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

Requires an API key in the `Authorization` header.

> [!WARNING]
> **This API is retired on November 9, 2026**
>
> Every endpoint in this reference — every path that starts with `/api/` — stops working on **November 9, 2026**. The [new Taostats API](https://taostats.io/docs/new) replaces it: same key, new paths under `https://api.taostats.io/v1/`. Move your integration to the [new API reference](https://taostats.io/docs/new) before then.

Returns historical stake balances for coldkey and hotkey pairs in the legacy stake-balance format. Records include the stake amount and the block and timestamp when the position was created.

## Try it

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

### Code samples

**cURL**

```bash
curl -H "Authorization: <YOUR_API_KEY>" \
  "https://api.taostats.io/api/stake_balance/history/v1"
```

**JavaScript**

```js
const response = await fetch('https://api.taostats.io/api/stake_balance/history/v1', {
  headers: {
    Authorization: '<YOUR_API_KEY>',
  },
});
const data = await response.json();
```

**Python**

```python
import requests

response = requests.get(
    "https://api.taostats.io/api/stake_balance/history/v1",
    headers={"Authorization": "<YOUR_API_KEY>"},
)
data = response.json()
```

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `coldkey` | query | `string` | Yes | SS58 or hex format |
| `hotkey` | query | `string` | Yes | 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` — Stake balances 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[].created_at_block_number` | `integer (int32)` | Yes |  |
| `data[].created_at_timestamp` | `string (date-time)` | 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[].hotkey_name` | `string, nullable` |  |  |
| `data[].stake` | `string` | Yes |  |
| `data[].timestamp` | `string (date-time)` | 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": 4468656,
      "coldkey": {
        "hex": "0xf58571dff28e0f063782249d1f95bb806edaf2446c925abbf0e0a1b31eed41c6",
        "ss58": "5HcdEK15LsPdGArq4pZVM6W3AXQ6CD3zquB5gXswTFMXpoou"
      },
      "created_at_block_number": 4459783,
      "created_at_timestamp": "2024-12-11T18:25:12.001Z",
      "hotkey": {
        "hex": "0xbc0e6b701243978c1fe73d721c7b157943a713fca9f3c88cad7a9f7799bc6b26",
        "ss58": "5GKH9FPPnWSUoeeTJp19wVtd84XqFW4pyK2ijV2GsFbhTrP1"
      },
      "hotkey_name": "Taostats & Corcel",
      "stake": "134305000000",
      "timestamp": "2024-12-12T23:59:48Z"
    },
    {
      "block_number": 4461456,
      "coldkey": {
        "hex": "0xf58571dff28e0f063782249d1f95bb806edaf2446c925abbf0e0a1b31eed41c6",
        "ss58": "5HcdEK15LsPdGArq4pZVM6W3AXQ6CD3zquB5gXswTFMXpoou"
      },
      "created_at_block_number": 4459783,
      "created_at_timestamp": "2024-12-11T18:25:12.001Z",
      "hotkey": {
        "hex": "0xbc0e6b701243978c1fe73d721c7b157943a713fca9f3c88cad7a9f7799bc6b26",
        "ss58": "5GKH9FPPnWSUoeeTJp19wVtd84XqFW4pyK2ijV2GsFbhTrP1"
      },
      "hotkey_name": "Taostats & Corcel",
      "stake": "134305000000",
      "timestamp": "2024-12-11T23:59:48Z"
    }
  ],
  "pagination": {
    "current_page": 1,
    "next_page": null,
    "per_page": 50,
    "prev_page": null,
    "total_items": 6,
    "total_pages": 1
  }
}
```

### Other responses

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

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