Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/b3-blockscout-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
OpenAPI Specification
openapi: 3.2.0
info:
description: Cached proxy layer for multiple blockchain APIs with 24-hour caching and automatic fallback across chains. Supports both Blockscout and ThirdWeb Insights APIs. Add ?mintlify parameter for Mintlify-compatible version.
version: 1.0.0
title: B3 Data API - Multi-Chain Data Blockscout API
contact:
name: B3 Team
url: https://b3.fun
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: https://data-api.b3.fun/
description: B3 Data API - Multi-Chain Proxy
tags:
- name: blockscout
description: General Blockscout endpoints
paths:
/blockscout/transactions:
get:
parameters:
- in: query
name: filter
schema:
type: string
example: pending | validated
- in: query
name: type
schema:
type: string
example: token_transfer,contract_creation,contract_call,coin_transfer,token_creation
- in: query
name: method
schema:
type: string
example: approve,transfer,multicall,mint,commit
summary: Get Transactions
operationId: get_txs
responses:
'200':
description: Block
content:
application/json:
schema:
type: object
required:
- items
- next_page_params
properties:
items:
type: array
items:
$ref: '#/components/schemas/Transaction'
next_page_params:
type: object
example:
block_number: 27170298
index: 0
items_count: 50
'400':
description: Bad Input Parameter
tags:
- blockscout
/blockscout/stats:
get:
summary: Get Stats Counters
operationId: get_stats
responses:
'200':
description: Stats
content:
application/json:
schema:
$ref: '#/components/schemas/StatsResponse'
tags:
- blockscout
/blockscout/addresses:
get:
summary: Get Native Coin Holders List
operationId: get_addresses
responses:
'200':
description: Token
content:
application/json:
schema:
type: object
required:
- exchange_rate
- total_supply
- items
- next_page_params
properties:
exchange_rate:
type: string
example: '0.01'
total_supply:
type: string
example: '100000000'
items:
type: array
items:
$ref: '#/components/schemas/AddressWithTxCount'
next_page_params:
type: object
example:
fetched_coin_balance: '269536604956070000000'
hash: '0xf74769d9ffe1cd17f20b283995cf9e7fa2a262ed'
items_count: 50
'400':
description: Bad Input Parameter
tags:
- blockscout
/blockscout/addresses/{address_hash}:
get:
summary: Get Address Info
operationId: get_address
parameters:
- $ref: '#/components/parameters/addressHash'
responses:
'200':
description: Address
content:
application/json:
schema:
$ref: '#/components/schemas/Address'
'400':
description: Bad Input Parameter
tags:
- blockscout
/blockscout/addresses/{address_hash}/counters:
get:
summary: Get Address Counters
operationId: get_address_counters
parameters:
- $ref: '#/components/parameters/addressHash'
responses:
'200':
description: Address
content:
application/json:
schema:
$ref: '#/components/schemas/AddressCounters'
'400':
description: Bad Input Parameter
tags:
- blockscout
/blockscout/addresses/{address_hash}/transactions:
get:
summary: Get Address Transactions
operationId: get_address_txs
parameters:
- $ref: '#/components/parameters/addressHash'
- in: query
name: filter
schema:
type: string
example: to | from
responses:
'200':
description: Address
content:
application/json:
schema:
type: object
required:
- items
- next_page_params
properties:
items:
type: array
items:
$ref: '#/components/schemas/Transaction'
next_page_params:
type: object
example:
block_number: 27736955
index: 4
items_count: 50
'400':
description: Bad Input Parameter
tags:
- blockscout
/blockscout/addresses/{address_hash}/logs:
get:
summary: Get Address Logs
operationId: get_address_logs
parameters:
- $ref: '#/components/parameters/addressHash'
responses:
'200':
description: Address
content:
application/json:
schema:
type: object
required:
- items
- next_page_params
properties:
items:
type: array
items:
$ref: '#/components/schemas/Log'
next_page_params:
type: object
example:
block_number: 27736955
index: 68
items_count: 50
'400':
description: Bad Input Parameter
tags:
- blockscout
/blockscout/addresses/{address_hash}/coin-balance-history:
get:
summary: Get Address Coin Balance History
operationId: get_address_coin_balance_history
parameters:
- $ref: '#/components/parameters/addressHash'
responses:
'200':
description: Address
content:
application/json:
schema:
type: object
required:
- items
- next_page_params
properties:
items:
type: array
items:
$ref: '#/components/schemas/CoinBalanceHistoryEntry'
next_page_params:
type: object
example:
block_number: 27736955
items_count: 50
'400':
description: Bad Input Parameter
tags:
- blockscout
/blockscout/addresses/{address_hash}/coin-balance-history-by-day:
get:
summary: Get Address Coin Balance History by Day
operationId: get_address_coin_balance_history_by_day
parameters:
- $ref: '#/components/parameters/addressHash'
responses:
'200':
description: Address
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CoinBalanceHistoryByDaysEntry'
'400':
description: Bad Input Parameter
tags:
- blockscout
/blockscout/addresses/{address_hash}/withdrawals:
get:
summary: Get Address Withdrawals
operationId: get_address_withdrawals
parameters:
- $ref: '#/components/parameters/addressHash'
responses:
'200':
description: pay attention that receiver field is not included to response in this endpoint
content:
application/json:
schema:
type: object
required:
- items
- next_page_params
properties:
items:
type: array
items:
$ref: '#/components/schemas/Withdrawal'
next_page_params:
type: object
example:
index: 1
items_count: 50
'400':
description: Bad Input Parameter
tags:
- blockscout
/blockscout/addresses/{address_hash}/nft:
get:
summary: Get List of NFT Owned by Address
operationId: get_address_nft
parameters:
- $ref: '#/components/parameters/addressHash'
- in: query
name: type
schema:
type: string
example: ERC-721,ERC-404,ERC-1155
responses:
'200':
description: Address
content:
application/json:
schema:
type: object
required:
- items
- next_page_params
properties:
items:
type: array
items:
$ref: '#/components/schemas/AddressNFTInstance'
next_page_params:
type: object
example:
token_contract_address_hash: '0xb81afe27c103bcd42f4026cf719af6d802928765'
token_id: '1011'
token_type: ERC-721
'400':
description: Bad Input Parameter
tags:
- blockscout
/blockscout/addresses/{address_hash}/nft/collections:
get:
summary: Get List of NFT Owned by Address, Grouped by Collection
operationId: get_address_nft_collections
parameters:
- $ref: '#/components/parameters/addressHash'
- in: query
name: type
schema:
type: string
example: ERC-721,ERC-404,ERC-1155
responses:
'200':
description: Address
content:
application/json:
schema:
type: object
required:
- items
- next_page_params
properties:
items:
type: array
items:
$ref: '#/components/schemas/AddressNFTCollection'
next_page_params:
type: object
example:
token_contract_address_hash: '0xb81afe27c103bcd42f4026cf719af6d802928765'
token_type: ERC-721
'400':
description: Bad Input Parameter
tags:
- blockscout
/blockscout/smart-contracts:
get:
summary: Get Verified Smart Contracts
operationId: get_smart_contracts
parameters:
- in: query
name: q
schema:
type: string
example: proxy
- in: query
name: filter
schema:
type: string
example: vyper | solidity | yul
responses:
'200':
description: Smart Contract
content:
application/json:
schema:
type: object
required:
- items
- next_page_params
properties:
items:
type: array
items:
$ref: '#/components/schemas/SmartContractForList'
next_page_params:
type: object
example:
items_count: 50
smart_contract_id: 46
'400':
description: Bad Input Parameter
tags:
- blockscout
/blockscout/smart-contracts/counters:
get:
summary: Get Verified Smart Contracts Counters
operationId: get_smart_contracts_counters
responses:
'200':
description: Smart Contracts Counters
content:
application/json:
schema:
type: object
required:
- new_smart_contracts_24h
- new_verified_smart_contracts_24h
- smart_contracts
- verified_smart_contracts
properties:
new_smart_contracts_24h:
type: string
example: '12'
new_verified_smart_contracts_24h:
type: string
example: '11'
smart_contracts:
type: string
example: '20'
verified_smart_contracts:
type: string
example: '15'
'400':
description: Bad Input Parameter
tags:
- blockscout
/blockscout/smart-contracts/{address_hash}:
get:
summary: Get Smart Contract
operationId: get_smart_contract
parameters:
- $ref: '#/components/parameters/addressHash'
responses:
'200':
description: Smart Contract
content:
application/json:
schema:
$ref: '#/components/schemas/SmartContract'
'400':
description: Bad Input Parameter
tags:
- blockscout
/blockscout/config/json-rpc-url:
get:
summary: Get JSON RPC URL
operationId: get_json_rpc_url
responses:
'200':
description: JSON RPC URL
content:
application/json:
schema:
type: object
required:
- json_rpc_url
properties:
json_rpc_url:
type: string
example: https://core.poa.network
tags:
- blockscout
/blockscout/withdrawals:
get:
summary: Get Withdrawals
operationId: get_withdrawals
responses:
'200':
description: Withdrawals
content:
application/json:
schema:
type: object
required:
- items
- next_page_params
properties:
items:
type: array
items:
$ref: '#/components/schemas/Withdrawal'
next_page_params:
type: object
example:
index: 1
items_count: 50
tags:
- blockscout
/blockscout/proxy/account-abstraction/status:
get:
summary: Get Account Abstraction Indexing Status
operationId: get_account_abstraction_status
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/v1IndexerStatus'
'500':
description: Unexpected Error
tags:
- blockscout
/blockscout/api/v1/celestia/blob:
get:
operationId: CelestiaService_GetBlob
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/v1CelestiaBlob'
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
parameters:
- name: height
in: query
required: false
schema:
type: string
format: uint64
- name: commitment
in: query
required: false
schema:
type: string
- name: skipData
in: query
required: false
schema:
type: boolean
tags:
- blockscout
/blockscout/api/v1/celestia/l2BatchMetadata:
get:
operationId: CelestiaService_GetL2BatchMetadata
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/v1CelestiaL2BatchMetadata'
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
parameters:
- name: height
in: query
required: false
schema:
type: string
format: uint64
- name: namespace
in: query
required: false
schema:
type: string
- name: commitment
in: query
required: false
schema:
type: string
tags:
- blockscout
/blockscout/health:
get:
summary: 'If the requested service is unknown, the call will fail with status
NOT_FOUND.'
operationId: Health_Check
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/v1HealthCheckResponse'
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
parameters:
- name: service
in: query
required: false
schema:
type: string
tags:
- blockscout
components:
schemas:
SmartContract:
properties:
verified_twin_address_hash:
type: string
example: '0x394c399dbA25B99Ab7708EdB505d755B3aa29997'
is_verified:
type: boolean
is_changed_bytecode:
type: boolean
is_partially_verified:
type: boolean
is_fully_verified:
type: boolean
is_verified_via_sourcify:
type: boolean
is_verified_via_eth_bytecode_db:
type: boolean
is_self_destructed:
type: boolean
can_be_visualized_via_sol2uml:
type: boolean
minimal_proxy_address_hash:
type: string
example: '0x394c399dbA25B99Ab7708EdB505d755B3aa29997'
sourcify_repo_url:
type: string
example: https://sourcify.repo.com/100/link_to_a_contract_at_sourcify
name:
type: string
example: Cryptostamp3L2
optimization_enabled:
type: boolean
example: false
optimizations_runs:
type: integer
example: 200
compiler_version:
type: string
example: v0.8.4+commit.c7e474f2
evm_version:
type: string
example: default
verified_at:
type: string
example: '2021-06-02T17:54:17.116055Z'
abi:
type: string
example: '[{"type":"constructor","stateMutability":"nonpayable","inputs":[{"type":"address","name":"_bridgeDataAddress","internalType":"address"},{"type":"uint256","name":"_finalSupply","internalType":"uint256"},{"type":"uint256[5]","name":"_totalColorSupply","internalType":"uint256[5]"}]}]'
source_code:
type: string
example: contract A {}
file_path:
type: string
example: contract.sol
compiler_settings:
type: object
example:
compilationTarget:
'@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol': ERC1967Proxy
evmVersion: london
libraries: {}
metadata:
bytecodeHash: ipfs
optimizer:
enabled: true
runs: 200
remappings: []
constructor_args:
type: string
example: '0x01'
additional_sources:
type: array
items:
$ref: '#/components/schemas/ContractSource'
decoded_constructor_args:
type: array
items:
$ref: '#/components/schemas/ConstructorArguments'
deployed_bytecode:
type: string
example: '0x01'
creation_bytecode:
type: string
example: '0x02'
external_libraries:
type: array
items:
$ref: '#/components/schemas/ExternalLibrary'
language:
type: string
example: solidity | vyper | yul
status:
type: string
example: selfdestructed | failed | success
AddressParam:
type: object
required:
- hash
- implementation_name
- is_contract
- is_verified
- name
- private_tags
- public_tags
- watchlist_names
properties:
hash:
type: string
example: '0xEb533ee5687044E622C69c58B1B12329F56eD9ad'
implementation_name:
type: string
example: implementationName
name:
type: string
example: contractName
ens_domain_name:
type: string
example: domain.eth
metadata:
type: object
example:
slug: tag_slug
name: Tag name
tagType: name
ordinal: 0
meta: {}
is_contract:
type: boolean
private_tags:
type: array
items:
$ref: '#/components/schemas/AddressTag'
watchlist_names:
type: array
items:
$ref: '#/components/schemas/WatchlistName'
public_tags:
type: array
items:
$ref: '#/components/schemas/AddressTag'
is_verified:
type: boolean
AddressNFTInstance:
required:
- token_type
- value
- is_unique
- id
- token
- owner
properties:
is_unique:
type: boolean
id:
type: string
example: '431'
holder_address_hash:
type: string
example: '0x394c399dbA25B99Ab7708EdB505d755B3aa29997'
image_url:
type: string
example: example.com/picture.png
animation_url:
type: string
example: example.com/video.mp4
external_app_url:
type: string
example: d-app.com
metadata:
type: object
example:
year: 2023
tags:
- poap
- event
name: 'Social Listening Committee #2 Attendees'
image_url: https://assets.poap.xyz/chanel-poap-4c-2023-logo-1675083420470.png
home_url: https://app.poap.xyz/token/6292128
external_url: https://api.poap.tech/metadata/99010/6292128
description: This is the POAP for attendees of the second Social Listening Committee.
attributes:
- value: 01-Feb-2023
trait_type: startDate
- value: 01-Feb-2023
trait_type: endDate
- value: 'false'
trait_type: virtualEvent
- value: Paris
trait_type: city
- value: France
trait_type: country
- value: https://www.chanel.com
trait_type: eventURL
owner:
$ref: '#/components/schemas/AddressParam'
token:
$ref: '#/components/schemas/TokenInfo'
token_type:
type: string
example: ERC-721
value:
type: string
example: '1'
AddressTag:
type: object
required:
- address_hash
- display_name
- label
properties:
address_hash:
type: string
example: '0xEb533ee5687044E622C69c58B1B12329F56eD9ad'
display_name:
type: string
example: name to show
label:
type: string
example: label
DecodedInput:
type: object
required:
- method_call
- method_id
- parameters
properties:
method_call:
type: string
example: transferFrom(address _from, address _to, uint256 _value)
method_id:
type: string
example: 23b872dd
parameters:
type: array
items:
$ref: '#/components/schemas/DecodedInputParameter'
StatsResponse:
required:
- total_blocks
- total_addresses
- total_transactions
- average_block_time
- coin_price
- total_gas_used
- transactions_today
- gas_used_today
- gas_prices
- static_gas_price
- market_cap
- network_utilization_percentage
properties:
total_blocks:
type: string
example: '508700'
total_addresses:
type: string
example: '982340'
total_transactions:
type: string
example: '1699427'
average_block_time:
type: number
example: 25000
coin_price:
type: string
example: '0.00254957'
total_gas_used:
type: string
example: '0'
transactions_today:
type: string
example: '622'
gas_used_today:
type: string
example: '49063630'
gas_prices:
type: object
example:
average: 10
fast: 10
slow: 10
static_gas_price:
type: string
example: '10.1'
market_cap:
type: string
example: '420471.10604559750644'
network_utilization_percentage:
type: number
example: 40.2142
AddressCounters:
type: object
required:
- transactions_count
- token_transfers_count
- gas_usage_count
- validations_count
properties:
transactions_count:
type: string
example: '0'
token_transfers_count:
type: string
example: '0'
gas_usage_count:
type: string
example: '0'
validations_count:
type: string
example: '0'
CoinBalanceHistoryEntry:
type: object
required:
- block_number
- block_timestamp
- delta
- value
properties:
transaction_hash:
type: string
example: '0x1f610ff9c1efad6b5a8bb6afcc0786cd7343f03f9a61e2544fcff908cedee924'
block_number:
type: integer
example: 1584930
block_timestamp:
type: string
example: '2022-08-02T07:18:05.000000Z'
delta:
type: string
example: '-234959404'
value:
type: string
example: '100232323'
protobufAny:
type: object
properties:
'@type':
type: string
additionalProperties: {}
CoinBalanceHistoryByDaysEntry:
type: object
required:
- date
- value
properties:
date:
type: string
example: '2022-08-02'
value:
type: number
example: '100232323'
Log:
type: object
required:
- address
- data
- decoded
- index
- smart_contract
- topics
- transaction_hash
properties:
address:
$ref: '#/components/schemas/AddressParam'
block_hash:
type: string
example: '0xf90fdff5f174f7f29ebdf203d32cad2fe95376e41880bb9e731ca5eb0eef7941'
block_number:
type: integer
example: 8844586
data:
type: string
example: '0x000000000000000000000000000000000000000000000000006a94d74f430000'
decoded:
$ref: '#/components/schemas/DecodedInputLog'
example:
method_call: Transfer(address indexed from, address indexed to, uint256 tokens)
method_id: '0x630cea8e'
parameters:
- name: signature
type: bytes
indexed?: true
value: '0x0'
- name: message
type: bytes
indexed?: false
value: '0x01'
index:
type: integer
example: 35
smart_contract:
$ref: '#/components/schemas/AddressParam'
topics:
type: array
items:
type: string
example: '0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c'
transaction_hash:
type: string
example: '0x08ea4d75ad0abe327a7fd368733eaeac43077989e635d800530d7906ebf3bd54'
TransactionActionUniswapV3BCS:
required:
- data
- protocol
- type
properties:
data:
type: object
example:
address0: '0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9'
address1: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
amount0: '1.289548595490270429'
amount1: '110.824768'
symbol0: AAVE
symbol1: USDC
protocol:
type: string
example: uniswap_v3
type:
type: string
example: burn | collect | swap
v1CelestiaBlobId:
type: object
properties:
height:
type: string
format: uint64
namespace:
type: string
commitment:
type: string
DecodedInputLog:
type: object
required:
- method_call
- method_id
- parameters
properties:
method_call:
type: string
example: transferFrom(address _from, address _to, uint256 _value)
method_id:
type: string
example: 23b872dd
parameters:
type: array
items:
$ref: '#/components/schemas/DecodedInputLogParameter'
SmartContractForList:
required:
- address
- coin_balance
- compiler_version
- has_constructor_args
- language
- optimization_enabled
- verified_at
properties:
address:
$ref: '#/components/schemas/AddressParam'
coin_balance:
type: string
example: '10000'
compiler_version:
type: string
example: v0.5.10+commit.5a6ea5b1
language:
type: string
example: vyper | yul | solidity
has_constructor_args:
type: boolean
optimization_enabled:
type: boolean
transaction_count:
type: integer
verified_at:
type: string
example: '2022-03-05T11:40:29.087000Z'
market_cap:
type: number
example: 1000000000.0001
TotalERC721:
required:
- token_id
properties:
token_id:
type: string
example: '1'
token_instance:
$ref: '#/components/schemas/NFTInstance'
TokenInfo:
type: object
required:
- address
- circulating_market_cap
- icon_url
- symbol
- name
- decimals
- type
- holders
- exchange_rate
- total_supply
properties:
circulating_market_cap:
type: string
example: '83606435600.3635'
icon_url:
type: string
example: https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png
name:
type: string
example: Tether USD
decimals:
type: string
example: '6'
symbol:
type: string
example: USDT
address:
type: string
example: '0x394c399dbA25B99Ab7708EdB505d755B3aa29997'
type:
type: string
example: ERC-20
holders:
type: string
example: '837494234523'
exchange_rate:
type: string
example: '0.99'
total_supply:
type: string
example: '10000000'
Transaction:
type: object
required:
- timestamp
- fee
- gas_limit
- block_number
- status
- method
- confirmations
- type
- exchange_rate
- to
- transaction_burnt_fee
- max_fee_per_gas
- result
- hash
# --- truncated at 32 KB (51 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/b3/refs/heads/main/openapi/b3-blockscout-api-openapi.yml