---
title: "Get token transfers for multiple addresses"
method: POST
path: "/api/v1/batch/token-transfers"
tags: ["Token Transfers"]
---

# Get token transfers for multiple addresses

`POST /api/v1/batch/token-transfers`

## Request

- Base URL: `https://wdk-api.tether.io` (the document declares no server; this is the origin it was published from)
- URL: `https://wdk-api.tether.io/api/v1/batch/token-transfers`
- Auth: API key in header `X-API-KEY`
- TypeScript: <https://skmtc.dev/tether/apis/wdk-indexer-api/docs/api/v1/batch/token-transfers/post.ts> (a function with typed inputs; its response is checked against the schema)

Retrieve token transfer history for multiple addresses in a single request. Each item in the batch is processed independently - if one item fails (e.g. invalid address), the others still return results. The response array maintains the same order as the request. Maximum 10 items per batch.

## Request body

- object[]: Array of transfer query objects. Maximum 10 items.
  - `blockchain` 'ethereum' | 'arbitrum' | 'avalanche' | 'polygon' | 'plasma' | 'sepolia' | 'tron' | 'ton' | 'bitcoin' | 'spark', required: Blockchain network identifier.
  - `token` 'usdt' | 'xaut' | 'usat' | 'btc', required: Token identifier.
  - `address` string, required: Wallet address to query.
  - `limit` integer: Maximum number of transfers to return for this address.
  - `fromTs` integer: Start timestamp in milliseconds (inclusive).
  - `toTs` integer: End timestamp in milliseconds (inclusive).

## Response `200`

Array of results in the same order as the request. Each element is either a transfer result or an error object.

- union[]: Array of results in the same order as the request. Each element is either a transfer result or an error object.
  - union
    - object: Token transfer history for the queried address
      - `transfers` object[]: List of token transfers sorted by block number.
        - `blockchain` string: Blockchain where the transfer occurred.
        - `blockNumber` integer: Block number containing the transfer.
        - `transactionHash` string: Hash of the transaction.
        - `transferIndex` integer: Index of the transfer within the transaction.
        - `token` string: Token identifier.
        - `amount` string: Transfer amount as a decimal string.
        - `timestamp` integer: Block timestamp in milliseconds since Unix epoch.
        - `transactionIndex` integer: Position of the transaction within the block.
        - `logIndex` integer: Event log index for EVM chains. null for non-EVM chains like Bitcoin.
        - `from` string: Sender wallet address.
        - `to` string: The recipient's address
        - `label` string: A label associated with the transfer, if any
        - `metadata` object: Chain-specific extra data attached to the transfer, if any.
    - object
      - `error` string
      - `message` string
      - `status` number

## Other responses

- `400`: Bad Request - invalid parameters, address format, blockchain, or token
- `401`: Unauthorized - expired API key
- `403`: Forbidden - missing or invalid API key
- `429`: Too Many Requests - rate limit exceeded
- `500`: Internal Server Error - indexer service unavailable or unexpected failure

---

[API](https://skmtc.dev/tether/apis/wdk-indexer-api.md) - [All operations](https://skmtc.dev/tether/apis/wdk-indexer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/tether/apis/wdk-indexer-api/revisions/fb8b84e0bb98?raw)
