> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blockradar.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Child Address Read

> This API provides endpoints for interacting with smart contracts on the blockchain. It allows for reading contract data,

#### Request Body

The request body should be in raw format and include the following parameters:

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| address | string | Yes | The address of the contract. |
| method | string | Yes | The method to be called on the contract. |
| parameters | array | Yes | An array of parameters to pass to the method. |
| abi | array | Yes | An array containing the ABI of the contract or method. |

## Batch Operations

This endpoint supports batch operations, allowing you to read multiple contract methods in a single API call from a specific child address.

### Batch Request Format

To execute multiple reads, use the `calls` array:

```json theme={null}
{
  "calls": [
    {
      "address": "0x1234...",
      "method": "balanceOf",
      "parameters": ["0xabcd..."],
      "abi": [...]
    },
    {
      "address": "0x5678...",
      "method": "totalSupply",
      "parameters": [],
      "abi": [...]
    }
  ]
}
```

### Batch Response Format

Batch responses include `success` and `errors` arrays:

```json theme={null}
{
  "message": "Batch contract read completed (2/2 successful)",
  "statusCode": 200,
  "data": {
    "success": [
      { "index": 0, "method": "balanceOf", "data": "1000000" },
      { "index": 1, "method": "totalSupply", "data": "50000000" }
    ],
    "errors": []
  }
}
```

### Validation Rules

| Rule           | Value         |
| -------------- | ------------- |
| Max batch size | 20 operations |
| Min batch size | 1 operation   |

### Use Cases

* **Bulk reads**: Read multiple contract states efficiently
* **Multi-asset balances**: Query balances across multiple assets in one call
* **Protocol state**: Read multiple protocol parameters simultaneously


## OpenAPI

````yaml post /v1/wallets/{walletId}/addresses/{addressId}/contracts/read
openapi: 3.0.3
info:
  title: Blockradar Documentation
  description: >-
    The OpenAPI specification of the Blockradar API that enables fintechs and
    developers to seamlessly integrate stablecoin deposits and payments into
    their products.
  version: 1.0.0
  contact: {}
servers:
  - url: https://api.blockradar.co
security:
  - apiKey: []
