Routescan (Snowtrace) Accounts API
Address balance and transaction history endpoints.
Address balance and transaction history endpoints.
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.
'