Routescan (Snowtrace) Logs API
Smart contract event log query endpoints.
Smart contract event log query endpoints.
openapi: 3.1.0
info:
title: Routescan (Snowtrace) Etherscan-Compatible Accounts Logs 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: Logs
description: Smart contract event log query endpoints.
paths:
/logs/getLogs:
get:
operationId: getLogs
summary: Get event logs by address and topics
description: 'Returns event logs emitted by a smart contract address, filtered by block range and up to four indexed topics.
'
tags:
- Logs
parameters:
- name: module
in: query
required: true
schema:
type: string
enum:
- logs
- name: action
in: query
required: true
schema:
type: string
enum:
- getLogs
- name: address
in: query
required: false
schema:
type: string
description: Contract address to filter logs.
- $ref: '#/components/parameters/startblockParam'
- $ref: '#/components/parameters/endblockParam'
- name: topic0
in: query
required: false
schema:
type: string
description: First indexed event topic (event signature hash).
- name: topic1
in: query
required: false
schema:
type: string
description: Second indexed event topic.
- name: topic2
in: query
required: false
schema:
type: string
description: Third indexed event topic.
- name: topic3
in: query
required: false
schema:
type: string
description: Fourth indexed event topic.
- name: topic0_1_opr
in: query
required: false
schema:
type: string
enum:
- and
- or
description: Logical operator between topic0 and topic1.
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/offsetParam'
- $ref: '#/components/parameters/apikeyParam'
responses:
'200':
description: List of event logs
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- type: object
properties:
result:
type: array
items:
$ref: '#/components/schemas/LogItem'
components:
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
LogItem:
type: object
properties:
address:
type: string
topics:
type: array
items:
type: string
data:
type: string
blockNumber:
type: string
blockHash:
type: string
timeStamp:
type: string
gasPrice:
type: string
gasUsed:
type: string
logIndex:
type: string
transactionHash:
type: string
transactionIndex:
type: string
parameters:
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.
offsetParam:
name: offset
in: query
required: false
schema:
type: integer
default: 10
description: Number of results per page (max 10000).
startblockParam:
name: startblock
in: query
required: false
schema:
type: integer
default: 0
description: Starting block number for block-range queries.
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.
'