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

# Get Wallet Balances

Retrieves the crypto balances for all wallets belonging to a user. Supports optional filtering by `blockchain` and `token`.

***

## Error Codes

### Common Errors

| HTTP Status | Code                   | Message                            |
| ----------- | ---------------------- | ---------------------------------- |
| 401         | `UNAUTHORIZED`         | "API Key is missing"               |
| 401         | `UNAUTHORIZED`         | "Invalid API Key format"           |
| 401         | `UNAUTHORIZED`         | "Invalid API Key"                  |
| 403         | `INVALID_PARTNER_FLOW` | "The partner has an invalid flow." |

### User Ownership Errors

| HTTP Status | Code           | Message                                              |
| ----------- | -------------- | ---------------------------------------------------- |
| 401         | `UNAUTHORIZED` | "Partner information is required for this operation" |
| 401         | `UNAUTHORIZED` | "User is not associated with the partner"            |

### Endpoint-Specific Errors

| HTTP Status | Code                       | Message                             |
| ----------- | -------------------------- | ----------------------------------- |
| 400         | `INVALID_USER_INPUT_ERROR` | "Invalid User Input" (invalid UUID) |


## OpenAPI

````yaml reference/openapi/UserBalancePartnerV2Controller_getUserWalletBalances.json GET /api/partner/v2/users/{userId}/wallets/balance
openapi: 3.0.0
info:
  title: Capa Partner API - V2
  description: >-
    Partner API for integrating cryptocurrency on-ramp and off-ramp services
    using Capa's infrastructure. Enable your users to seamlessly convert between
    fiat and crypto.
  version: v2
  contact: {}
servers:
  - url: https://api.sandbox.capa.fi
  - url: https://production-api.capa.fi
security: []
paths:
  /api/partner/v2/users/{userId}/wallets/balance:
    get:
      tags:
        - users
      operationId: UserBalancePartnerV2Controller_getUserWalletBalances
      parameters:
        - name: userId
          required: true
          in: path
          description: The userId of the user
          schema:
            example: 8374f327-38bd-4b0b-b8a7-2524599eb903
            type: string
        - name: blockchain
          required: false
          in: query
          description: Filter by blockchain
          schema:
            example: POL
            enum:
              - POL
              - SOL
              - ETH
            type: string
        - name: token
          required: false
          in: query
          description: Filter by token symbol
          schema:
            example: USDC
            enum:
              - USDC
              - USDT
            type: string
      responses:
        '200':
          description: Retrieves wallet balances for a user with optional filters
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  data:
                    type: object
                    properties:
                      balances:
                        description: >-
                          Array of balance items grouped by blockchain, flow,
                          and wallet
                        type: array
                        items:
                          type: object
                          properties:
                            blockchain:
                              type: string
                              description: The blockchain symbol
                              example: POL
                            flow:
                              type: string
                              description: The transaction flow for this wallet
                              example: OTC
                            walletAddress:
                              type: string
                              description: The user's wallet address on this chain
                              example: '0x4d2f3d8f83b6f2f8e0f3f4f3f3f3f3f3f3f3f3f3'
                            tokens:
                              type: array
                              description: Token balances for this wallet
                              items:
                                type: object
                                properties:
                                  symbol:
                                    type: string
                                    description: The token symbol
                                    example: USDC
                                  balance:
                                    type: string
                                    description: >-
                                      The token balance as a human-readable
                                      decimal string
                                    example: '150.5'
                                required:
                                  - symbol
                                  - balance
                          required:
                            - blockchain
                            - flow
                            - walletAddress
                            - tokens
                    required:
                      - balances
              example:
                success: true
                data:
                  balances:
                    - blockchain: POL
                      flow: OTC
                      walletAddress: '0x4d2f3d8f83b6f2f8e0f3f4f3f3f3f3f3f3f3f3f3'
                      tokens:
                        - symbol: USDC
                          balance: '150.5'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                code: INVALID_USER_INPUT_ERROR
                message: Invalid User Input
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                UNAUTHORIZED:
                  value:
                    success: false
                    code: UNAUTHORIZED
                    message: API Key is missing
                UNAUTHORIZED_2:
                  value:
                    success: false
                    code: UNAUTHORIZED
                    message: Invalid API Key format
                UNAUTHORIZED_3:
                  value:
                    success: false
                    code: UNAUTHORIZED
                    message: Invalid API Key
                UNAUTHORIZED_4:
                  value:
                    success: false
                    code: UNAUTHORIZED
                    message: Partner information is required for this operation
                UNAUTHORIZED_5:
                  value:
                    success: false
                    code: UNAUTHORIZED
                    message: User is not associated with the partner
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                code: INTERNAL_SERVER_ERROR
                message: Internal server error
      security:
        - PartnerApiKey: []
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          example: false
        code:
          type: string
          description: Machine-readable error code.
        message:
          type: string
          description: Human-readable error message.
        errors:
          type: array
          description: Optional per-field validation details.
          items:
            type: object
            properties:
              field:
                type: string
              message:
                type: string
      required:
        - success
        - code
        - message
  securitySchemes:
    PartnerApiKey:
      type: apiKey
      in: header
      name: partner-api-key
      description: API key for the affiliated partner performing the request.

````