B3

B3 Blockscout/blocks API

Blockscout block data

Operations 5

GET /blockscout/blocks Get Blocks #
GET /blockscout/blocks/{block_number_or_hash} Get Block Info #
GET /blockscout/blocks/{block_number_or_hash}/transactions Get Block Transactions #
GET /blockscout/blocks/{block_number_or_hash}/withdrawals Get Block Withdrawals #
GET /blockscout/addresses/{address_hash}/blocks-validated Get Blocks Validated by Address #

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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/b3-blockscout-blocks-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

b3-blockscout-blocks-api-openapi.yml Raw ↑
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/blocks 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/blocks
  description: Blockscout block data
paths:
  /blockscout/blocks:
    get:
      parameters:
      - in: query
        name: type
        schema:
          type: string
          example: block | uncle | reorg
      summary: Get Blocks
      operationId: get_blocks
      responses:
        '200':
          description: Block
          content:
            application/json:
              schema:
                type: object
                required:
                - items
                - next_page_params
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Block'
                  next_page_params:
                    type: object
                    example:
                      block_number: 27729304
                      items_count: 50
        '400':
          description: Bad Input Parameter
      tags:
      - blockscout/blocks
  /blockscout/blocks/{block_number_or_hash}:
    get:
      summary: Get Block Info
      operationId: get_block
      parameters:
      - $ref: '#/components/parameters/blockNumberOrHash'
      responses:
        '200':
          description: Block
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Block'
        '400':
          description: Bad Input Parameter
      tags:
      - blockscout/blocks
  /blockscout/blocks/{block_number_or_hash}/transactions:
    get:
      summary: Get Block Transactions
      operationId: get_block_txs
      parameters:
      - $ref: '#/components/parameters/blockNumberOrHash'
      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: 27736955
                      index: 4
                      items_count: 50
        '400':
          description: Bad Input Parameter
      tags:
      - blockscout/blocks
  /blockscout/blocks/{block_number_or_hash}/withdrawals:
    get:
      summary: Get Block Withdrawals
      operationId: get_block_withdrawals
      parameters:
      - $ref: '#/components/parameters/blockNumberOrHash'
      responses:
        '200':
          description: block's withdrawals (pay attention that block_number together with timestamp fields 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/blocks
  /blockscout/addresses/{address_hash}/blocks-validated:
    get:
      summary: Get Blocks Validated by Address
      operationId: get_address_blocks_validated
      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/Block'
                  next_page_params:
                    type: object
                    example:
                      block_number: 27736955
                      items_count: 50
        '400':
          description: Bad Input Parameter
      tags:
      - blockscout/blocks
