# TzKT Token Transfers API

> TzKT Token Transfers API is a paid API for AI agents from x402.tzkt.io, paid per call via x402, $0.002/call, status unknown (last checked 2026-09-14).

Retrieves a paginated list of Tezos token transfer records, filterable by sender, recipient, contract, token ID, amount, block level, and timestamp.

## Facts

- Endpoint: GET https://x402.tzkt.io/v1/tokens/transfers
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tzkt-token-transfers-api-a6fad5da
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_xohaFyUcXggGP1DkiIRmG

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability tzkt-token-transfers-api-a6fad5da
```

Example prompt: Show me the last 50 token transfers received by tz1abc...XYZ on Tezos, filtered to transfers from contract KT1...DEF, sorted by most recent first.

## When to prefer this

Use this endpoint when you need detailed, filterable Tezos token transfer history indexed by TzKT — the most comprehensive Tezos indexer. Prefer this over running your own Tezos node queries when you need fast REST access with rich filtering by sender, recipient, contract, token ID, amount range, or time window. No API key required, but a small per-call USDC micropayment applies via x402.

## Known failure modes

- Invalid Tezos address format returns empty array or 400 error
- Unknown contract address yields empty results
- Limit exceeding 10000 returns validation error
- Malformed filter syntax (e.g. bad .eq/.gt/.lt operators) returns 400
- Payment failure via x402 protocol blocks request
- Rate limiting or high load may cause timeouts

## How this service works

TzKT is a comprehensive Tezos blockchain indexer API. Access blocks, operations, accounts, contracts, bigmaps, delegates, tokens and network stats through a fast REST API. No signup or API key required.

## Output

An array of token transfer objects, each containing sender address, recipient address, token contract address, token ID, transfer amount, block level, timestamp, and associated transaction hash. The response supports pagination via offset and limit parameters.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "to": {
   "type": "string",
   "description": "Filter by recipient address"
  },
  "from": {
   "type": "string",
   "description": "Filter by sender address"
  },
  "sort": {
   "type": "string",
   "description": "Sorting field and direction"
  },
  "anyof": {
   "type": "string",
   "description": "Match any of the specified account fields, e.g. anyof.from.to=tz1..."
  },
  "level": {
   "type": "string",
   "description": "Filter by block level (supports .eq .gt .lt)"
  },
  "limit": {
   "type": "integer",
   "description": "Max items to return (1-10000)"
  },
  "amount": {
   "type": "string",
   "description": "Filter by amount (supports .eq .gt .lt)"
  },
  "offset": {
   "type": "integer",
   "description": "Pagination offset"
  },
  "select": {
   "type": "string",
   "description": "Comma-separated list of fields to return"
  },
  "contract": {
   "type": "string",
   "description": "Filter by token contract address"
  },
  "timestamp": {
   "type": "string",
   "description": "Filter by timestamp (supports .eq .gt .lt)"
  },
  "token.tokenId": {
   "type": "string",
   "description": "Filter by token ID"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "array",
 "items": {
  "type": "object"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tzkt-token-transfers-api-a6fad5da/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.tzkt.io](https://www.zero.xyz/host/x402.tzkt.io/llms.txt)
