B3

B3 Blockscout/tokens API

Blockscout token and transfer data

Operations 15

GET /blockscout/token-transfers Get Token Transfers #
GET /blockscout/addresses/{address_hash}/token-transfers Get Address Token Transfers #
GET /blockscout/addresses/{address_hash}/token-balances Get All Tokens Balances for the Address #
GET /blockscout/addresses/{address_hash}/tokens Token Balances with Filtering and Pagination #
GET /blockscout/tokens Get Tokens List #
GET /blockscout/tokens/{address_hash} Get Token Info #
GET /blockscout/tokens/{address_hash}/transfers Get Token Token Transfers #
GET /blockscout/tokens/{address_hash}/holders Get Token Holders #
GET /blockscout/tokens/{address_hash}/counters Get Token Holders #
GET /blockscout/tokens/{address_hash}/instances Get NFT Instances #
GET /blockscout/tokens/{address_hash}/instances/{id} Get NFT Instance by ID #
GET /blockscout/tokens/{address_hash}/instances/{id}/transfers Get Transfers of NFT Instance #
GET /blockscout/tokens/{address_hash}/instances/{id}/holders Get Token Instance Holders #
GET /blockscout/tokens/{address_hash}/instances/{id}/transfers-count Get Transfers Count of NFT Instance #
PATCH /blockscout/tokens/{address_hash}/instances/{id}/refetch-metadata Re-fetch Token Instance Metadata #

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-tokens-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-tokens-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/tokens 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/tokens
  description: Blockscout token and transfer data
