Routescan (Snowtrace) Accounts API
Address balance and transaction history endpoints.
Address balance and transaction history endpoints.
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/snowtrace-accounts-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.1.0
info:
title: Routescan (Snowtrace) Etherscan-Compatible Accounts API
description: 'Routescan is the first multichain ecosystem explorer, search, API, and analytics platform for all major EVM chains. Operating as Snowtrace for Avalanche C-Chain, Routescan provides high-speed REST APIs compatible with the Etherscan API format, delivering near real-time access to transactions, token transfers, smart contract data, and event logs across Avalanche C-Chain, Arbitrum, Optimism, Base, and 40+ other EVM networks. A single API key grants multichain access across all indexed chains.
'
version: '2.0'
contact:
name: Routescan Support
url: https://snowtrace.io/contactus
termsOfService: https://snowtrace.io/
servers:
- url: https://api.routescan.io/v2/network/mainnet/evm/{chainId}/etherscan/api
description: Routescan Multichain API (mainnet)
variables:
chainId:
default: '43114'
description: 'EVM chain ID. Use 43114 for Avalanche C-Chain mainnet, 43113 for Avalanche Fuji testnet.
'
- url: https://api.routescan.io/v2/network/testnet/evm/{chainId}/etherscan/api
description: Routescan Multichain API (testnet)
variables:
chainId:
default: '43113'
description: EVM chain ID for testnet networks.
security:
- apiKey: []
- {}
tags:
- name: Accounts
description: Address balance and transaction history endpoints.
paths:
/account/balance:
get:
operationId: getBalance
summary: Get native balance for a single address
description: 'Returns the native token (AVAX, ETH, etc.) balance of a given address at the latest block.
'
tags:
- Accounts
parameters:
- $ref: '#/components/parameters/moduleParam'
- name: module
in: query
required: true
schema:
type: string
enum:
- account
- $ref: '#/components/parameters/actionParam'
- name: action
in: query
required: true
schema:
type: string
enum:
- balance
- $ref: '#/components/parameters/addressParam'
- $ref: '#/components/parameters/tagParam'
- $ref: '#/components/parameters/apikeyParam'
responses:
'200':
description: Address balance in Wei
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- type: object
properties:
result:
type: string
example: '1234567890000000000'
example:
status: '1'
message: OK
result: '1234567890000000000'
/account/balancemulti:
get:
operationId: getBalanceMulti
summary: Get native balance for multiple addresses
description: 'Returns the native token balance for up to 20 addresses in a single call. Pass addresses as a comma-separated list.
'
tags:
- Accounts
parameters:
- name: module
in: query
required: true
schema:
type: string
enum:
- account
- name: action
in: query
required: true
schema:
type: string
enum:
- balancemulti
- name: address
in: query
required: true
schema:
type: string
description: Comma-separated list of up to 20 addresses.
- $ref: '#/components/parameters/tagParam'
- $ref: '#/components/parameters/apikeyParam'
responses:
'200':
description: Array of address/balance pairs
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- type: object
properties:
result:
type: array
items:
type: object
properties:
account:
type: string
balance:
type: string
/account/txlist:
get:
operationId: getNormalTransactions
summary: Get normal transactions by address
description: 'Returns a list of normal (external) transactions performed by an address. Supports block range filtering and pagination.
'
tags:
- Accounts
parameters:
- name: module
in: query
required: true
schema:
type: string
enum:
- account
- name: action
in: query
required: true
schema:
type: string
enum:
- txlist
- $ref: '#/components/parameters/addressParam'
- $ref: '#/components/parameters/startblockParam'
- $ref: '#/components/parameters/endblockParam'
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/offsetParam'
- $ref: '#/components/parameters/sortParam'
- $ref: '#/components/parameters/apikeyParam'
responses:
'200':
description: List of normal transactions
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- type: object
properties:
result:
type: array
items:
$ref: '#/components/schemas/TransactionItem'
/account/txlistinternal:
get:
operationId: getInternalTransactions
summary: Get internal transactions by address or transaction hash
description: 'Returns internal (EVM-level) transactions for a given address or a specific transaction hash. Optionally filter by block range.
'
tags:
- Accounts
parameters:
- name: module
in: query
required: true
schema:
type: string
enum:
- account
- name: action
in: query
required: true
schema:
type: string
enum:
- txlistinternal
- name: address
in: query
required: false
schema:
type: string
description: Wallet or contract address (use with startblock/endblock).
- name: txhash
in: query
required: false
schema:
type: string
description: Transaction hash to retrieve internal txns for.
- $ref: '#/components/parameters/startblockParam'
- $ref: '#/components/parameters/endblockParam'
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/offsetParam'
- $ref: '#/components/parameters/sortParam'
- $ref: '#/components/parameters/apikeyParam'
responses:
'200':
description: List of internal transactions
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
/account/tokentx:
get:
operationId: getERC20Transfers
summary: Get ERC-20 token transfer events by address
description: 'Returns a list of ERC-20 token transfer events for a given address. Optionally filter by token contract address and block range.
'
tags:
- Accounts
parameters:
- name: module
in: query
required: true
schema:
type: string
enum:
- account
- name: action
in: query
required: true
schema:
type: string
enum:
- tokentx
- $ref: '#/components/parameters/addressParam'
- name: contractaddress
in: query
required: false
schema:
type: string
description: ERC-20 contract address to filter transfers.
- $ref: '#/components/parameters/startblockParam'
- $ref: '#/components/parameters/endblockParam'
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/offsetParam'
- $ref: '#/components/parameters/sortParam'
- $ref: '#/components/parameters/apikeyParam'
responses:
'200':
description: List of ERC-20 token transfers
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- type: object
properties:
result:
type: array
items:
$ref: '#/components/schemas/TokenTransferItem'
/account/tokennfttx:
get:
operationId: getERC721Transfers
summary: Get ERC-721 NFT transfer events by address
description: 'Returns a list of ERC-721 (NFT) token transfer events for a given address. Optionally filter by NFT contract address and block range.
'
tags:
- Accounts
parameters:
- name: module
in: query
required: true
schema:
type: string
enum:
- account
- name: action
in: query
required: true
schema:
type: string
enum:
- tokennfttx
- $ref: '#/components/parameters/addressParam'
- name: contractaddress
in: query
required: false
schema:
type: string
description: ERC-721 contract address to filter transfers.
- $ref: '#/components/parameters/startblockParam'
- $ref: '#/components/parameters/endblockParam'
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/offsetParam'
- $ref: '#/components/parameters/sortParam'
- $ref: '#/components/parameters/apikeyParam'
responses:
'200':
description: List of ERC-721 NFT transfers
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
/account/token1155tx:
get:
operationId: getERC1155Transfers
summary: Get ERC-1155 token transfer events by address
description: 'Returns a list of ERC-1155 multi-token transfer events for a given address. Optionally filter by token contract address and block range.
'
tags:
- Accounts
parameters:
- name: module
in: query
required: true
schema:
type: string
enum:
- account
- name: action
in: query
required: true
schema:
type: string
enum:
- token1155tx
- $ref: '#/components/parameters/addressParam'
- name: contractaddress
in: query
required: false
schema:
type: string
description: ERC-1155 contract address to filter transfers.
- $ref: '#/components/parameters/startblockParam'
- $ref: '#/components/parameters/endblockParam'
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/offsetParam'
- $ref: '#/components/parameters/sortParam'
- $ref: '#/components/parameters/apikeyParam'
responses:
'200':
description: List of ERC-1155 token transfers
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
/account/balancehistory:
get:
operationId: getHistoricalBalance
summary: Get historical balance at a specific block
description: 'Returns the native token balance of an address at a specific block number.
'
tags:
- Accounts
parameters:
- name: module
in: query
required: true
schema:
type: string
enum:
- account
- name: action
in: query
required: true
schema:
type: string
enum:
- balancehistory
- $ref: '#/components/parameters/addressParam'
- name: blockno
in: query
required: true
schema:
type: integer
description: Block number at which to retrieve the balance.
- $ref: '#/components/parameters/apikeyParam'
responses:
'200':
description: Historical balance in Wei
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- type: object
properties:
result:
type: string
components:
parameters:
actionParam:
name: action
in: query
required: true
schema:
type: string
description: API action within the module.
tagParam:
name: tag
in: query
required: false
schema:
type: string
enum:
- earliest
- pending
- latest
default: latest
description: Pre-defined block parameter for balance queries.
endblockParam:
name: endblock
in: query
required: false
schema:
type: integer
default: 99999999
description: Ending block number for block-range queries.
pageParam:
name: page
in: query
required: false
schema:
type: integer
default: 1
description: Page number for paginated results.
apikeyParam:
name: apikey
in: query
required: false
schema:
type: string
description: API key for authenticated access. Use "placeholder" for free tier.
moduleParam:
name: module
in: query
required: true
schema:
type: string
description: API module name (account, block, contract, logs, token, stats, transaction, proxy).
sortParam:
name: sort
in: query
required: false
schema:
type: string
enum:
- asc
- desc
default: asc
description: Sort order for results (ascending or descending).
offsetParam:
name: offset
in: query
required: false
schema:
type: integer
default: 10
description: Number of results per page (max 10000).
addressParam:
name: address
in: query
required: true
schema:
type: string
description: Ethereum-compatible wallet or contract address (0x-prefixed, 42 chars).
startblockParam:
name: startblock
in: query
required: false
schema:
type: integer
default: 0
description: Starting block number for block-range queries.
schemas:
ApiResponse:
type: object
properties:
status:
type: string
enum:
- '0'
- '1'
description: 1 for success, 0 for error.
message:
type: string
description: Human-readable status message (OK or NOTOK).
result:
description: The response payload (varies by endpoint).
required:
- status
- message
- result
TransactionItem:
type: object
properties:
blockNumber:
type: string
timeStamp:
type: string
hash:
type: string
nonce:
type: string
blockHash:
type: string
transactionIndex:
type: string
from:
type: string
to:
type: string
value:
type: string
gas:
type: string
gasPrice:
type: string
isError:
type: string
txreceipt_status:
type: string
input:
type: string
contractAddress:
type: string
cumulativeGasUsed:
type: string
gasUsed:
type: string
confirmations:
type: string
methodId:
type: string
functionName:
type: string
TokenTransferItem:
type: object
properties:
blockNumber:
type: string
timeStamp:
type: string
hash:
type: string
nonce:
type: string
blockHash:
type: string
from:
type: string
contractAddress:
type: string
to:
type: string
value:
type: string
tokenName:
type: string
tokenSymbol:
type: string
tokenDecimal:
type: string
transactionIndex:
type: string
gas:
type: string
gasPrice:
type: string
gasUsed:
type: string
cumulativeGasUsed:
type: string
confirmations:
type: string
securitySchemes:
apiKey:
type: apiKey
in: query
name: apikey
description: 'Optional for free-tier usage (2 req/s, 10,000 calls/day). Register at routescan.io for increased limits.
'