components:
  parameters:
    addressHash:
      name: address_hash
      in: path
      description: Address hash
      required: true
      schema:
        type: string
        pattern: ^0x([A-Fa-f0-9]{40})$
    blockNumberOrHash:
      name: block_number_or_hash
      schema:
        type: string
      in: path
      required: true
      description: Block number or hash
  schemas:
    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
    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'
    Reward:
      type: object
      required:
      - reward
      - type
      properties:
        reward:
          type: integer
        type:
          type: string
          example: Miner Reward | Emission Reward | Chore Reward | Uncle Reward
    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
    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
      - gas_price
      - priority_fee
      - base_fee_per_gas
      - from
      - token_transfers
      - transaction_types
      - gas_used
      - created_contract
      - position
      - nonce
      - has_error_in_internal_transactions
      - actions
      - decoded_input
      - token_transfers_overflow
      - raw_input
      - value
      - max_priority_fee_per_gas
      - revert_reason
      - confirmation_duration
      - transaction_tag
      properties:
        timestamp:
          type: string
          example: '2022-08-02T07:18:05.000000Z'
        fee:
          $ref: '#/components/schemas/Fee'
        gas_limit:
          type: integer
        block_number:
          type: integer
          format: int32
          example: 23484035
        status:
          type: string
          example: ok | error
        method:
          type: string
          example: transferFrom
        confirmations:
          type: integer
          example: 1035
        type:
          type: integer
          example: 2
        exchange_rate:
          type: string
          example: '1866.51'
        to:
          nullable: true,
          $ref: '#/components/schemas/AddressParam'
        transaction_burnt_fee:
          type: string
          example: '1099596081903840'
        max_fee_per_gas:
          type: string
          example: '55357460102'
        result:
          type: string
          example: 'Error: (Awaiting internal transactions for reason)'
        hash:
          type: string
          example: '0x5d90a9da2b8da402b11bc92c8011ec8a62a2d59da5c7ac4ae0f73ec51bb73368'
        gas_price:
          type: string
          example: '26668595172'
        priority_fee:
          type: string
          example: '2056916056308'
        base_fee_per_gas:
          type: string
          example: '26618801760'
        from:
          $ref: '#/components/schemas/AddressParam'
        token_transfers:
          type: array
          items:
            $ref: '#/components/schemas/TokenTransfer'
        transaction_types:
          type: array
          items:
            type: string
          example:
          - token_transfer
          - contract_creation
          - contract_call
          - token_creation
          - coin_transfer
        gas_used:
          type: string
          example: '41309'
        created_contract:
          nullable: true,
          $ref: '#/components/schemas/AddressParam'
        position:
          type: integer
          example: 117
        nonce:
          type: integer
          example: 115
        has_error_in_internal_transactions:
          type: boolean
          example: false
        actions:
          type: array
          items:
            $ref: '#/components/schemas/TransactionAction'
        decoded_input:
          $ref: '#/components/schemas/DecodedInput'
        token_transfers_overflow:
          type: boolean
          example: false
        raw_input:
          type: string
          example: '0xa9059cbb000000000000000000000000ef8801eaf234ff82801821ffe2d78d60a0237f97000000000000000000000000000000000000000000000000000000003178cb80'
        value:
          type: string
          example: '0'
        max_priority_fee_per_gas:
          type: string
          example: '49793412'
        revert_reason:
          type: string
          example: 'Error: (Awaiting internal transactions for reason)'
        confirmation_duration:
          type: object
          example:
          - 0
          - 17479
        transaction_tag:
          type: string
          example: private_transaction_tag
    TotalERC20:
      required:
      - decimals
      - value
      properties:
        decimals:
          type: string
          example: '18'
        value:
          type: string
          example: '1000'
    TransactionActionUniswapV3MintNFT:
      required:
      - data
      - protocol
      - type
      properties:
        data:
          type: object
          example:
            name: 'Uniswap V3: Positions NFT'
            symbol: UNI-V3-POS
            address: '0x1F98431c8aD98523631AE4a59f267346ea31F984'
            to: '0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9'
            ids:
            - '1'
            - '2'
            block_number: 1
        protocol:
          type: string
          example: uniswap_v3
        type:
          type: string
          example: mint_nft
    TransactionActionAaveV3EnableDisableCollateral:
      required:
      - data
      - protocol
      - type
      properties:
        data:
          type: object
          example:
            symbol: AAVE
            address: '0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9'
            block_number: 1
        protocol:
          type: string
          example: aave_v3
        type:
          type: string
          example: enable_collateral | disable_collateral
    TransactionAction:
      oneOf:
      - $ref: '#/components/schemas/TransactionActionAaveV3LiquidationCall'
      - $ref: '#/components/schemas/TransactionActionAaveV3BSWRF'
      - $ref: '#/components/schemas/TransactionActionAaveV3EnableDisableCollateral'
      - $ref: '#/components/schemas/TransactionActionUniswapV3MintNFT'
      - $ref: '#/components/schemas/TransactionActionUniswapV3BCS'
    NFTInstance:
      required:
      - 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'
    TransactionActionAaveV3BSWRF:
      required:
      - data
      - protocol
      - type
      properties:
        data:
          type: object
          example:
            amount: '1.289548595490270429'
            symbol: AAVE
            address: '0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9'
            block_number: 1
        protocol:
          type: string
          example: aave_v3
        type:
          type: string
          example: borrow | supply | withdraw | repay | flash_loan
    Fee:
      type: object
      required:
      - type
      - value
      properties:
        type:
          type: string
          example: maximum | actual
        value:
          type: string
          example: '9853224000000000'
    TransactionActionAaveV3LiquidationCall:
      required:
      - data
      - protocol
      - type
      properties:
        data:
          type: object
          example:
            debt_amount: '1.289548595490270429'
            debt_symbol: AAVE
            debt_address: '0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9'
            collateral_amount: '110.824768'
            collateral_symbol: USDC
            collateral_address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
            block_number: 1
        protocol:
          type: string
          example: aave_v3
        type:
          type: string
          example: liquidation_call
    WatchlistName:
      type: object
      required:
      - display_name
      - label
      properties:
        display_name:
          type: string
          example: name to show
        label:
          type: string
          example: label
    DecodedInputParameter:
      type: object
      required:
      - name
      - type
      - value
      properties:
        name:
          type: string
          example: signature
        type:
          type: string
          example: bytes
        value:
          type: string
          example: '0x0'
    TokenTransfer:
      type: object
      required:
      - block_hash
      - from
      - log_index
      - to
      - token
      - total
      - transaction_hash
      - type
      properties:
        block_hash:
          type: string
          example: '0xf569ec751152b2f814001fc730f7797aa155e4bc3ba9cb6ba24bc2c8c9468c1a'
        from:
          $ref: '#/components/schemas/AddressParam'
        log_index:
          type: integer
          example: 16
        method:
          type: string
          example: transfer
        timestamp:
          type: string
          example: '2023-07-03T20:09:59.000000Z'
        to:
          $ref: '#/components/schemas/AddressParam'
        token:
          $ref: '#/components/schemas/TokenInfo'
        total:
          oneOf:
          - $ref: '#/components/schemas/TotalERC20'
          - $ref: '#/components/schemas/TotalERC721'
          - $ref: '#/components/schemas/TotalERC1155'
        transaction_hash:
          type: string
          example: '0x6662ad1ad2ea899e9e27832dc202fd2ef915a5d2816c1142e6933cff93f7c592'
        type:
          type: string
          example: token_transfer
    Block:
      type: object
      required:
      - base_fee_per_gas
      - burnt_fees
      - burnt_fees_percentage
      - difficulty
      - extra_data
      - gas_limit
      - gas_target_percentage
      - gas_used
      - gas_used_percentage
      - hash
      - height
      - miner
      - nonce
      - parent_hash
      - priority_fee
      - rewards
      - size
      - state_root
      - timestamp
      - total_difficulty
      - transaction_count
      - transaction_fees
      - type
      - uncles_hashes
      - withdrawals_count
      properties:
        base_fee_per_gas:
          type: string
          example: '26618801760'
        burnt_fees:
          type: string
          example: '261263193229977120'
        burnt_fees_percentage:
          type: number
          example: 85.19028810863084
        difficulty:
          type: string
          example: '0'
        extra_data:
          type: string
          example: TODO
        gas_limit:
          type: string
          example: '30000000'
        gas_target_percentage:
          type: number
          example: -34.56675333333333
        gas_used:
          type: string
          example: '9814987'
        gas_used_percentage:
          type: number
          example: 32.71662333333333
        hash:
          type: string
          example: '0xf569ec751152b2f814001fc730f7797aa155e4bc3ba9cb6ba24bc2c8c9468c1a'
        height:
          type: integer
          example: 17615720
        miner:
          $ref: '#/components/schemas/AddressParam'
        nonce:
          type: string
          example: '0x0000000000000000'
        parent_hash:
          type: string
          example: '0xd464e02d81e2bdf6bc5fa9b8e33f0b564c464a82d821a3e56531f8636dc00dfa'
        priority_fee:
          type: string
          example: '45418705646601378'
        rewards:
          type: array
          items:
            $ref: '#/components/schemas/Reward'
        size:
          type: integer
          example: 49997
        state_root:
          type: string
          example: TODO
        timestamp:
          type: string
          example: '2023-07-03T20:09:59.000000Z'
        total_difficulty:
          type: string
          example: '58750003716598352816469'
        transaction_count:
          type: integer
          example: 120
        transaction_fees:
          type: string
          example: '306681898876578498'
        type:
          type: string
          example: block
        uncles_hashes:
          type: array
          items:
            type: string
            example: '0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347'
        withdrawals_count:
          type: integer
          example: 16
    Withdrawal:
      required:
      - index
      - amount
      - validator_index
      properties:
        index:
          type: integer
          example: 1
        amount:
          type: string
          example: '1000000000000000000'
        validator_index:
          type: integer
          example: 1
        receiver:
          $ref: '#/components/schemas/AddressParam'
        block_number:
          type: integer
          example: 1
        timestamp:
          type: string
          example: '2023-06-20T07:55:00.000000Z'
    TotalERC1155:
      required:
      - token_id
      - decimals
      - value
      properties:
        token_id:
          type: string
          example: '1'
        decimals:
          type: string
          example: null
        value:
          type: string
          example: '1000'
        token_instance:
          $ref: '#/components/schemas/NFTInstance'
  securitySchemes:
    clientId:
      type: apiKey
      in: header
      name: x-client-id
      description: thirdweb client ID in headers
    secretKey:
      type: apiKey
      in: header
      name: x-secret-key
      description: thirdweb secret key in headers
    dashboard:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: thirdweb JWT + Client ID
    clientId-query:
      type: apiKey
      in: query
      name: clientId
      description: thirdweb client ID in query params
