Routescan (Snowtrace) Proxy API
Ethereum JSON-RPC compatible proxy endpoints.
Ethereum JSON-RPC compatible proxy endpoints.
openapi: 3.1.0
info:
title: Routescan (Snowtrace) Etherscan-Compatible Accounts Proxy 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: Proxy
description: Ethereum JSON-RPC compatible proxy endpoints.
paths:
/proxy/eth_blockNumber:
get:
operationId: proxyEthBlockNumber
summary: Get most recent block number (eth_blockNumber)
description: 'Proxies the eth_blockNumber JSON-RPC method and returns the number of the most recent block in hex.
'
tags:
- Proxy
parameters:
- name: module
in: query
required: true
schema:
type: string
enum:
- proxy
- name: action
in: query
required: true
schema:
type: string
enum:
- eth_blockNumber
- $ref: '#/components/parameters/apikeyParam'
responses:
'200':
description: Current block number in hex
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- type: object
properties:
result:
type: string
example: '0x10d4f'
/proxy/eth_getBlockByNumber:
get:
operationId: proxyEthGetBlockByNumber
summary: Get block information by block number (eth_getBlockByNumber)
description: 'Proxies the eth_getBlockByNumber JSON-RPC method. Returns block details for the given block tag or number.
'
tags:
- Proxy
parameters:
- name: module
in: query
required: true
schema:
type: string
enum:
- proxy
- name: action
in: query
required: true
schema:
type: string
enum:
- eth_getBlockByNumber
- name: tag
in: query
required: true
schema:
type: string
description: Block number in hex or one of latest/earliest/pending.
- name: boolean
in: query
required: true
schema:
type: boolean
description: true to return full transaction objects; false for hashes only.
- $ref: '#/components/parameters/apikeyParam'
responses:
'200':
description: Block object
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
/proxy/eth_getTransactionByHash:
get:
operationId: proxyEthGetTransactionByHash
summary: Get transaction by hash (eth_getTransactionByHash)
description: 'Proxies the eth_getTransactionByHash JSON-RPC method. Returns transaction details for the given hash.
'
tags:
- Proxy
parameters:
- name: module
in: query
required: true
schema:
type: string
enum:
- proxy
- name: action
in: query
required: true
schema:
type: string
enum:
- eth_getTransactionByHash
- name: txhash
in: query
required: true
schema:
type: string
description: Transaction hash.
- $ref: '#/components/parameters/apikeyParam'
responses:
'200':
description: Transaction object
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
/proxy/eth_getTransactionReceipt:
get:
operationId: proxyEthGetTransactionReceipt
summary: Get transaction receipt (eth_getTransactionReceipt)
description: 'Proxies the eth_getTransactionReceipt JSON-RPC method. Returns the receipt for a mined transaction.
'
tags:
- Proxy
parameters:
- name: module
in: query
required: true
schema:
type: string
enum:
- proxy
- name: action
in: query
required: true
schema:
type: string
enum:
- eth_getTransactionReceipt
- name: txhash
in: query
required: true
schema:
type: string
description: Transaction hash.
- $ref: '#/components/parameters/apikeyParam'
responses:
'200':
description: Transaction receipt object
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
/proxy/eth_call:
get:
operationId: proxyEthCall
summary: Execute contract call (eth_call)
description: 'Proxies the eth_call JSON-RPC method. Executes a message call transaction without creating a transaction on the blockchain.
'
tags:
- Proxy
parameters:
- name: module
in: query
required: true
schema:
type: string
enum:
- proxy
- name: action
in: query
required: true
schema:
type: string
enum:
- eth_call
- name: to
in: query
required: true
schema:
type: string
description: Contract address to call.
- name: data
in: query
required: true
schema:
type: string
description: ABI-encoded call data.
- name: tag
in: query
required: false
schema:
type: string
default: latest
description: Block parameter for the call.
- $ref: '#/components/parameters/apikeyParam'
responses:
'200':
description: Call result in hex
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- type: object
properties:
result:
type: string
/proxy/eth_gasPrice:
get:
operationId: proxyEthGasPrice
summary: Get current gas price (eth_gasPrice)
description: 'Proxies the eth_gasPrice JSON-RPC method. Returns the current gas price in Wei (hex-encoded).
'
tags:
- Proxy
parameters:
- name: module
in: query
required: true
schema:
type: string
enum:
- proxy
- name: action
in: query
required: true
schema:
type: string
enum:
- eth_gasPrice
- $ref: '#/components/parameters/apikeyParam'
responses:
'200':
description: Current gas price in Wei
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- type: object
properties:
result:
type: string
/proxy/eth_estimateGas:
get:
operationId: proxyEthEstimateGas
summary: Estimate gas for a transaction (eth_estimateGas)
description: 'Proxies the eth_estimateGas JSON-RPC method. Returns an estimate of the gas needed to execute the given transaction.
'
tags:
- Proxy
parameters:
- name: module
in: query
required: true
schema:
type: string
enum:
- proxy
- name: action
in: query
required: true
schema:
type: string
enum:
- eth_estimateGas
- name: to
in: query
required: true
schema:
type: string
description: Target address for the transaction.
- name: data
in: query
required: false
schema:
type: string
description: ABI-encoded call data.
- name: value
in: query
required: false
schema:
type: string
description: Value in Wei to transfer.
- name: gas
in: query
required: false
schema:
type: string
description: Gas limit in hex.
- name: gasPrice
in: query
required: false
schema:
type: string
description: Gas price in Wei (hex).
- $ref: '#/components/parameters/apikeyParam'
responses:
'200':
description: Estimated gas in hex
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- type: object
properties:
result:
type: string
components:
parameters:
apikeyParam:
name: apikey
in: query
required: false
schema:
type: string
description: API key for authenticated access. Use "placeholder" for free tier.
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
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.
'