Routescan (Snowtrace) Proxy API

Ethereum JSON-RPC compatible proxy endpoints.

Specifications

OpenAPI Specification

snowtrace-proxy-api-openapi.yml Raw ↑
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.

        '