x-proxy-info:
  supported-chains:
  - chainId: 243
    name: Reach Testnet
    network: reach-testnet
    apiUrl: https://reach-testnet.explorer.caldera.xyz/api/v2
  - chainId: 1993
    name: B3 Testnet
    network: b3-testnet
    apiUrl: https://sepolia.explorer.b3.fun/api/v2
  - chainId: 4224
    name: Arpachain
    network: arpachain
    apiUrl: https://arpachain.calderaexplorer.xyz/api/v2
  - chainId: 8333
    name: B3 Mainnet
    network: b3
    apiUrl: https://blockscout.b3.fun/api/v2
  - chainId: 19934
    name: B4 Testnet
    network: b4-testnet
    apiUrl: https://b4-testnet.explorer.caldera.xyz/api/v2
  - chainId: 10211403
    name: GLHF Testnet
    network: glhf-testnet
    apiUrl: https://glhf-testnet.explorer.caldera.xyz/api/v2
  supported-services:
  - name: blockscout
    path: /blockscout/*
    description: Blockchain explorer API with multi-chain fallback
  - name: thirdweb-insights
    path: /insights/*
    description: ThirdWeb Insights API for chain analytics
  default-chain: 8333
  cache-duration: 24 hours
  cache-strategy: KV store
  fallback-strategy: 'Blockscout: Query default chain first, then all chains in parallel if no results. ThirdWeb: Direct chain query only.'