# Get EVM ERC20 Transfer

Returns ERC-20 token transfers with sender, recipient, amount, token metadata and transaction details.

_Source: https://beta.taostats.io/docs/api-reference/evm/get-evm-erc20-transfer_

_Last reviewed: 2026-09-18_

```http
GET https://api.taostats.io/api/evm/erc20/transfer/v1
```

Requires an API key in the `Authorization` header.

Returns ERC-20 token transfers with sender, recipient, amount, token metadata and transaction details.

## Try it

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

### Examples

Get the latest ERC-20 token transfers

```text
https://api.taostats.io/api/evm/erc20/transfer/v1?order=block_number_desc&limit=20
```

### Code samples

**cURL**

```bash
curl -H "Authorization: <YOUR_API_KEY>" \
  "https://api.taostats.io/api/evm/erc20/transfer/v1?limit=20&order=block_number_desc"
```

**JavaScript**

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

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `block_number` | query | `integer (int32)` |  |  |
| `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) |
| `address` | query | `string` |  |  |
| `to` | query | `string` |  |  |
| `from` | query | `string` |  |  |
| `transaction_hash` | query | `string` |  |  |
| `token_name` | query | `string` |  |  |
| `token_symbol` | query | `string` |  |  |
| `token_address` | query | `string` |  |  |
| `amount_min` | query | `string` |  | Minimum amount (inclusive) |
| `amount_max` | query | `string` |  | Maximum amount (inclusive) |
| `page` | query | `integer (int32)` |  |  |
| `limit` | query | `integer (int32)` |  |  |
| `order` | query | `string` |  | One of `block_number_asc`, `block_number_desc`, `timestamp_asc`, `timestamp_desc`, `amount_asc`, `amount_desc`. |

## Responses

### `200` — Transfers retrieved successfully

| Field | Type | Required |
| --- | --- | --- |
| `data` | `array` | Yes |
| `data[].amount` | `string` | Yes |
| `data[].block_number` | `integer (int32)` | Yes |
| `data[].from` | `string` | Yes |
| `data[].timestamp` | `string (date-time)` | Yes |
| `data[].to` | `string` | Yes |
| `data[].token_address` | `string` | Yes |
| `data[].token_decimals` | `integer (int32)` | Yes |
| `data[].token_name` | `string` | Yes |
| `data[].token_symbol` | `string` | Yes |
| `data[].transaction_hash` | `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 |

### Other responses

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