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

# Get Customer Wallet Balance

> Retrieve a customer's provider-reported SOL, USDC, and USDT balances

The customer and Solana wallet must belong to the merchant resolved from the production API key. Unsupported Solana token receipts remain visible in wallet transaction history but are not included in this supported-balance response.

## Path parameter

<ParamField path="customerId" type="string" required>
  FossaPay UUID of the individual customer whose Solana balances will be retrieved.
</ParamField>

## Header

<ParamField header="x-api-key" type="string" required>
  Active production API key belonging to the customer's merchant.
</ParamField>

## Request example

```bash theme={null}
curl --request GET \
  --url https://api-production.fossapay.com/api/v1/wallets/crypto/customer/11111111-1111-4111-8111-111111111111/balance \
  --header "x-api-key: $FOSSAPAY_API_KEY"
```

## Response

<ResponseExample>
  ```json Success theme={null}
  {
    "status": true,
    "statusCode": 200,
    "message": "Customer crypto wallet balance retrieved",
    "data": [
      {
        "id": "61237ceb-bde6-4052-9294-38470806f672",
        "address": "8aQ3Y97fxiX26Pe2ckc3keoQEz5MtWBCVk4pEx96Sqeb",
        "network": "solana",
        "tokens": {
          "sol": { "amount": "0.025", "rawAmount": "25000000" },
          "usdc": { "amount": "10.50", "rawAmount": "10500000" },
          "usdt": { "amount": "8.00", "rawAmount": "8000000" }
        }
      }
    ]
  }
  ```
</ResponseExample>

## Errors

| Status | Typical cause                                                    |
| ------ | ---------------------------------------------------------------- |
| `400`  | Customer or active Solana wallet was not found for this merchant |
| `401`  | Missing, invalid, or inactive API key                            |
| `422`  | `customerId` is not a valid UUID                                 |
| `5xx`  | Temporary provider or platform error                             |

Use decimal-safe arithmetic and preserve the returned string values. A balance response is a point-in-time view; reconcile transaction state separately.


## OpenAPI

````yaml GET /api/v1/wallets/crypto/customer/{customerId}/balance
openapi: 3.1.0
info:
  title: FossaPay API
  description: >-
    FossaPay API for checkout wallets, master-wallet payouts, customer
    management, NGN wallets, crypto wallets, transfers, fees, banks, and
    webhooks.
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api-production.fossapay.com
    description: Production server
security:
  - ApiKeyAuth: []
paths:
  /api/v1/wallets/crypto/customer/{customerId}/balance:
    get:
      tags:
        - Crypto Wallets
      summary: Get a customer Solana wallet balance
      description: >-
        Returns provider-reported SOL, USDC, and USDT balances for a customer
        owned by the authenticated merchant. Unsupported Solana token deposits
        appear in transaction history, not this balance response.
      operationId: CryptoWalletsController_getCustomerBalance
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Customer Solana wallet balance retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CryptoCustomerBalanceResponse'
        '400':
          description: Customer or wallet not found for this merchant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
components:
  schemas:
    CryptoCustomerBalanceResponse:
      type: object
      required:
        - success
        - message
        - data
      properties:
        success:
          type: boolean
          const: true
        message:
          type: string
        data:
          type: array
          items:
            $ref: '#/components/schemas/CryptoWalletAddress'
      additionalProperties: true
    ApiError:
      type: object
      properties:
        status:
          oneOf:
            - type: string
            - type: boolean
        statusCode:
          type: integer
        message:
          type: string
        error:
          type: string
        code:
          type: string
        errors:
          type: object
          additionalProperties: true
      additionalProperties: true
    CryptoWalletAddress:
      type: object
      required:
        - id
        - address
        - network
        - tokens
      properties:
        id:
          type: string
          format: uuid
          description: >-
            FossaPay crypto wallet id used by wallet-by-id and
            wallet-transactions endpoints.
        address:
          type: string
        network:
          type: string
          enum:
            - solana
        tokens:
          type: object
          description: >-
            Provider-reported supported balances. SOL is the native network
            token; unsupported token deposits are recorded as transactions but
            omitted here.
          properties:
            sol:
              $ref: '#/components/schemas/CryptoWalletTokenBalance'
            usdc:
              $ref: '#/components/schemas/CryptoWalletTokenBalance'
            usdt:
              $ref: '#/components/schemas/CryptoWalletTokenBalance'
          additionalProperties:
            $ref: '#/components/schemas/CryptoWalletTokenBalance'
      additionalProperties: true
    CryptoWalletTokenBalance:
      type: object
      required:
        - amount
        - rawAmount
      properties:
        amount:
          type: string
        rawAmount:
          type: string
      additionalProperties: true
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````