Tether Token Balances API
Query current token balances for addresses
Query current token balances for addresses
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/tether-token-balances-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Tether Token Balances API
version: 1.0.0
description: 'Operations tagged Token Balances across 2 of this provider''s published API definitions: tether-token-balances-api-openapi.yml, tether-wdk-indexer-openapi-original.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://wdk-api.tether.io
description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Token Balances
description: Query current token balances for addresses
paths:
/api/v1/{blockchain}/{token}/{address}/token-balances:
get:
summary: Get token balance for an address
tags:
- Token Balances
description: Retrieve the current token balance for a specific wallet address on a given blockchain. Returns a single balance amount representing how much of the specified token the address currently holds.
parameters:
- schema:
type: string
enum:
- ethereum
- arbitrum
- avalanche
- polygon
- sepolia
- tron
- ton
- bitcoin
- spark
in: path
name: blockchain
required: true
description: Blockchain network identifier. Use GET /api/v1/chains to see all available options.
- schema:
type: string
enum:
- usdt
- xaut
- usat
- btc
in: path
name: token
required: true
description: Token identifier. Must be a valid token for the specified blockchain.
- schema:
type: string
minLength: 1
in: path
name: address
required: true
description: Wallet address to query. Format varies by blockchain (e.g. 0x... for EVM, bc1... for Bitcoin, T... for Tron).
security:
- ApiKeyAuth: []
responses:
'200':
description: Current token balance for the queried address
content:
application/json:
schema:
description: Current token balance for the queried address
type: object
properties:
tokenBalance:
type: object
description: Balance information.
properties:
blockchain:
type: string
description: Blockchain queried.
token:
type: string
description: Token queried.
amount:
type: string
description: Current balance as a decimal string.
additionalProperties: false
additionalProperties: false
'400':
description: Bad Request - invalid parameters, address format, blockchain, or token
content:
application/json:
schema:
description: Bad Request - invalid parameters, address format, blockchain, or token
type: object
properties:
error:
type: string
description: Error type
message:
type: string
description: Human-readable error description
status:
type: number
description: HTTP status code
additionalProperties: false
'401':
description: Unauthorized - expired API key
content:
application/json:
schema:
description: Unauthorized - expired API key
type: object
properties:
error:
type: string
description: Authentication error type
message:
type: string
description: Authentication error details
status:
type: number
description: HTTP status code
additionalProperties: false
'403':
description: Forbidden - missing or invalid API key
content:
application/json:
schema:
description: Forbidden - missing or invalid API key
type: object
properties:
error:
type: string
description: Authorization error type
message:
type: string
description: Authorization error details
status:
type: number
description: HTTP status code
additionalProperties: false
'429':
description: Too Many Requests - rate limit exceeded
content:
application/json:
schema:
description: Too Many Requests - rate limit exceeded
type: object
properties:
error:
type: string
description: Rate limit error type
message:
type: string
description: Rate limit error details
status:
type: number
description: HTTP status code
additionalProperties: false
'500':
description: Internal Server Error - indexer service unavailable or unexpected failure
content:
application/json:
schema:
description: Internal Server Error - indexer service unavailable or unexpected failure
type: object
properties:
error:
type: string
description: Error type
message:
type: string
description: Error details
status:
type: number
description: HTTP status code
additionalProperties: false
servers:
- url: https://wdk-api.tether.io
description: Base URL declared by the provider in apis.yml (roadmap#122).
/api/v1/batch/token-balances:
post:
summary: Get token balances for multiple addresses
tags:
- Token Balances
description: Retrieve the current token balance 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.
requestBody:
required: true
content:
application/json:
schema:
type: array
description: Array of balance query objects. Maximum 10 items.
minItems: 1
maxItems: 10
items:
type: object
properties:
blockchain:
type: string
enum:
- ethereum
- arbitrum
- avalanche
- polygon
- sepolia
- tron
- ton
- bitcoin
- spark
description: Blockchain network identifier.
token:
type: string
enum:
- usdt
- xaut
- usat
- btc
description: Token identifier.
address:
type: string
minLength: 1
description: Wallet address to query.
required:
- blockchain
- token
- address
additionalProperties: false
description: Array of balance query objects. Maximum 10 items.
security:
- ApiKeyAuth: []
responses:
'200':
description: Array of results in the same order as the request. Each element is either a balance result or an error object.
content:
application/json:
schema:
description: Array of results in the same order as the request. Each element is either a balance result or an error object.
type: array
items:
oneOf:
- description: Current token balance for the queried address
type: object
properties:
tokenBalance:
type: object
description: Balance information.
properties:
blockchain:
type: string
description: Blockchain queried.
token:
type: string
description: Token queried.
amount:
type: string
description: Current balance as a decimal string.
additionalProperties: false
additionalProperties: false
- type: object
properties:
error:
type: string
message:
type: string
status:
type: number
additionalProperties: false
'400':
description: Bad Request - invalid parameters, address format, blockchain, or token
content:
application/json:
schema:
description: Bad Request - invalid parameters, address format, blockchain, or token
type: object
properties:
error:
type: string
description: Error type
message:
type: string
description: Human-readable error description
status:
type: number
description: HTTP status code
additionalProperties: false
'401':
description: Unauthorized - expired API key
content:
application/json:
schema:
description: Unauthorized - expired API key
type: object
properties:
error:
type: string
description: Authentication error type
message:
type: string
description: Authentication error details
status:
type: number
description: HTTP status code
additionalProperties: false
'403':
description: Forbidden - missing or invalid API key
content:
application/json:
schema:
description: Forbidden - missing or invalid API key
type: object
properties:
error:
type: string
description: Authorization error type
message:
type: string
description: Authorization error details
status:
type: number
description: HTTP status code
additionalProperties: false
'429':
description: Too Many Requests - rate limit exceeded
content:
application/json:
schema:
description: Too Many Requests - rate limit exceeded
type: object
properties:
error:
type: string
description: Rate limit error type
message:
type: string
description: Rate limit error details
status:
type: number
description: HTTP status code
additionalProperties: false
'500':
description: Internal Server Error - indexer service unavailable or unexpected failure
content:
application/json:
schema:
description: Internal Server Error - indexer service unavailable or unexpected failure
type: object
properties:
error:
type: string
description: Error type
message:
type: string
description: Error details
status:
type: number
description: HTTP status code
additionalProperties: false
servers:
- url: https://wdk-api.tether.io
description: Base URL declared by the provider in apis.yml (roadmap#122).
components:
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-KEY
description: API key obtained via the registration form. Include in the X-API-KEY header for all authenticated requests.
x-refined-from:
- tether-token-balances-api-openapi.yml
- tether-wdk-indexer-openapi-original.yml