tags:
  - name: Rewards
    description: >-
      Non-custodial yield (Earn) on stablecoins via regulated (Fija) and DeFi
      (Aave) strategies. Deposit, withdraw, preview fees, and read positions and
      earnings at the business, wallet, and sub-address level. Amounts are
      returned net of the platform fee, which applies only to interest earned.
  - name: Wallet
    description: >-
      Wallet Management System


      Comprehensive wallet management API for multi-blockchain operations. This
      system handles wallet creation, configuration, balance monitoring, and
      integration with various blockchain networks.


      Core Functionality:


      - Multi-blockchain wallet creation and management

      - Balance monitoring and asset tracking

      - Auto-settlement rule configuration

      - Gateway wallet integration

      - Address generation and management

      - Transaction monitoring and processing
  - name: Addresses
    description: >-
      Address Management System


      Comprehensive blockchain address management API for operations. This
      system handles address creation, validation, monitoring, and management
      across multiple blockchain networks.


      Core Functionality:


      - Multi-blockchain address generation

      - Address validation and verification

      - Balance monitoring and tracking

      - Transaction history management

      - Address labeling and organization

      - Integration with wallet systems

      - Real-time address monitoring
  - name: Asset
  - name: Transactions
  - name: Withdraw
    description: >-
      The Withdraw feature allows you to programmatically withdraw stablecoins
      from your master wallet with ease
  - name: Withdraw Fiat
  - name: Signing
    description: >-
      Typed data signing service for secure transaction authorization. Supports
      all EIP-712 standards including EIP-3009 (TransferWithAuthorization) and
      EIP-2612 (Permit).
  - name: Swap
    description: >-
      The Swap feature enables users to exchange one stabelcoin asset for
      another across different blockchains. This feature provides a seamless way
      to convert between different stablecoins while maintaining security and
      compliance standards.
  - name: Liquidity Pool
  - name: Virtual Accounts
    description: >-
      Virtual Accounts API provides endpoints for managing virtual bank accounts
      linked to master wallets or child addresses. This API enables businesses
      to:


      - Create virtual accounts for customers to receive payments

      - Retrieve virtual account details

      - Activate/deactivate virtual accounts


      **Virtual Account Types:**


      Virtual accounts support different types with varying behaviors:


      1. **AUTO_FUNDING** (Default):

          - Automatically mints stablecoin when fiat payments are received

          - Transfers the stablecoin to the linked wallet/address immediately

          - Best for real-time payment processing


      **How It Works - Auto-Funding Flow (AUTO_FUNDING type only):**


      When a customer sends fiat currency to a virtual account with type
      AUTO_FUNDING:


      1. **Payment Receipt**: The payment is received in the virtual account

      2. **Automatic Minting**: The system automatically mints the stablecoin
      equivalent

      3. **Blockchain Transfer**: The minted stablecoin is transferred to the
      virtual account's linked wallet or address


      **Note**: The auto-funding flow only applies to virtual accounts with type
      `AUTO_FUNDING`.

      Other types have different processing behaviors.


      ## Prerequisites


      Before creating virtual accounts, ensure:


      - **Compliance requirements must be completed** (see [Compliance
      Requirements](http://localhost:3000/essentials/virtual-accounts#compliance-requirements)
      section below)

      - **Virtual accounts feature must be enabled** for your business (reach
      out to [support@blockradar.co](https://mailto:support@blockradar.co) or
      use live chat on the dashboard to enable the feature after compliance
      approval)

      - **Only available on MAINNET environment** (not available on testnet)

      - **Master Wallet must support stablecoin asset** - Your account plan must
      include stablecoin access (upgrade from Dashboard → Settings →
      Subscription if needed)


      **Supported Currency:**


      - Fiat: NGN (Nigerian Naira)

      - Stablecoin: cNGN - minted automatically on blockchain (for AUTO_FUNDING
      type)
  - name: Auto Settlements
    description: >-
      Creates a new auto settlement rule for a wallet. Auto settlement
      automatically transfers/swap assets based on configured rules when certain
      conditions are met.


      Rules can be configured for:


      - Source blockchain and assets

      - Destination blockchain and asset

      - Amount ranges (min/max)

      - Slippage tolerance

      - Gateway vs non-gateway wallets


      Gateway rules are required for testnet wallets and must have matching
      source/destination assets.
  - name: Smart Contract
    description: >-
      This API provides endpoints for interacting with smart contracts on the
      blockchain. It allows for reading contract data, executing contract
      functions, and estimating network fees.
  - name: Gateway
    description: >-
      The Gateway feature enables you to programmatically deposit USDC into a
      unified, chain-abstracted balance and instantly mint USDC on any supported
      blockchain, streamlining crosschain transfers and eliminating manual
      bridging steps and rebalancing complexities.
  - name: Payment Links
    description: >-
      The Payment Pages API provides a quick and secure way to collect payment
      for servcies.
  - name: Beneficiaries
    description: >-
      This API allows you to create beneficiaries with automatic settlements to
      your external wallets on a periodic basis.


      Example frequencies: INSTANT, DAILY, WEEKLY, MONTHLY, YEARLY
  - name: AML
    description: >-
      The AML (Anti Money Laundering) API provides a quick way for you to check
      if an address is blacklisted or sanctioned
  - name: Asset Recovery
    description: >-
      Enables the recovery (salvage) of both native blockchain assets and tokens
      from a specified sender address to a recipient address. This feature
      supports emergency fund recovery and asset consolidation operations.
  - name: Miscellaneous
    description: >-
      The Miscellaneous API are supporting APIs that can be used to provide more
      details to other APIs.
  - name: Asset1
  - name: Blockchain
  - name: Webhooks
    description: >-
      Webhooks allow you to set up a notification system that can be used to
      receive updates on certain requests made to the Blockradar API.

      To see full list and instructions
      [https://docs.blockradar.co/essentials/webhooks](https://docs.blockradar.co/essentials/webhooks)


      ##
  - name: Deposit
  - name: Withdraw1
  - name: Swap1
  - name: Gateway1
paths:
  /v1/wallets/{walletId}/addresses/{addressId}/contracts/read:
    parameters:
      - name: walletId
        in: path
        required: true
        schema:
          type: string
          example: YOUR_WALLET_ID
      - name: addressId
        in: path
        required: true
        schema:
          type: string
          example: ADDRESS_ID
    post:
      tags:
        - Smart Contract
      summary: Child Address Read
      description: >-
        This API provides endpoints for interacting with smart contracts on the
        blockchain. It allows for reading contract data,


        #### Request Body


        The request body should be in raw format and include the following
        parameters:


        | Parameter | Type | Required | Description |

        | --- | --- | --- | --- |

        | address | string | Yes | The address of the contract. |

        | method | string | Yes | The method to be called on the contract. |

        | parameters | array | Yes | An array of parameters to pass to the
        method. |

        | abi | array | Yes | An array containing the ABI of the contract or
        method. |
      operationId: childAddressRead
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                calls:
                  type: array
                  items:
                    type: object
                    properties:
                      abi:
                        type: array
                        items:
                          type: object
                          properties:
                            constant:
                              type: boolean
                              example: true
                            inputs:
                              type: array
                              items:
                                type: object
                                properties:
                                  name:
                                    type: string
                                    example: account
                                  type:
                                    type: string
                                    example: address
                              example:
                                - name: account
                                  type: address
                            name:
                              type: string
                              example: balanceOf
                            outputs:
                              type: array
                              items:
                                type: object
                                properties:
                                  name:
                                    type: string
                                    example: ''
                                  type:
                                    type: string
                                    example: uint256
                              example:
                                - name: ''
                                  type: uint256
                            stateMutability:
                              type: string
                              example: view
                            type:
                              type: string
                              example: function
                        example:
                          - constant: true
                            inputs:
                              - name: account
                                type: address
                            name: balanceOf
                            outputs:
                              - name: ''
                                type: uint256
                            stateMutability: view
                            type: function
                      address:
                        type: string
                        example: '0x337610d27c682E347C9cD60BD4b3b107C9d34dDd'
                      method:
                        type: string
                        example: balanceOf
                      parameters:
                        type: array
                        items:
                          type: string
                          example: '0x947514e4B803e312C312da0F1B41fEDdbe15ae7a'
                        example:
                          - '0x947514e4B803e312C312da0F1B41fEDdbe15ae7a'
                  example:
                    - abi:
                        - constant: true
                          inputs:
                            - name: account
                              type: address
                          name: balanceOf
                          outputs:
                            - name: ''
                              type: uint256
                          stateMutability: view
                          type: function
                      address: '0x337610d27c682E347C9cD60BD4b3b107C9d34dDd'
                      method: balanceOf
                      parameters:
                        - '0x947514e4B803e312C312da0F1B41fEDdbe15ae7a'
                    - abi:
                        - constant: true
                          inputs:
                            - name: owner
                              type: address
                            - name: spender
                              type: address
                          name: allowance
                          outputs:
                            - name: ''
                              type: uint256
                          stateMutability: view
                          type: function
                      address: '0x337610d27c682E347C9cD60BD4b3b107C9d34dDd'
                      method: allowance
                      parameters:
                        - '0x947514e4B803e312C312da0F1B41fEDdbe15ae7a'
                        - 0xSpenderAddress
            examples:
              Child Address Read:
                value:
                  calls:
                    - abi:
                        - constant: true
                          inputs:
                            - name: account
                              type: address
                          name: balanceOf
                          outputs:
                            - name: ''
                              type: uint256
                          stateMutability: view
                          type: function
                      address: '0x337610d27c682E347C9cD60BD4b3b107C9d34dDd'
                      method: balanceOf
                      parameters:
                        - '0x947514e4B803e312C312da0F1B41fEDdbe15ae7a'
                    - abi:
                        - constant: true
                          inputs:
                            - name: owner
                              type: address
                            - name: spender
                              type: address
                          name: allowance
                          outputs:
                            - name: ''
                              type: uint256
                          stateMutability: view
                          type: function
                      address: '0x337610d27c682E347C9cD60BD4b3b107C9d34dDd'
                      method: allowance
                      parameters:
                        - '0x947514e4B803e312C312da0F1B41fEDdbe15ae7a'
                        - 0xSpenderAddress
      responses:
        '200':
          description: Ethereum / Tron / Ethereum (Batch) / Tron (Batch)
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    example: '10052335235393043'
                    anyOf:
                      - type: string
                        example: '10052335235393043'
                      - type: object
                        properties:
                          errors:
                            type: array
                            items: {}
                            example: []
                          success:
                            type: array
                            items:
                              type: object
                              properties:
                                data:
                                  type: string
                                  example: '16132019479847722328'
                                index:
                                  type: number
                                  example: 0
                                method:
                                  type: string
                                  example: balanceOf
                            example:
                              - data: '16132019479847722328'
                                index: 0
                                method: balanceOf
                              - data: '999999999556'
                                index: 1
                                method: balanceOf
                      - type: object
                        properties:
                          errors:
                            type: array
                            items: {}
                            example: []
                          success:
                            type: array
                            items:
                              type: object
                              properties:
                                data:
                                  type: string
                                  example: '16132019479847722328'
                                index:
                                  type: number
                                  example: 0
                                method:
                                  type: string
                                  example: balanceOf
                            example:
                              - data: '16132019479847722328'
                                index: 0
                                method: balanceOf
                              - data: '999999999556'
                                index: 1
                                method: balanceOf
                  message:
                    type: string
                    example: Contract read successfully
                  statusCode:
                    type: number
                    example: 200
              examples:
                Ethereum:
                  value:
                    data: '10052335235393043'
                    message: Contract read successfully
                    statusCode: 200
                Ethereum (Batch):
                  value:
                    data:
                      errors: []
                      success:
                        - data: '16132019479847722328'
                          index: 0
                          method: balanceOf
                        - data: '999999999556'
                          index: 1
                          method: balanceOf
                    message: Batch contract read completed (2/2 successful)
                    statusCode: 200
                Tron:
                  value:
                    data: '59758238871801095'
                    message: Contract read successfully
                    statusCode: 200
                Tron (Batch):
                  value:
                    data:
                      errors: []
                      success:
                        - data: '16132019479847722328'
                          index: 0
                          method: balanceOf
                        - data: '999999999556'
                          index: 1
                          method: balanceOf
                    message: Batch contract read completed (2/2 successful)
                    statusCode: 200
components:
  securitySchemes:
    apiKey:
      type: apiKey
      name: x-api-key
      in: header

````