# Get Chain Calls

This endpoint lists all extrinsics - as some can be nested inside batch/proxy calls.

_Source: https://beta.taostats.io/docs/api-reference/chain/get-call_

_Last reviewed: 2026-09-18_

```http
GET https://api.taostats.io/api/call/v1
```

Requires an API key in the `Authorization` header.

This endpoint lists all extrinsics - as some can be nested inside batch/proxy calls.

## Try it

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

### Examples

List the most recent 50 calls made by a wallet

```text
https://api.taostats.io/api/call/v1?origin_address=5GH2aUTMRUh1RprCgH4x3tRyCaKeUi5BfmYCfs1NARA8R54n&order=block_number_desc&limit=50
```

List the 50 most recent add_stake calls on the chain

```text
https://api.taostats.io/api/call/v1?full_name=SubtensorModule.add_stake&order=block_number_desc&limit=50
```

### Code samples

**cURL**

```bash
curl -H "Authorization: <YOUR_API_KEY>" \
  "https://api.taostats.io/api/call/v1?origin_address=5GH2aUTMRUh1RprCgH4x3tRyCaKeUi5BfmYCfs1NARA8R54n&limit=50&order=block_number_desc"
```

**JavaScript**

```js
const response = await fetch('https://api.taostats.io/api/call/v1?origin_address=5GH2aUTMRUh1RprCgH4x3tRyCaKeUi5BfmYCfs1NARA8R54n&limit=50&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/call/v1?origin_address=5GH2aUTMRUh1RprCgH4x3tRyCaKeUi5BfmYCfs1NARA8R54n&limit=50&order=block_number_desc",
    headers={"Authorization": "<YOUR_API_KEY>"},
)
data = response.json()
```

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `origin_address` | query | `string` |  | SS58 or hex format |
| `network` | query | `string` |  | One of `finney`, `nakamoto`, `kusanagi`, `testnet`. |
| `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) |
| `success` | query | `boolean` |  | was the chain call successful? or did it fail :D |
| `full_name` | query | `string` |  | Full name of the extrinsic Ex `SubtensorModule.add_stake` |
| `id` | query | `string` |  | Call Id |
| `extrinsic_id` | query | `string` |  | Extrinsic ID |
| `parent_id` | query | `string` |  |  |
| `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` — Calls retrieved successfully

| Field | Type | Required |
| --- | --- | --- |
| `data` | `array` | Yes |
| `data[].args` | `object, nullable` |  |
| `data[].block_number` | `integer (int32)` | Yes |
| `data[].error` | `object, nullable` |  |
| `data[].extrinsic_id` | `string` | Yes |
| `data[].extrinsic_index` | `integer (int32), nullable` |  |
| `data[].full_name` | `string` | Yes |
| `data[].id` | `string` | Yes |
| `data[].name` | `string` | Yes |
| `data[].origin` | `object, nullable` |  |
| `data[].origin_address` | `string, nullable` |  |
| `data[].pallet` | `string` | Yes |
| `data[].parent_id` | `string, nullable` |  |
| `data[].success` | `boolean` | 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": [
    {
      "args": {
        "amountStaked": "1947540329",
        "hotkey": "0x82ec08360739d46b83227ec9891ac7c85ed57e1e9f6d1c36a3837c495fe90867",
        "netuid": 0
      },
      "block_number": 5373737,
      "error": null,
      "extrinsic_id": "5373737-0014",
      "extrinsic_index": 14,
      "full_name": "SubtensorModule.add_stake",
      "id": "5373737-0014-1",
      "name": "add_stake",
      "origin": {
        "__kind": "system",
        "value": {
          "__kind": "Signed",
          "value": "0x68b4d0070f6bd5e3bb0ff9942f64af9fce5c37737b20022188d73560e98c236a"
        }
      },
      "origin_address": "0x68b4d0070f6bd5e3bb0ff9942f64af9fce5c37737b20022188d73560e98c236a",
      "pallet": "SubtensorModule",
      "parent_id": "5373737-0014",
      "success": true,
      "timestamp": "2025-04-17T21:01:00.001Z"
    },
    {
      "args": {
        "amountStaked": "3363842760",
        "hotkey": "0x2c36c8b88903c8507aa3a9a6dcfc016caf5cfd3d8bf755b97e63f8f8b7c56836",
        "netuid": 68
      },
      "block_number": 5373737,
      "error": null,
      "extrinsic_id": "5373737-0024",
      "extrinsic_index": 24,
      "full_name": "SubtensorModule.add_stake",
      "id": "5373737-0024-0",
      "name": "add_stake",
      "origin": {
        "__kind": "system",
        "value": {
          "__kind": "Signed",
          "value": "0x229b1b5ca004dee89d57300d194913635011f5dd90f440806f0f85171e5f8876"
        }
      },
      "origin_address": "0x229b1b5ca004dee89d57300d194913635011f5dd90f440806f0f85171e5f8876",
      "pallet": "SubtensorModule",
      "parent_id": "5373737-0024",
      "success": true,
      "timestamp": "2025-04-17T21:01:00.001Z"
    }
  ],
  "pagination": {
    "current_page": 1,
    "next_page": 2,
    "per_page": 50,
    "prev_page": null,
    "total_items": 128122466,
    "total_pages": 2562450
  }
}
```

**Response details**

```text
{
      "id": "5453552-0012",
      "extrinsic_id": "5453552-0012",
      "parent_id": null,
      "extrinsic_index": 12,
      "success": false,
      "error": {
        "extra_info": "The caller is requesting registering a neuron which already exists in the active set.",
        "name": "HotKeyAlreadyRegisteredInSubNet",
        "pallet": "subtensorModule"
      },
      "pallet": "SubtensorModule",
      "name": "burned_register",
      "full_name": "SubtensorModule.burned_register",
      "args": {
        "hotkey": "0x8878901c0d28e7f5950e1ca56bdeab7a6edea199a83d75dc15b3945aef4e5f26",
        "netuid": 33
      },
      "origin": {
        "__kind": "system",
        "value": {
          "__kind": "Signed",
          "value": "0xca35b13b673721f9f7d6720602b5f8630fa0fed267177f1d0bf5b58f1681fd2d"
        }
      },
      "origin_address": "0xca35b13b673721f9f7d6720602b5f8630fa0fed267177f1d0bf5b58f1681fd2d",
      "timestamp": "2025-04-28T23:04:00Z",
      "block_number": 5453552
    },
```

### Other responses

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