Base URLs. Replace
{chain_id} with the chain’s numeric ID (for example 1 for Ethereum).- REST API:
https://api.blockscout.com/{chain_id}/api/v2. REST paths are relative to it. Legacy routes show their full path afterhttps://api.blockscout.com/{chain_id}. - RPC API:
https://api.blockscout.com/v2/api?chain_id={chain_id}. Add themoduleandactionshown in the tables. - ETH RPC API:
POST https://api.blockscout.com/{chain_id}/json-rpcwith a JSON-RPC 2.0 body. The method name goes in themethodfield. - Services (name service, address metadata, multichain search, stats):
https://api.blockscout.com. Service paths show their full path after it. Replace{cluster_id}with a cluster ID.
Send your API key as the
apikey query parameter or as an Authorization: Bearer YOUR_KEY header. REST list endpoints return next_page_params; pass those values back as query parameters to get the next page.Endpoints marked (spec only) come from the API specifications and have not been verified against a live API. Endpoints marked (requires a logged-in account) need an account session as well as an API key.
REST API
Blocks
| Method | Endpoint | Description |
|---|---|---|
| GET | /blocks | get blocks |
| GET | /blocks/{block_hash_or_number} | get block |
| GET | /blocks/{block_hash_or_number}/internal-transactions | get block internal transactions |
| GET | /blocks/{block_hash_or_number}/transactions | get block transactions |
| GET | /blocks/{block_hash_or_number}/withdrawals | get block withdrawals |
| GET | /blocks/{block_number}/countdown | get block countdown |
Transactions
| Method | Endpoint | Description |
|---|---|---|
| GET | /transactions | get transactions |
| GET | /transactions/stats | get transactions stats |
| GET | /transactions/watchlist | get transactions watchlist (requires a logged-in account) |
| GET | /transactions/{transaction_hash} | get transaction |
| GET | /transactions/{transaction_hash}/internal-transactions | get transaction internal transactions |
| GET | /transactions/{transaction_hash}/logs | get transaction logs |
| GET | /transactions/{transaction_hash}/preview | get transaction preview (new in v12) |
| GET | /transactions/{transaction_hash}/raw-trace | get transaction raw trace |
| GET | /transactions/{transaction_hash}/state-changes | get transaction state changes |
| GET | /transactions/{transaction_hash}/summary | get transaction summary |
| GET | /transactions/{transaction_hash}/token-transfers | get transaction token transfers |
Addresses
Internal transactions
| Method | Endpoint | Description |
|---|---|---|
| GET | /internal-transactions | get internal transactions |
Token transfers
| Method | Endpoint | Description |
|---|---|---|
| GET | /token-transfers | get token transfers |
Tokens
| Method | Endpoint | Description |
|---|---|---|
| GET | /tokens | get tokens |
| POST | /tokens/batch | get tokens by address (batch) (spec only) (new in v12) |
| GET | /tokens/{address_hash} | get token |
| GET | /tokens/{address_hash}/counters | get token counters |
| GET | /tokens/{address_hash}/holders | get token holders |
| GET | /tokens/{address_hash}/holders/csv | export token holders csv |
| GET | /tokens/{address_hash}/instances | get token instances |
| PATCH | /tokens/{address_hash}/instances/refetch-metadata | refetch collection metadata (spec only) (new in v12) |
| GET | /tokens/{address_hash}/instances/{token_id} | get token instance |
| GET | /tokens/{address_hash}/instances/{token_id}/holders | get token instance holders |
| GET | /tokens/{address_hash}/instances/{token_id}/media-type | get token instance media type (spec only) |
| PATCH | /tokens/{address_hash}/instances/{token_id}/refetch-metadata | refetch NFT metadata (spec only) (new in v12) |
| GET | /tokens/{address_hash}/instances/{token_id}/transfers | get token instance transfers |
| GET | /tokens/{address_hash}/instances/{token_id}/transfers-count | get token instance transfers count |
| GET | /tokens/{address_hash}/transfers | get token transfers |
| GET | /tokens/{address_hash}/transfers/csv | export token transfers csv (spec only) |
| GET | /tokens/{address_hash}/ui-multiplier-changes | get token ui multiplier changes (spec only) (new in v12) |
Smart contracts
| Method | Endpoint | Description |
|---|---|---|
| GET | /smart-contracts | get smart contracts |
| GET | /smart-contracts/counters | get smart contracts counters |
| GET | /smart-contracts/{address_hash} | get smart contract |
| GET | /smart-contracts/{address_hash}/audit-reports | get smart contract audit reports (spec only) |
| POST | /smart-contracts/{address_hash}/audit-reports | submit audit report (spec only) (new in v12) |
Search
| Method | Endpoint | Description |
|---|---|---|
| GET | /search | search |
| GET | /search/check-redirect | search redirect |
| GET | /search/quick | quick search |
Stats
| Method | Endpoint | Description |
|---|---|---|
| GET | /stats | get stats counters |
| GET | /stats/charts/market | get stats charts market |
| GET | /stats/charts/secondary-coin-market | get stats charts secondary coin market |
| GET | /stats/charts/transactions | get stats charts transactions |
| GET | /stats/hot-smart-contracts | get stats hot smart contracts |
Main page
| Method | Endpoint | Description |
|---|---|---|
| GET | /main-page/blocks | get main page blocks |
| GET | /main-page/indexing-status | get indexing status |
| GET | /main-page/transactions | get main page transactions |
| GET | /main-page/transactions/watchlist | get main page transactions watchlist (requires a logged-in account) |
Advanced filters
| Method | Endpoint | Description |
|---|---|---|
| GET | /advanced-filters | get advanced filters |
| GET | /advanced-filters/csv | export advanced filters csv |
| GET | /advanced-filters/methods | get advanced filters methods |
CSV exports
| Method | Endpoint | Description |
|---|---|---|
| GET | /csv-exports/{uuid} | get csv export (spec only) |
Withdrawals
| Method | Endpoint | Description |
|---|---|---|
| GET | /withdrawals | get withdrawals |
| GET | /withdrawals/counters | get withdrawals counters |
Config
| Method | Endpoint | Description |
|---|---|---|
| GET | /config/backend | get config backend (new in v12) |
| GET | /config/backend-version | get config backend version (new in v12) |
| GET | /config/csv-export | get config csv export (new in v12) |
| GET | /config/db-background-migrations | get config db background migrations (new in v12) |
| GET | /config/indexer | get config indexer (new in v12) |
| GET | /config/public-metrics | get config public metrics (new in v12) |
| GET | /config/smart-contracts/languages | get config smart contracts languages (new in v12) |
Chain-specific endpoints
These endpoints only exist on chains of the matching type, or where the feature is enabled. On other chains they return a 404 or an empty result.Account Abstraction (ERC-4337)
| Method | Endpoint | Description |
|---|---|---|
| GET | /proxy/account-abstraction/accounts | get proxy account abstraction accounts |
| GET | /proxy/account-abstraction/accounts/{address_hash} | get proxy account abstraction account |
| GET | /proxy/account-abstraction/bundlers | get proxy account abstraction bundlers (spec only) |
| GET | /proxy/account-abstraction/bundlers/{address_hash} | get proxy account abstraction bundler |
| GET | /proxy/account-abstraction/bundles | get proxy account abstraction bundles |
| GET | /proxy/account-abstraction/factories | get proxy account abstraction factories (spec only) |
| GET | /proxy/account-abstraction/factories/{address_hash} | get proxy account abstraction factory (spec only) |
| GET | /proxy/account-abstraction/operations | get proxy account abstraction operations |
| GET | /proxy/account-abstraction/operations/{operation_hash} | get proxy account abstraction operation |
| GET | /proxy/account-abstraction/operations/{operation_hash}/summary | get proxy account abstraction operation summary |
| GET | /proxy/account-abstraction/paymasters | get proxy account abstraction paymasters (spec only) |
| GET | /proxy/account-abstraction/paymasters/{address_hash} | get proxy account abstraction paymaster |
| GET | /proxy/account-abstraction/status | get proxy account abstraction status |
Ethereum (beacon chain and blobs)
| Method | Endpoint | Description |
|---|---|---|
| GET | /addresses/{address_hash}/beacon/deposits | get address beacon deposits |
| GET | /beacon/deposits | get beacon deposits |
| GET | /beacon/deposits/count | get beacon deposits count |
| GET | /blocks/{block_hash_or_number}/beacon/deposits | get block beacon deposits |
| GET | /transactions/{transaction_hash}/beacon/deposits | get transaction beacon deposits |
| GET | /transactions/{transaction_hash}/blobs | get transaction blobs |
Arbitrum
Optimism
| Method | Endpoint | Description |
|---|---|---|
| GET | /blocks/optimism-batch/{batch_number} | get blocks optimism batch |
| GET | /main-page/optimism-deposits | get main page optimism deposits |
| GET | /optimism/batches | get optimism batches |
| GET | /optimism/batches/count | get optimism batches count |
| GET | /optimism/batches/da/celestia/{height}/{commitment} | get optimism batches da celestia (spec only) |
| GET | /optimism/batches/{number} | get optimism batch |
| GET | /optimism/deposits | get optimism deposits |
| GET | /optimism/deposits/count | get optimism deposits count |
| GET | /optimism/games | get optimism games |
| GET | /optimism/games/count | get optimism games count |
| GET | /optimism/output-roots | get optimism output roots |
| GET | /optimism/output-roots/count | get optimism output roots count |
| GET | /optimism/withdrawals | get optimism withdrawals |
| GET | /optimism/withdrawals/count | get optimism withdrawals count |
| GET | /transactions/optimism-batch/{batch_number} | get transactions optimism batch |
Scroll
| Method | Endpoint | Description |
|---|---|---|
| GET | /blocks/scroll-batch/{batch_number} | get blocks scroll batch |
| GET | /scroll/batches | get scroll batches |
| GET | /scroll/batches/count | get scroll batches count |
| GET | /scroll/batches/{number} | get scroll batch |
| GET | /scroll/deposits | get scroll deposits |
| GET | /scroll/deposits/count | get scroll deposits count |
| GET | /scroll/withdrawals | get scroll withdrawals |
| GET | /scroll/withdrawals/count | get scroll withdrawals count |
| GET | /transactions/scroll-batch/{batch_number} | get transactions scroll batch |
zkSync
| Method | Endpoint | Description |
|---|---|---|
| GET | /main-page/zksync/batches/confirmed | get main page zksync batches confirmed (spec only) |
| GET | /main-page/zksync/batches/latest-number | get main page zksync batches latest number (spec only) |
| GET | /transactions/zksync-batch/{batch_number} | get transactions zksync batch (spec only) |
| GET | /zksync/batches | get zksync batches (spec only) |
| GET | /zksync/batches/count | get zksync batches count (spec only) |
| GET | /zksync/batches/{batch_number} | get zksync batch (spec only) |
Shibarium
| Method | Endpoint | Description |
|---|---|---|
| GET | /shibarium/deposits | get shibarium deposits (spec only) |
| GET | /shibarium/deposits/count | get shibarium deposits count (spec only) |
| GET | /shibarium/withdrawals | get shibarium withdrawals (spec only) |
| GET | /shibarium/withdrawals/count | get shibarium withdrawals count (spec only) |
Celo
| Method | Endpoint | Description |
|---|---|---|
| GET | /addresses/{address_hash}/celo/election-rewards | get address celo election rewards (spec only) |
| GET | /addresses/{address_hash}/celo/election-rewards/csv | export address celo election rewards csv (spec only) |
| GET | /celo/epochs | get celo epochs |
| GET | /celo/epochs/{number} | get celo epoch |
| GET | /celo/epochs/{number}/election-rewards/{type} | get celo epoch election reward |
| GET | /config/celo | get config celo (new in v12) |
Stability
| Method | Endpoint | Description |
|---|---|---|
| GET | /validators/stability | get validators stability (spec only) |
| GET | /validators/stability/counters | get validators stability counters (spec only) |
Zilliqa
| Method | Endpoint | Description |
|---|---|---|
| GET | /validators/zilliqa | get validators zilliqa |
| GET | /validators/zilliqa/{bls_public_key} | get validators zilliqa |
Neon
| Method | Endpoint | Description |
|---|---|---|
| GET | /transactions/{transaction_hash}/external-transactions | get transaction external transactions |
FHE chains
| Method | Endpoint | Description |
|---|---|---|
| GET | /transactions/{transaction_hash}/fhe-operations | get transaction fhe operations (spec only) |
Execution nodes
| Method | Endpoint | Description |
|---|---|---|
| GET | /transactions/execution-node/{execution_node_hash} | get transactions execution node (spec only) |
Legacy and JSON-RPC routes
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/legacy/block/get-block-number-by-time | get block number by time (spec only) |
| POST | /api/legacy/eth/eth-block-number | eth_blockNumber (spec only) (new in v12) |
| POST | /api/legacy/eth/eth-call | eth_call (spec only) (new in v12) |
| POST | /api/legacy/eth/eth-get-balance | eth_getBalance (spec only) (new in v12) |
| POST | /api/legacy/eth/eth-get-logs | eth_getLogs (spec only) (new in v12) |
| POST | /api/legacy/eth/eth-get-storage-at | eth_getStorageAt (spec only) (new in v12) |
| POST | /api/legacy/eth/eth-send-raw-transaction | eth_sendRawTransaction (spec only) (new in v12) |
| GET | /api/v1/search | search (legacy v1 alias) (spec only) |
RPC API
Etherscan-compatiblemodule and action calls. Requests go to https://api.blockscout.com/v2/api?chain_id={chain_id}; add the parameters shown, plus your apikey.
Account
| Method | Action | Description |
|---|---|---|
| GET | module=account&action=balance | get native balance |
| GET | module=account&action=balancemulti | get native balances for multiple addresses |
| GET | module=account&action=eth_get_balance | get balance at a block (JSON-RPC format) |
| GET | module=account&action=txlist | get transactions by address |
| GET | module=account&action=pendingtxlist | get pending transactions by address |
| GET | module=account&action=txlistinternal | get internal transactions |
| GET | module=account&action=tokentx | get ERC-20 token transfers by address |
| GET | module=account&action=tokennfttx | get ERC-721 token transfers by address |
| GET | module=account&action=token1155tx | get ERC-1155 token transfers by address |
| GET | module=account&action=token404tx | get ERC-404 token transfers by address |
| GET | module=account&action=tokenbalance | get token balance of an address |
| GET | module=account&action=tokenlist | get tokens owned by an address |
| GET | module=account&action=getminedblocks | get blocks validated by an address |
| GET | module=account&action=listaccounts | list accounts and balances |
Block
| Method | Action | Description |
|---|---|---|
| GET | module=block&action=getblockreward | get block reward |
| GET | module=block&action=getblockcountdown | get block countdown |
| GET | module=block&action=getblocknobytime | get block number by timestamp |
| GET | module=block&action=eth_block_number | get latest block number (JSON-RPC format) |
Contract
| Method | Action | Description |
|---|---|---|
| GET | module=contract&action=listcontracts | list contracts |
| GET | module=contract&action=getabi | get contract ABI |
| GET | module=contract&action=getsourcecode | get contract source code |
| GET | module=contract&action=getcontractcreation | get contract creator and creation transaction |
| POST | module=contract&action=verify | verify a contract (source code) (spec only) |
| POST | module=contract&action=verifysourcecode | verify a contract (standard JSON input) |
| POST | module=contract&action=verify_vyper_contract | verify a Vyper contract (spec only) |
| POST | module=contract&action=verify_via_sourcify | verify a contract through Sourcify (spec only) |
| GET | module=contract&action=verifyproxycontract | verify a proxy contract (spec only) |
| GET | module=contract&action=checkverifystatus | check verification status |
| GET | module=contract&action=checkproxyverification | check proxy verification status |
Logs
| Method | Action | Description |
|---|---|---|
| GET | module=logs&action=getLogs | get event logs |
Stats
| Method | Action | Description |
|---|---|---|
| GET | module=stats&action=tokensupply | get token total supply |
| GET | module=stats&action=ethsupply | get total supply (database) |
| GET | module=stats&action=ethsupplyexchange | get total supply (exchange data) |
| GET | module=stats&action=coinsupply | get coin supply minus burnt |
| GET | module=stats&action=ethprice | get native coin price |
| GET | module=stats&action=coinprice | get native coin price (chain-neutral fields) |
| GET | module=stats&action=totalfees | get total transaction fees for a day |
Token
| Method | Action | Description |
|---|---|---|
| GET | module=token&action=getToken | get token |
| GET | module=token&action=getTokenHolders | get token holders |
| GET | module=token&action=bridgedTokenList | get bridged tokens (where applicable) |
Transaction
| Method | Action | Description |
|---|---|---|
| GET | module=transaction&action=gettxinfo | get transaction info |
| GET | module=transaction&action=gettxreceiptstatus | get receipt status |
| GET | module=transaction&action=getstatus | get execution status and error |
ETH RPC API
Standard JSON-RPC 2.0 methods. Send each as aPOST to https://api.blockscout.com/{chain_id}/json-rpc.
| Method | JSON-RPC method | Description |
|---|---|---|
| POST | eth_blockNumber | get latest block number |
| POST | eth_chainId | get chain ID |
| POST | eth_gasPrice | get gas price |
| POST | eth_maxPriorityFeePerGas | get max priority fee per gas |
| POST | eth_getBalance | get balance |
| POST | eth_getTransactionCount | get transaction count (nonce) |
| POST | eth_getCode | get contract bytecode |
| POST | eth_getStorageAt | get storage value |
| POST | eth_getTransactionByHash | get transaction by hash |
| POST | eth_getTransactionReceipt | get transaction receipt |
| POST | eth_sendRawTransaction | send signed transaction (spec only) |
| POST | eth_getBlockByNumber | get block by number |
| POST | eth_getBlockByHash | get block by hash |
| POST | eth_call | execute a call |
| POST | eth_estimateGas | estimate gas |
| POST | eth_getLogs | get event logs |
Services
Name service, address metadata, multichain search and stats endpoints. Paths are shown in full, afterhttps://api.blockscout.com.
Name service (BENS): single chain
| Method | Endpoint | Description |
|---|---|---|
| GET | /services/bens/api/v1/{chain_id}/addresses/{address} | get main domain of an address |
| POST | /services/bens/api/v1/{chain_id}/addresses:batch-resolve-names | resolve names for a batch of addresses |
| GET | /services/bens/api/v1/{chain_id}/addresses:lookup | look up domains for an address (spec only) |
| GET | /services/bens/api/v1/{chain_id}/domains/{name} | get domain details |
| GET | /services/bens/api/v1/{chain_id}/domains/{name}/events | get domain events |
| GET | /services/bens/api/v1/{chain_id}/domains:lookup | look up domains by name |
| GET | /services/bens/api/v1/{chain_id}/protocols | get supported protocols |
Name service (BENS): multichain
| Method | Endpoint | Description |
|---|---|---|
| GET | /services/bens/api/v1/addresses/{address} | get main domain of an address |
| POST | /services/bens/api/v1/addresses:batch-resolve | resolve names for a batch of addresses |
| GET | /services/bens/api/v1/addresses:lookup | look up domains for an address (spec only) |
| GET | /services/bens/api/v1/domains/{name} | get domain details |
| GET | /services/bens/api/v1/domains/{name}/events | get domain events |
| GET | /services/bens/api/v1/domains:lookup | look up domains by name |
| GET | /services/bens/api/v1/protocols | get supported protocols |
Address metadata
| Method | Endpoint | Description |
|---|---|---|
| GET | /services/metadata/api/v1/addresses | get addresses by public tag (spec only) |
| POST | /services/metadata/api/v1/addresses:submit | submit addresses for metadata extraction (spec only) |
| GET | /services/metadata/api/v1/metadata | get metadata for addresses |
| GET | /services/metadata/api/v1/public-tag-types | get public tag types |
| GET | /services/metadata/api/v1/reputation | get reputation for addresses |
| GET | /services/metadata/api/v1/tags:search | search public tags (spec only) |
Multichain search
Stats service
| Method | Endpoint | Description |
|---|---|---|
| GET | /{chain_id}/stats-service/api/v1/counters | get all counters |
| GET | /{chain_id}/stats-service/api/v1/lines | list line charts |
| GET | /{chain_id}/stats-service/api/v1/lines/{name} | get a line chart |
| GET | /{chain_id}/stats-service/api/v1/pages/contracts | get contracts page stats |
| GET | /{chain_id}/stats-service/api/v1/pages/interchain/main | get interchain stats (where enabled) |
| GET | /{chain_id}/stats-service/api/v1/pages/main | get main page stats |
| GET | /{chain_id}/stats-service/api/v1/pages/multichain/main | get multichain stats (where enabled) |
| GET | /{chain_id}/stats-service/api/v1/pages/transactions | get transactions page stats |