B3

B3 Insights/wallets API

ThirdWeb Insights wallet analytics

Operations 1

GET /insights/v1/wallets/{wallet_address}/transactions Get wallet transactions

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-insights-wallets-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-insights-wallets-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 Insights/wallets 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: insights/wallets
  description: ThirdWeb Insights wallet analytics
paths:
  /insights/v1/wallets/{wallet_address}/transactions:
    get:
      description: Get incoming and outgoing transactions for a wallet
      summary: Get wallet transactions
      tags:
      - insights/wallets
      parameters:
      - $ref: '#/components/parameters/walletAddress'
      - name: chain
        in: query
        required: false
        deprecated: true
        description: Use chain_id instead
        schema:
          type: array
          example:
          - 20
          - 56
          - 1
          items:
            type: number
      - name: chain_id
        in: query
        required: false
        description: The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55. Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`. Optional, because a single chain can as well be specified as a subdomain
        schema:
          type: array
          example:
          - 20
          - 56
          - 1
          items:
            type: number
      - $ref: '#/components/parameters/filterBlockNumber'
      - $ref: '#/components/parameters/filterBlockNumberGte'
      - $ref: '#/components/parameters/filterBlockNumberGt'
      - $ref: '#/components/parameters/filterBlockNumberLte'
      - $ref: '#/components/parameters/filterBlockNumberLt'
      - $ref: '#/components/parameters/filterBlockHash'
      - $ref: '#/components/parameters/filterBlockTimestamp'
      - $ref: '#/components/parameters/filterBlockTimestampGte'
      - $ref: '#/components/parameters/filterBlockTimestampGt'
      - $ref: '#/components/parameters/filterBlockTimestampLte'
      - $ref: '#/components/parameters/filterBlockTimestampLt'
      - $ref: '#/components/parameters/sortBy'
      - $ref: '#/components/parameters/sortOrder'
      - $ref: '#/components/parameters/groupBy'
      - $ref: '#/components/parameters/aggregate'
      - $ref: '#/components/parameters/filterTransactionIndex'
      - $ref: '#/components/parameters/filterTransactionIndexGte'
      - $ref: '#/components/parameters/filterTransactionIndexGt'
      - $ref: '#/components/parameters/filterTransactionIndexLte'
      - $ref: '#/components/parameters/filterTransactionIndexLt'
      - $ref: '#/components/parameters/decode'
      - $ref: '#/components/parameters/filterHash'
      - $ref: '#/components/parameters/filterValue'
      - $ref: '#/components/parameters/filterValueGte'
      - $ref: '#/components/parameters/filterValueGt'
      - $ref: '#/components/parameters/filterValueLte'
      - $ref: '#/components/parameters/filterValueLt'
      - $ref: '#/components/parameters/filterGasPrice'
      - $ref: '#/components/parameters/filterGasPriceGte'
      - $ref: '#/components/parameters/filterGasPriceGt'
      - $ref: '#/components/parameters/filterGasPriceLte'
      - $ref: '#/components/parameters/filterGasPriceLt'
      - $ref: '#/components/parameters/filterGas'
      - $ref: '#/components/parameters/filterGasGte'
      - $ref: '#/components/parameters/filterGasGt'
      - $ref: '#/components/parameters/filterGasLte'
      - $ref: '#/components/parameters/filterGasLt'
      - $ref: '#/components/parameters/filterFunctionSelector'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/page'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        chain_id:
                          type: string
                        block_number:
                          type: number
                        block_hash:
                          type: string
                        block_timestamp:
                          type: number
                        hash:
                          type: string
                        nonce:
                          type: number
                        transaction_index:
                          type: number
                        from_address:
                          type: string
                        to_address:
                          type: string
                        value:
                          type: string
                        gas_price:
                          type: string
                        gas:
                          type: number
                        function_selector:
                          type: string
                        data:
                          type: string
                        max_fee_per_gas:
                          type: string
                        max_priority_fee_per_gas:
                          type: string
                        transaction_type:
                          type: number
                        r:
                          type: string
                        s:
                          type: string
                        v:
                          type: string
                        access_list_json:
                          type: string
                        authorization_list_json:
                          type: string
                        contract_address:
                          type: string
                        gas_used:
                          type: number
                        cumulative_gas_used:
                          type: number
                        effective_gas_price:
                          type: string
                        blob_gas_used:
                          type: number
                        blob_gas_price:
                          type: string
                        logs_bloom:
                          type: string
                        status:
                          type: number
                        decoded:
                          type: object
                          properties:
                            name:
                              type: string
                            signature:
                              type: string
                            inputs:
                              type: object
                              additionalProperties: {}
                          required:
                          - name
                          - signature
                      required:
                      - chain_id
                      - block_number
                      - block_hash
                      - block_timestamp
                      - hash
                      - nonce
                      - transaction_index
                      - from_address
                      - to_address
                      - value
                      - gas_price
                      - gas
                      - function_selector
                      - data
                      - max_fee_per_gas
                      - max_priority_fee_per_gas
                      - transaction_type
                      - r
                      - s
                      - v
                  aggregations: {}
                  meta:
                    type: object
                    properties:
                      chain_ids:
                        type: array
                        items:
                          type: number
                      address:
                        type: string
                      signature:
                        type: string
                      page:
                        type: number
                      limit_per_chain:
                        type: number
                      total_items:
                        type: number
                      total_pages:
                        type: number
                    required:
                    - chain_ids
                    - page
                    - limit_per_chain
                    - total_items
                    - total_pages
                required:
                - meta
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
components:
  parameters:
    filterGasPriceLt:
      schema:
        type:
        - number
        - 'null'
        description: Filter by gas price less than
        example: 50000000000000
      required: false
      name: filter_gas_price_lt
      in: query
    filterValue:
      schema:
        type:
        - number
        - 'null'
        description: Filter by value
        example: 21000000000000
      required: false
      name: filter_value
      in: query
    page:
      schema:
        type:
        - integer
        - 'null'
        minimum: 0
        default: 0
        description: 'Page number (0-indexed). Maximum value depends on query parameters: 20 for regular queries, 500 when using aggregate or group_by parameters.'
        example: 0
      required: false
      name: page
      in: query
    filterBlockHash:
      schema:
        type: string
        description: Filter by block hash
        example: '0x3a1fba5abd9d41457944e91ed097e039b7b12d3d7ba324a3f422db2277a48e28'
      required: false
      name: filter_block_hash
      in: query
    decode:
      schema:
        type:
        - boolean
        - 'null'
        description: Enable ABI decoding of the transactions/events data
        example: true
      required: false
      name: decode
      in: query
    filterBlockTimestampGte:
      schema:
        type:
        - number
        - 'null'
        description: Filter by block timestamp greater than or equal to
        example: 1715222400
      required: false
      name: filter_block_timestamp_gte
      in: query
    limit:
      schema:
        type: integer
        maximum: 1000
        default: 20
        description: The number of items to return
        example: 20
        exclusiveMinimum: 0
      required: false
      name: limit
      in: query
    filterBlockNumberGt:
      schema:
        type:
        - number
        - 'null'
        description: Filter by block number greater than
        example: 1000000
      required: false
      name: filter_block_number_gt
      in: query
    filterHash:
      schema:
        type: string
        description: Filter by transaction hash
        example: '0x218b632d932371478d1ae5a01620ebab1a2030f9dad6f8fba4a044ea6335a57e'
      required: false
      name: filter_hash
      in: query
    filterBlockNumberGte:
      schema:
        type:
        - number
        - 'null'
        description: Filter by block number greater than or equal to
        example: 1000000
      required: false
      name: filter_block_number_gte
      in: query
    filterGasLt:
      schema:
        type:
        - number
        - 'null'
        description: Filter by gas less than
        example: 21000
      required: false
      name: filter_gas_lt
      in: query
    filterFunctionSelector:
      schema:
        type: string
        description: Filter by function selector
        example: '0x095ea7b3'
      required: false
      name: filter_function_selector
      in: query
    filterBlockTimestamp:
      schema:
        type:
        - number
        - 'null'
        description: Filter by block timestamp
        example: 1715222400
      required: false
      name: filter_block_timestamp
      in: query
    filterBlockNumberLte:
      schema:
        type:
        - number
        - 'null'
        description: Filter by block number less than or equal to
        example: 1000000
      required: false
      name: filter_block_number_lte
      in: query
    filterGas:
      schema:
        type:
        - number
        - 'null'
        description: Filter by gas
        example: 21000
      required: false
      name: filter_gas
      in: query
    filterGasGte:
      schema:
        type:
        - number
        - 'null'
        description: Filter by gas greater than or equal to
        example: 21000
      required: false
      name: filter_gas_gte
      in: query
    filterGasPrice:
      schema:
        type:
        - number
        - 'null'
        description: Filter by gas price
        example: 50000000000000
      required: false
      name: filter_gas_price
      in: query
    filterGasPriceGt:
      schema:
        type:
        - number
        - 'null'
        description: Filter by gas price greater than
        example: 50000000000000
      required: false
      name: filter_gas_price_gt
      in: query
    filterTransactionIndexGte:
      schema:
        type:
        - number
        - 'null'
        description: Filter by transaction index greater than or equal to
        example: 5
      required: false
      name: filter_transaction_index_gte
      in: query
    filterGasPriceLte:
      schema:
        type:
        - number
        - 'null'
        description: Filter by gas price less than or equal to
        example: 50000000000000
      required: false
      name: filter_gas_price_lte
      in: query
    filterGasLte:
      schema:
        type:
        - number
        - 'null'
        description: Filter by gas less than or equal to
        example: 21000
      required: false
      name: filter_gas_lte
      in: query
    filterBlockNumberLt:
      schema:
        type:
        - number
        - 'null'
        description: Filter by block number less than
        example: 1000000
      required: false
      name: filter_block_number_lt
      in: query
    filterBlockNumber:
      schema:
        type:
        - number
        - 'null'
        description: Filter by block number
        example: 1000000
      required: false
      name: filter_block_number
      in: query
    filterValueGte:
      schema:
        type:
        - number
        - 'null'
        description: Filter by value greater than or equal to
        example: 21000000000000
      required: false
      name: filter_value_gte
      in: query
    filterTransactionIndexGt:
      schema:
        type:
        - number
        - 'null'
        description: Filter by transaction index greater than
        example: 5
      required: false
      name: filter_transaction_index_gt
      in: query
    filterGasGt:
      schema:
        type:
        - number
        - 'null'
        description: Filter by gas greater than
        example: 21000
      required: false
      name: filter_gas_gt
      in: query
    filterValueLte:
      schema:
        type:
        - number
        - 'null'
        description: Filter by value less than or equal to
        example: 21000000000000
      required: false
      name: filter_value_lte
      in: query
    walletAddress:
      schema:
        type: string
        title: address (hex or ENS)
        example: vitalik.eth
      required: true
      name: wallet_address
      in: path
    filterTransactionIndex:
      schema:
        type:
        - number
        - 'null'
        description: Filter by transaction index
        example: 5
      required: false
      name: filter_transaction_index
      in: query
    filterBlockTimestampLte:
      schema:
        type:
        - number
        - 'null'
        description: Filter by block timestamp less than or equal to
        example: 1715222400
      required: false
      name: filter_block_timestamp_lte
      in: query
    filterTransactionIndexLt:
      schema:
        type:
        - number
        - 'null'
        description: Filter by transaction index less than
        example: 5
      required: false
      name: filter_transaction_index_lt
      in: query
    sortOrder:
      schema:
        type: string
        enum:
        - asc
        - desc
        description: Sort order (asc or desc)
        example: desc
      required: false
      name: sort_order
      in: query
    filterTransactionIndexLte:
      schema:
        type:
        - number
        - 'null'
        description: Filter by transaction index less than or equal to
        example: 5
      required: false
      name: filter_transaction_index_lte
      in: query
    filterValueLt:
      schema:
        type:
        - number
        - 'null'
        description: Filter by value less than
        example: 21000000000000
      required: false
      name: filter_value_lt
      in: query
    filterValueGt:
      schema:
        type:
        - number
        - 'null'
        description: Filter by value greater than
        example: 21000000000000
      required: false
      name: filter_value_gt
      in: query
    filterBlockTimestampLt:
      schema:
        type:
        - number
        - 'null'
        description: Filter by block timestamp less than
        example: 1715222400
      required: false
      name: filter_block_timestamp_lt
      in: query
    groupBy:
      schema:
        type:
        - string
        - 'null'
        description: Field(s) to group by. You can specify multiple with repeated query parameters, e.g., ?group_by=chain_id&group_by=block_number
      required: false
      name: group_by
      in: query
    aggregate:
      schema:
        type:
        - string
        - 'null'
        description: Aggregation(s). You can specify multiple with repeated query parameters, e.g., ?aggregate=count()&aggregate=sum(gas_used)
        example: count() as count
      required: false
      name: aggregate
      in: query
    sortBy:
      schema:
        anyOf:
        - type: string
          enum:
          - block_number
          title: constant
        - type: string
          title: string
        description: Field to sort results by
        example: block_number
      required: false
      name: sort_by
      in: query
    filterBlockTimestampGt:
      schema:
        type:
        - number
        - 'null'
        description: Filter by block timestamp greater than
        example: 1715222400
      required: false
      name: filter_block_timestamp_gt
      in: query
    filterGasPriceGte:
      schema:
        type:
        - number
        - 'null'
        description: Filter by gas price greater than or equal to
        example: 50000000000000
      required: false
      name: filter_gas_price_gte
      in: query
  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.'