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

# Get Custody Wallet Balance

> Returns the current balance of a custody wallet, read in real time from the custody provider.

#### Request

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| Authorization | Header | Yes | `Bearer <access>` obtained from **POST /api/token**. |
| clientId | Path | Yes | Your client ID, from **GET /api/infoClient**. |
| userId | Path | Yes | Your client ID or the ID of one of your users (from **GET /api/b2b2b/&#123;clientId&#125;/users**). The user must be approved. |
| walletId | Path | Yes | Custody wallet ID, from **GET /api/b2b2b/&#123;clientId&#125;/wallet/custody/&#123;userId&#125;**. |

#### Response

| Field | Description |
| --- | --- |
| balance | Current balance, as a string (e.g. `"125.50"`). |
| token | Token of the balance. |



## OpenAPI

````yaml /business/openapi.json get /api/b2b2b/{clientId}/wallet/custody/balance/{userId}/{walletId}
openapi: 3.1.0
info:
  title: Kravata Business API
  version: '1.0'
  description: >-
    Kravata Business API: on-ramp and off-ramp orders, accounts and wallets,
    users, custody wallets and transfers.
servers:
  - url: https://testapi.kravata.co
    description: Test
  - url: https://apiv2.kravata.co
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Authentication
  - name: Accounts
  - name: Wallets
  - name: Users
  - name: Ramp Orders
  - name: Custody
  - name: Webhooks
paths:
  /api/b2b2b/{clientId}/wallet/custody/balance/{userId}/{walletId}:
    get:
      tags:
        - Custody
      summary: Get Custody Wallet Balance
      description: >-
        Returns the current balance of a custody wallet, read in real time from
        the custody provider.


        #### Request


        | Field | Type | Required | Description |

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

        | Authorization | Header | Yes | `Bearer <access>` obtained from **POST
        /api/token**. |

        | clientId | Path | Yes | Your client ID, from **GET /api/infoClient**.
        |

        | userId | Path | Yes | Your client ID or the ID of one of your users
        (from **GET /api/b2b2b/&#123;clientId&#125;/users**). The user must be
        approved. |

        | walletId | Path | Yes | Custody wallet ID, from **GET
        /api/b2b2b/&#123;clientId&#125;/wallet/custody/&#123;userId&#125;**. |


        #### Response


        | Field | Description |

        | --- | --- |

        | balance | Current balance, as a string (e.g. `"125.50"`). |

        | token | Token of the balance. |
      operationId: get-custody-wallet-balance
      parameters:
        - name: clientId
          in: path
          required: true
          description: ''
          schema:
            type: string
            format: uuid
        - name: userId
          in: path
          required: true
          description: ''
          schema:
            type: string
            format: uuid
        - name: walletId
          in: path
          required: true
          description: ''
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  balance:
                    type: string
                  token:
                    type: string
              examples:
                api-b2b2b-wallet-custody-balance:
                  summary: api/b2b2b/wallet/custody/balance
                  value:
                    balance: '109'
                    token: USDC
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Access token from POST /api/token (valid 5 minutes).

````