Transpose Token API API
ERC-20, ERC-777, and native token balances, transfers, and DEX swaps.
ERC-20, ERC-777, and native token balances, transfers, and DEX swaps.
openapi: 3.0.3
info:
title: Transpose Block API Token API API
description: 'Historical blockchain data REST API providing access to transaction history, token transfers, NFT metadata, smart contract events, DEX swaps, and price data across Ethereum and other EVM-compatible chains. Offers five enterprise-grade REST APIs plus a SQL Analytics API for querying indexed blockchain data across Ethereum, Polygon, Optimism, Base, Arbitrum, Avalanche, BSC, Bitcoin, and Tron.
'
version: 1.0.0
contact:
name: Transpose Support
url: https://www.transpose.io/
license:
name: Commercial
url: https://www.transpose.io/pricing
servers:
- url: https://api.transpose.io
description: Transpose production API
security:
- ApiKeyAuth: []
tags:
- name: Token API
description: 'ERC-20, ERC-777, and native token balances, transfers, and DEX swaps.
'
paths:
/token/tokens:
get:
tags:
- Token API
summary: Get Tokens
operationId: getTokens
description: 'Retrieve ERC-20 and ERC-777 token metadata. Filter by contract address, name, symbol, date created, or owner.
'
parameters:
- $ref: '#/components/parameters/ChainId'
- name: contract_address
in: query
required: false
description: Filter by token contract address.
schema:
type: string
- name: name
in: query
required: false
description: Filter tokens by name (partial match supported).
schema:
type: string
- name: symbol
in: query
required: false
description: Filter tokens by symbol.
schema:
type: string
- name: owner_address
in: query
required: false
description: Filter tokens by owner address.
schema:
type: string
- name: created_after
in: query
required: false
description: Return tokens created after this date.
schema:
type: string
- name: created_before
in: query
required: false
description: Return tokens created before this date.
schema:
type: string
- $ref: '#/components/parameters/Order'
- $ref: '#/components/parameters/Limit'
responses:
'200':
description: Successful response containing matching tokens.
headers:
X-Credits-Charged:
schema:
type: integer
content:
application/json:
schema:
type: object
properties:
status:
type: string
example: ok
results:
type: array
items:
$ref: '#/components/schemas/Token'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/token/transfers:
get:
tags:
- Token API
summary: Get Token Transfers
operationId: getTokenTransfers
description: 'Query all token transfers including mints, sends, and burns across ERC-20 and ERC-777 tokens within a specified date range.
'
parameters:
- $ref: '#/components/parameters/ChainId'
- name: contract_address
in: query
required: false
description: Filter transfers by token contract address.
schema:
type: string
- name: from_address
in: query
required: false
description: Filter transfers by sender address.
schema:
type: string
- name: to_address
in: query
required: false
description: Filter transfers by recipient address.
schema:
type: string
- $ref: '#/components/parameters/TransferredAfter'
- $ref: '#/components/parameters/TransferredBefore'
- $ref: '#/components/parameters/Order'
- $ref: '#/components/parameters/Limit'
responses:
'200':
description: Successful response containing token transfers.
headers:
X-Credits-Charged:
schema:
type: integer
content:
application/json:
schema:
type: object
properties:
status:
type: string
example: ok
results:
type: array
items:
$ref: '#/components/schemas/TokenTransfer'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/token/swaps:
get:
tags:
- Token API
summary: Get Token Swaps
operationId: getTokenSwaps
description: 'Fetch swap activity across decentralized exchanges including Uniswap, SushiSwap, and others.
'
parameters:
- $ref: '#/components/parameters/ChainId'
- name: contract_address
in: query
required: false
description: Filter swaps by token contract address.
schema:
type: string
- name: account_address
in: query
required: false
description: Filter swaps by initiating account address.
schema:
type: string
- name: pair_address
in: query
required: false
description: Filter swaps by DEX pair/pool address.
schema:
type: string
- $ref: '#/components/parameters/TransferredAfter'
- $ref: '#/components/parameters/TransferredBefore'
- $ref: '#/components/parameters/Order'
- $ref: '#/components/parameters/Limit'
responses:
'200':
description: Successful response containing DEX swap events.
headers:
X-Credits-Charged:
schema:
type: integer
content:
application/json:
schema:
type: object
properties:
status:
type: string
example: ok
results:
type: array
items:
$ref: '#/components/schemas/TokenSwap'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/token/native-token-transfers:
get:
tags:
- Token API
summary: Get Native Token Transfers
operationId: getNativeTokenTransfers
description: 'Retrieve historical native token (ETH, MATIC, etc.) transfers and account balances across supported chains.
'
parameters:
- $ref: '#/components/parameters/ChainId'
- name: account_address
in: query
required: false
description: Filter native transfers by account address (sender or receiver).
schema:
type: string
- $ref: '#/components/parameters/TransferredAfter'
- $ref: '#/components/parameters/TransferredBefore'
- $ref: '#/components/parameters/Order'
- $ref: '#/components/parameters/Limit'
responses:
'200':
description: Successful response containing native token transfers.
headers:
X-Credits-Charged:
schema:
type: integer
content:
application/json:
schema:
type: object
properties:
status:
type: string
example: ok
results:
type: array
items:
$ref: '#/components/schemas/NativeTokenTransfer'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/token/owners:
get:
tags:
- Token API
summary: Get Token Owners
operationId: getTokenOwners
description: 'Access token holders and their balances, sorted by amount. Supports historical ownership queries.
'
parameters:
- $ref: '#/components/parameters/ChainId'
- name: contract_address
in: query
required: false
description: Token contract address to query owners for.
schema:
type: string
- name: owner_address
in: query
required: false
description: Filter by a specific owner address.
schema:
type: string
- $ref: '#/components/parameters/Order'
- $ref: '#/components/parameters/Limit'
responses:
'200':
description: Successful response containing token owners and balances.
headers:
X-Credits-Charged:
schema:
type: integer
content:
application/json:
schema:
type: object
properties:
status:
type: string
example: ok
results:
type: array
items:
type: object
properties:
owner_address:
type: string
contract_address:
type: string
quantity:
type: string
description: Token balance in smallest unit.
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
components:
parameters:
TransferredAfter:
name: transferred_after
in: query
required: false
description: 'The earlier transfer date, inclusive. Accepts Unix epoch seconds or ISO-8601 format.
'
schema:
type: string
ChainId:
name: chain_id
in: query
required: true
description: 'A keyword (e.g., "ethereum") or CAIP-2 identifier specifying the blockchain to query. Supported values: ethereum, polygon, optimism, scroll, arbitrum, base, avalanche.
'
schema:
type: string
example: ethereum
enum:
- ethereum
- polygon
- optimism
- scroll
- arbitrum
- base
- avalanche
Order:
name: order
in: query
required: false
description: Sort direction for results.
schema:
type: string
enum:
- asc
- desc
default: desc
TransferredBefore:
name: transferred_before
in: query
required: false
description: 'The later transfer date, inclusive. Accepts Unix epoch seconds or ISO-8601 format.
'
schema:
type: string
Limit:
name: limit
in: query
required: false
description: Maximum number of results to return.
schema:
type: integer
default: 100
minimum: 1
maximum: 500
schemas:
TokenSwap:
type: object
description: Represents a DEX swap event.
properties:
transaction_hash:
type: string
log_index:
type: integer
block_number:
type: integer
timestamp:
type: string
format: date-time
exchange_name:
type: string
pair_address:
type: string
from_address:
type: string
token_in_address:
type: string
token_out_address:
type: string
quantity_in:
type: string
quantity_out:
type: string
ErrorResponse:
type: object
properties:
status:
type: string
example: error
message:
type: string
description: Human-readable error description.
Token:
type: object
description: Represents an ERC-20 or ERC-777 fungible token.
properties:
contract_address:
type: string
name:
type: string
symbol:
type: string
decimals:
type: integer
total_supply:
type: string
created_timestamp:
type: string
format: date-time
creator_address:
type: string
NativeTokenTransfer:
type: object
description: Represents a native token (ETH, MATIC, etc.) transfer.
properties:
transaction_hash:
type: string
block_number:
type: integer
timestamp:
type: string
format: date-time
from_address:
type: string
to_address:
type: string
value:
type: string
description: Value transferred in wei.
TokenTransfer:
type: object
description: Represents a token transfer event.
properties:
transaction_hash:
type: string
log_index:
type: integer
block_number:
type: integer
timestamp:
type: string
format: date-time
contract_address:
type: string
from_address:
type: string
to_address:
type: string
quantity:
type: string
description: Amount transferred (in token's smallest unit).
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-KEY
description: API key obtained from your Transpose team dashboard.