paths:
  /blockscout/token-transfers:
    get:
      summary: Get Token Transfers
      operationId: get_token_transfers
      responses:
        '200':
          description: Token Transfers
          content:
            application/json:
              schema:
                type: object
                required:
                - items
                - next_page_params
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/TokenTransfer'
                  next_page_params:
                    type: object
                    example:
                      block_number: 27170298
                      index: 0
        '400':
          description: Bad Input Parameter
      tags:
      - blockscout/tokens
  /blockscout/addresses/{address_hash}/token-transfers:
    get:
      summary: Get Address Token Transfers
      operationId: get_address_token_transfers
      parameters:
      - $ref: '#/components/parameters/addressHash'
      - in: query
        name: type
        schema:
          type: string
          example: ERC-20,ERC-721,ERC-1155
      - in: query
        name: filter
        schema:
          type: string
          example: to | from
      - in: query
        name: token
        schema:
          type: string
          example: '0xb81afe27c103bcd42f4026cf719af6d802928765'
      responses:
        '200':
          description: Address
          content:
            application/json:
              schema:
                type: object
                required:
                - items
                - next_page_params
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/TokenTransfer'
                  next_page_params:
                    type: object
                    example:
                      block_number: 27736955
                      index: 4
        '400':
          description: Bad Input Parameter
      tags:
      - blockscout/tokens
  /blockscout/addresses/{address_hash}/token-balances:
    get:
      summary: Get All Tokens Balances for the Address
      operationId: get_address_token_balances
      parameters:
      - $ref: '#/components/parameters/addressHash'
      responses:
        '200':
          description: Address
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TokenBalance'
        '400':
          description: Bad Input Parameter
      tags:
      - blockscout/tokens
  /blockscout/addresses/{address_hash}/tokens:
    get:
      summary: Token Balances with Filtering and Pagination
      operationId: get_address_tokens
      parameters:
      - $ref: '#/components/parameters/addressHash'
      - in: query
        name: type
        schema:
          type: string
          example: ERC-20,ERC-721,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/TokenBalance'
                  next_page_params:
                    type: object
                    example:
                      items_count: 50
                      token_name: null
                      token_type: ERC-1155
                      value: 14
        '400':
          description: Bad Input Parameter
      tags:
      - blockscout/tokens
  /blockscout/tokens:
    get:
      summary: Get Tokens List
      operationId: get_tokens_list
      parameters:
      - in: query
        name: q
        schema:
          type: string
          example: USDT
      - in: query
        name: type
        schema:
          type: string
          example: ERC-20,ERC-721,ERC-1155
      responses:
        '200':
          description: Token
          content:
            application/json:
              schema:
                type: object
                required:
                - items
                - next_page_params
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/TokenInfo'
                  next_page_params:
                    type: object
                    example:
                      contract_address_hash: '0x68749665ff8d2d112fa859aa293f07a622782f38'
                      holder_count: 1011
                      is_name_null: false
                      items_count: 50
                      market_cap: '482534473.2170469'
                      name: Tether Gold
        '400':
          description: Bad Input Parameter
      tags:
      - blockscout/tokens
  /blockscout/tokens/{address_hash}:
    get:
      summary: Get Token Info
      operationId: get_token
      parameters:
      - $ref: '#/components/parameters/addressHash'
      responses:
        '200':
          description: Token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenInfo'
        '400':
          description: Bad Input Parameter
      tags:
      - blockscout/tokens
  /blockscout/tokens/{address_hash}/transfers:
    get:
      summary: Get Token Token Transfers
      operationId: get_token_token_transfers
      parameters:
      - $ref: '#/components/parameters/addressHash'
      responses:
        '200':
          description: Token
          content:
            application/json:
              schema:
                type: object
                required:
                - items
                - next_page_params
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/TokenTransfer'
                  next_page_params:
                    type: object
                    example:
                      block_number: 27736955
                      index: 61
        '400':
          description: Bad Input Parameter
      tags:
      - blockscout/tokens
  /blockscout/tokens/{address_hash}/holders:
    get:
      summary: Get Token Holders
      operationId: get_token_holders
      parameters:
      - $ref: '#/components/parameters/addressHash'
      responses:
        '200':
          description: Token
          content:
            application/json:
              schema:
                type: object
                required:
                - items
                - next_page_params
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Holder'
                  next_page_params:
                    type: object
                    example:
                      items_count: 2
                      value: 790000000000000000000
        '400':
          description: Bad Input Parameter
      tags:
      - blockscout/tokens
  /blockscout/tokens/{address_hash}/counters:
    get:
      summary: Get Token Holders
      operationId: get_token_counters
      parameters:
      - $ref: '#/components/parameters/addressHash'
      responses:
        '200':
          description: Token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenCounters'
        '400':
          description: Bad Input Parameter
      tags:
      - blockscout/tokens
  /blockscout/tokens/{address_hash}/instances:
    get:
      summary: Get NFT Instances
      operationId: get_nft_instances
      parameters:
      - $ref: '#/components/parameters/addressHash'
      responses:
        '200':
          description: Token
          content:
            application/json:
              schema:
                type: object
                required:
                - items
                - next_page_params
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/NFTInstance'
                  next_page_params:
                    type: object
                    example:
                      unique_token: 97464
        '400':
          description: Bad Input Parameter
      tags:
      - blockscout/tokens
  /blockscout/tokens/{address_hash}/instances/{id}:
    get:
      summary: Get NFT Instance by ID
      operationId: get_nft_instance
      parameters:
      - $ref: '#/components/parameters/addressHash'
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: Token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NFTInstance'
        '400':
          description: Bad Input Parameter
      tags:
      - blockscout/tokens
  /blockscout/tokens/{address_hash}/instances/{id}/transfers:
    get:
      summary: Get Transfers of NFT Instance
      operationId: get_nft_instance_transfers
      parameters:
      - $ref: '#/components/parameters/addressHash'
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: Token
          content:
            application/json:
              schema:
                type: object
                required:
                - items
                - next_page_params
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/TokenTransfer'
                  next_page_params:
                    type: object
                    example:
                      block_number: 27736955
                      index: 61
                      token_id: 50
        '400':
          description: Bad Input Parameter
      tags:
      - blockscout/tokens
  /blockscout/tokens/{address_hash}/instances/{id}/holders:
    get:
      summary: Get Token Instance Holders
      operationId: get_token_instance_holders
      parameters:
      - $ref: '#/components/parameters/addressHash'
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: Token
          content:
            application/json:
              schema:
                type: object
                required:
                - items
                - next_page_params
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Holder'
                  next_page_params:
                    type: object
                    example:
                      value: 790000000000000000000
                      token_id: '953848'
                      items_count: 50
        '400':
          description: Bad Input Parameter
      tags:
      - blockscout/tokens
  /blockscout/tokens/{address_hash}/instances/{id}/transfers-count:
    get:
      summary: Get Transfers Count of NFT Instance
      operationId: get_nft_instance_transfers_count
      parameters:
      - $ref: '#/components/parameters/addressHash'
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: Token
          content:
            application/json:
              schema:
                type: object
                required:
                - transfers_count
                properties:
                  transfers_count:
                    type: integer
                    example: 10
        '400':
          description: Bad Input Parameter
      tags:
      - blockscout/tokens
  /blockscout/tokens/{address_hash}/instances/{id}/refetch-metadata:
    patch:
      summary: Re-fetch Token Instance Metadata
      operationId: refetch_token_instance_metadata
      parameters:
      - $ref: '#/components/parameters/addressHash'
      - $ref: '#/components/parameters/id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RecaptchaBody'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - items
                - next_page_params
                properties:
                  message:
                    type: string
                    example: OK
        '403':
          description: Invalid reCAPTCHA response
          content:
            application/json:
              schema:
                type: object
                required:
                - items
                - next_page_params
                properties:
                  message:
                    type: string
                    example: Invalid reCAPTCHA response
      tags:
      - blockscout/tokens
