Routescan (Snowtrace) Contracts API
Smart contract ABI, source code, and verification endpoints.
Smart contract ABI, source code, and verification 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-contracts-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Routescan (Snowtrace) Etherscan-Compatible Accounts Contracts 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: Contracts
description: Smart contract ABI, source code, and verification endpoints.
paths:
/contract/getabi:
get:
operationId: getContractABI
summary: Get contract ABI
description: 'Returns the ABI (Application Binary Interface) for a verified smart contract.
'
tags:
- Contracts
parameters:
- name: module
in: query
required: true
schema:
type: string
enum:
- contract
- name: action
in: query
required: true
schema:
type: string
enum:
- getabi
- $ref: '#/components/parameters/addressParam'
- $ref: '#/components/parameters/apikeyParam'
responses:
'200':
description: Contract ABI as JSON string
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- type: object
properties:
result:
type: string
description: JSON-encoded ABI array.
/contract/getsourcecode:
get:
operationId: getContractSourceCode
summary: Get contract source code
description: 'Returns the Solidity source code and compilation metadata for a verified smart contract.
'
tags:
- Contracts
parameters:
- name: module
in: query
required: true
schema:
type: string
enum:
- contract
- name: action
in: query
required: true
schema:
type: string
enum:
- getsourcecode
- $ref: '#/components/parameters/addressParam'
- $ref: '#/components/parameters/apikeyParam'
responses:
'200':
description: Contract source code details
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- type: object
properties:
result:
type: array
items:
type: object
properties:
SourceCode:
type: string
ABI:
type: string
ContractName:
type: string
CompilerVersion:
type: string
OptimizationUsed:
type: string
Runs:
type: string
ConstructorArguments:
type: string
EVMVersion:
type: string
Library:
type: string
LicenseType:
type: string
Proxy:
type: string
Implementation:
type: string
SwaggerVersion:
type: string
/contract/getcontractcreation:
get:
operationId: getContractCreation
summary: Get contract creator and creation transaction
description: 'Returns the creator address and creation transaction hash for up to 5 smart contract addresses.
'
tags:
- Contracts
parameters:
- name: module
in: query
required: true
schema:
type: string
enum:
- contract
- name: action
in: query
required: true
schema:
type: string
enum:
- getcontractcreation
- name: contractaddresses
in: query
required: true
schema:
type: string
description: Comma-separated list of up to 5 contract addresses.
- $ref: '#/components/parameters/apikeyParam'
responses:
'200':
description: Contract creation details
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- type: object
properties:
result:
type: array
items:
type: object
properties:
contractAddress:
type: string
contractCreator:
type: string
txHash:
type: string
/contract/verifysourcecode:
post:
operationId: verifySourceCode
summary: Verify smart contract source code
description: 'Submits a smart contract''s Solidity source code for verification. Limited to 250 verifications per day. Returns a GUID for status polling.
'
tags:
- Contracts
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- module
- action
- contractaddress
- sourceCode
- codeformat
- contractname
- compilerversion
properties:
module:
type: string
enum:
- contract
action:
type: string
enum:
- verifysourcecode
contractaddress:
type: string
description: The deployed contract address.
sourceCode:
type: string
description: Solidity source code.
codeformat:
type: string
enum:
- solidity-single-file
- solidity-standard-json-input
contractname:
type: string
compilerversion:
type: string
example: v0.8.19+commit.7dd6d404
optimizationUsed:
type: integer
enum:
- 0
- 1
runs:
type: integer
constructorArguments:
type: string
evmversion:
type: string
licenseType:
type: integer
description: SPDX license ID (e.g. 3=MIT, 5=GPL-2.0, etc.)
apikey:
type: string
responses:
'200':
description: Verification submission GUID
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- type: object
properties:
result:
type: string
description: GUID to use with checkverifystatus.
/contract/checkverifystatus:
get:
operationId: checkVerifyStatus
summary: Check verification submission status
description: 'Polls the status of a contract source code verification submission using the GUID returned by verifysourcecode.
'
tags:
- Contracts
parameters:
- name: module
in: query
required: true
schema:
type: string
enum:
- contract
- name: action
in: query
required: true
schema:
type: string
enum:
- checkverifystatus
- name: guid
in: query
required: true
schema:
type: string
description: GUID returned from the verifysourcecode submission.
- $ref: '#/components/parameters/apikeyParam'
responses:
'200':
description: Verification status
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- type: object
properties:
result:
type: string
description: 'Pass: Verified or Pending in queue or Fail: reason.'
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
parameters:
apikeyParam:
name: apikey
in: query
required: false
schema:
type: string
description: API key for authenticated access. Use "placeholder" for free tier.
addressParam:
name: address
in: query
required: true
schema:
type: string
description: Ethereum-compatible wallet or contract address (0x-prefixed, 42 chars).
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.
'