文档 / 新版 API 参考 / 税务
Get Tax Report
参考
最后审阅于 2026-10-07
Tax report for one coldkey and one token over a date range.
Try it
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
token | query | string | Yes | TAO (any case) or a subnet token, SN1, SN2, ... (exact case). |
date_start | query | string | Yes | Start of the range, YYYY-MM-DD, inclusive. |
date_end | query | string | Yes | End of the range, YYYY-MM-DD, inclusive. At most 12 calendar months after date_start. |
coldkey | query | string | Yes | Coldkey, SS58 or 0x-prefixed hex. |
format | query | string | json (default) or csv. CSV is served as a file download. One of json, csv. |
Responses
200 — Every row of the range; with format=csv, the same rows as a CSV download
| Field | Type | Required | Description |
|---|---|---|---|
data | array | Yes | |
data[].additional_data | string, nullable | Yes | |
data[].block_number | integer (int32) | Yes | |
data[].coldkey | string | Yes | Coldkey, SS58. |
data[].credit_amount | string, nullable | Yes | TAO or alpha, decimal string. |
data[].daily_income | string, nullable | Yes | TAO or alpha, decimal string. Set on income rows. |
data[].daily_income_usd | string, nullable | Yes | USD, two decimal places. |
data[].date | string, nullable | Yes | YYYY-MM-DD. Set on income rows and on an invented opening row. |
data[].debit_amount | string, nullable | Yes | TAO or alpha, decimal string. |
data[].extrinsic_id | string, nullable | Yes | |
data[].free_balance | string, nullable | Yes | |
data[].locked_balance | string, nullable | Yes | |
data[].network | string | Yes | finney, or nakamoto / kusanagi for the networks before it. |
data[].reserved_balance | string, nullable | Yes | |
data[].staked_balance | string, nullable | Yes | |
data[].timestamp | string | Yes | ISO 8601, milliseconds, UTC. |
data[].token | string | Yes | TAO or SN{netuid}. |
data[].token_price_in_tao | string, nullable | Yes | Decimal string; 1 for TAO. |
data[].token_price_in_usd | string, nullable | Yes | Decimal string. |
data[].total_balance | string, nullable | Yes | TAO or alpha, decimal string. Set on balance rows. |
data[].transaction_type | string, nullable | Yes | transfer_in, fee, token_swap, ...; null on a balance row or an income row. |
pagination | object | Yes | Always one page holding every row. |
pagination.current_page | integer (int32) | Yes | 1-indexed page that produced the rows in data. |
pagination.next_page | integer (int32), nullable | Yes | Next page number, or null if this is the last page. |
pagination.per_page | integer (int32) | Yes | Number of items requested per page. |
pagination.prev_page | integer (int32), nullable | Yes | Previous page number, or null if this is the first page. |
pagination.total_items | integer (int64) | Yes | Number of items matching the query across all pages. This is the exact count — every matching row, however many there are. It is not bounded by total_pages, so a listing can legitimately report far more items than total_pages × per_page. |
pagination.total_pages | integer (int32) | Yes | Number of pages at the current per_page that this API will serve: ceil(total_items / per_page), capped at ceil(1000000 / per_page) because the page parameter only reaches into the first 1,000,000 rows. When the cap bites, total_items is still the true total and this is the last page a request can ask for; reach deeper history with the endpoint's range filters instead of a larger page. |
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). |
404 — The coldkey has no rows for this token in the range
| 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.