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

# Get customer balances

> Retrieve the NGN balance held for a customer

## Overview

Returns the available, pending, and locked NGN balance held for one of your customers. Use this endpoint after creating a permanent funding account with `settlement_destination.type: CUSTOMER_NGN_BALANCE`.

The balance belongs to the customer identified by `id`; it is separate from your merchant balances returned by `GET /v1/merchant/balance`.

## Authentication

<ParamField header="X-Api-Key" type="string" required>
  Your merchant API key.
</ParamField>

## Path Parameters

<ParamField path="id" type="string" required>
  Customer ID (UUID).
</ParamField>

## Request Example

```bash theme={"dark"}
curl --request GET \
  --url https://api.daya.co/v1/customers/650e8400-e29b-41d4-a716-446655440000/balances \
  --header 'X-Api-Key: YOUR_API_KEY'
```

## Response

<ResponseField name="data" type="array" required>
  Balance entries for the customer. Customer balances currently use `NGN`.

  <Expandable title="balance properties">
    <ResponseField name="customer_id" type="string" required>
      Customer ID.
    </ResponseField>

    <ResponseField name="currency" type="string" required>
      Balance currency. Currently `NGN`.
    </ResponseField>

    <ResponseField name="available" type="string" required>
      Amount available for a customer-scoped NGN transfer.
    </ResponseField>

    <ResponseField name="pending" type="string" required>
      Amount awaiting completion.
    </ResponseField>

    <ResponseField name="locked" type="string" required>
      Amount reserved for transfers that have not reached a terminal state.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json 200 OK theme={"dark"}
  {
    "data": [
      {
        "customer_id": "650e8400-e29b-41d4-a716-446655440000",
        "currency": "NGN",
        "available": "125000.00",
        "pending": "0.00",
        "locked": "0.00"
      }
    ]
  }
  ```
</ResponseExample>

## Using the Balance

To send an NGN bank transfer from this balance, create the transfer with:

* `currency: NGN`
* `debit_currency: NGN`
* `debit_scope: CUSTOMER`
* `on_behalf_of.customer_id` set to this customer ID

The saved or inline recipient must belong to the same customer, and the customer must have completed Tier 1 KYC. See [Create transfer](/api-reference/transfers/create-transfer#customer-ngn-balance-transfer).

## Errors

* `400`: Invalid customer ID.
* `401`: Missing or invalid API key.
* `403`: Customer NGN balances are not enabled for the environment.
* `404`: Customer not found for the authenticated merchant.
* `502`: The balance provider could not return the balance.
