OpenAPI Specification
openapi: 3.0.3
info:
title: Etherscan Accounts Stats API
description: Etherscan API V2 provides unified access to blockchain data across Ethereum and 60+ EVM-compatible chains, including transactions, addresses, blocks, smart contracts, token transfers, and gas tracking. A single API key works across all supported networks.
version: '2.0'
contact:
name: Etherscan Support
url: https://docs.etherscan.io/
termsOfService: https://etherscan.io/apiterms
license:
name: Etherscan API Terms
url: https://etherscan.io/apiterms
servers:
- url: https://api.etherscan.io/v2/api
description: Etherscan unified V2 API endpoint
security:
- apiKeyAuth: []
tags:
- name: Stats
description: Network and supply statistics
paths:
/:
get:
summary: Unified API endpoint
description: All Etherscan API V2 calls are issued against the same endpoint, with the `module`, `action`, and `chainid` query parameters selecting the operation and target chain.
operationId: callApi
tags:
- Stats
parameters:
- name: chainid
in: query
required: true
description: Numeric chain ID (e.g. 1 for Ethereum mainnet, 56 for BNB Smart Chain, 8453 for Base).
schema:
type: integer
example: 1
- name: module
in: query
required: true
description: API module (account, contract, transaction, block, stats, gastracker, token).
schema:
type: string
example: account
- name: action
in: query
required: true
description: Action within the module (e.g. balance, txlist, tokenbalance, getabi).
schema:
type: string
example: balance
- name: address
in: query
required: false
description: Ethereum address for account or token operations.
schema:
type: string
example: '0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae'
- name: contractaddress
in: query
required: false
description: Smart contract address for token or contract operations.
schema:
type: string
- name: startblock
in: query
required: false
schema:
type: integer
- name: endblock
in: query
required: false
schema:
type: integer
- name: page
in: query
required: false
schema:
type: integer
- name: offset
in: query
required: false
schema:
type: integer
- name: sort
in: query
required: false
schema:
type: string
enum:
- asc
- desc
- name: tag
in: query
required: false
description: Block tag (latest, earliest, pending) or block number.
schema:
type: string
responses:
'200':
description: Successful response with module-specific result payload.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'400':
description: Invalid request parameters.
'401':
description: Missing or invalid API key.
'429':
description: Rate limit exceeded.
components:
schemas:
ApiResponse:
type: object
properties:
status:
type: string
description: 1 for success, 0 for error
example: '1'
message:
type: string
example: OK
result:
description: Module-specific response payload (string, object, or array).
securitySchemes:
apiKeyAuth:
type: apiKey
in: query
name: apikey
description: Etherscan API key, obtained from https://etherscan.io/myapikey