# Get Subnets Burns Daily

The chain's cumulative burn counter turned into one bar per UTC day for one subnet.

_Source: https://beta.taostats.io/docs/new/subnets/get-subnets-burns-daily_

_Last reviewed: 2026-10-07_

```http
GET https://api.taostats.io/v1/subnets/burns/daily
```

Requires an API key in the `Authorization` header.

The chain's cumulative burn counter turned into one bar per UTC day for one subnet.

## 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/v1/subnets/burns/daily"
```

**JavaScript**

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

**Python**

```python
import requests

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

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `netuid` | query | `integer (int32)` | Yes | Subnet ID. Required — the series is per subnet. |
| `days` | query | `integer (int32)` |  | How many whole UTC days to return, ending today. Default 30, max 36,500. |

## Responses

### `200` — Alpha burned per UTC day for one subnet

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `data` | `array` | Yes |  |
| `data[].amount` | `string, nullable` | Yes | Alpha burned **during** this UTC day (RAO, u64 as a decimal string). **`null` means "not knowable", never "nothing was burned".** It is null in exactly four cases, all of them real: the previous day has no row, so there is nothing to difference against; the counter *fell*, which is the chain clearing it at the end of a subnet generation; the day contains the spec-446 rebase; or the subnet was registered between the two days' sampled blocks, which restarts the counter. A zero here is a genuine zero. |
| `data[].block_number` | `integer (int32)` | Yes | The block the cumulative figure was read at — the last block of this day that the snapshot table holds. Reported so a disputed number can be traced to one row rather than argued about. |
| `data[].date` | `string` | Yes | The UTC day this bucket covers, `YYYY-MM-DD`. |
| `data[].netuid` | `integer (int32)` | Yes | Subnet ID. |
| `data[].timestamp` | `string` | Yes | ISO 8601 timestamp of that block, millisecond precision. |
| `data[].total_alpha_burned` | `string` | Yes | The chain's cumulative counter at that block (RAO, u64 as a decimal string). This is the same column `/v1/subnets/burns/total` serves, `subnet_pool_v1.total_alpha_burned`, copied from that day's last row into `subnet_pool_by_utc_day_v1`: by the indexer, in the same batch as the history row, and for days before the indexer wrote the table, by `backfill_subnet_pool_by_utc_day`. The indexer's two inserts run concurrently and neither is guaranteed to become visible first, so the current day's value can differ from the total, in either direction, for that moment. |

### `400` — Invalid query parameter

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `message` | `string` | Yes | Plain-english message describing the failure from the caller's perspective. |
| `status_code` | `integer (int32)` | Yes | HTTP status code (mirrored in the response status line for convenience). |

### `500` — Internal server error

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `message` | `string` | Yes | Plain-english message describing the failure from the caller's perspective. |
| `status_code` | `integer (int32)` | Yes | HTTP status code (mirrored in the response status line for convenience). |

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).