components:
  schemas:
    Holder:
      required:
      - address
      - value
      - token
      properties:
        address:
          $ref: '#/components/schemas/AddressParam'
        value:
          type: string
          example: '10000'
        token_id:
          type: string
          example: '10000'
    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
    TotalERC20:
      required:
      - decimals
      - value
      properties:
        decimals:
          type: string
          example: '18'
        value:
          type: string
          example: '1000'
    TokenCounters:
      required:
      - token_holders_count
      - transfers_count
      properties:
        token_holders_count:
          type: string
          example: '100'
        transfers_count:
          type: string
          example: '1000'
    WatchlistName:
      type: object
      required:
      - display_name
      - label
      properties:
        display_name:
          type: string
          example: name to show
        label:
          type: string
          example: label
    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
    RecaptchaBody:
      required:
      - recaptcha_response
      properties:
        recaptcha_response:
          type: string
          example: '123'
    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
    Token:
      type: object
      required:
      - address
      - symbol
      - name
      - decimals
      - type
      - holders
      - exchange_rate
      - total_supply
      properties:
        name:
          type: string
          example: Tether USD
        decimals:
          type: string
          example: '16'
        symbol:
          type: string
          example: USDT
        address:
          type: string
          example: '0x394c399dbA25B99Ab7708EdB505d755B3aa29997'
        type:
          type: string
          example: ERC-20
        holders:
          type: integer
          example: 837494234523
        exchange_rate:
          type: string
          example: '0.99'
        total_supply:
          type: string
          example: '10000000'
    TokenBalance:
      type: object
      required:
      - value
      - token
      - token_id
      properties:
        token_instance:
          $ref: '#/components/schemas/NFTInstance'
        value:
          type: string
          example: '10000'
        token_id:
          type: string
          example: '123'
        token:
          $ref: '#/components/schemas/Token'
    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'
    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'
    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'
  parameters:
    id:
      name: id
      schema:
        type: integer
      in: path
      required: true
      description: integer id
    addressHash:
      name: address_hash
      in: path
      description: Address hash
      required: true
      schema:
        type: string
        pattern: ^0x([A-Fa-f0-9]{40})$
  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.'