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

> ## Agent Instructions
> Money is always a decimal string at the currency's precision (for example "29.00"), paired with an ISO 4217 currency field. Never use minor units.
> Build against the sandbox first: base URL https://sandbox-api.bachs.io with sk_sandbox_ keys. Production is https://api.bachs.io with sk_live_ keys; going live is a key swap.
> Treat webhooks (for example collection.succeeded) as the source of truth for fulfilment, never client-side events or redirects.
> Subscriptions are created by completing a checkout for a recurring product. There is no direct create-subscription endpoint.
> IDs carry resource prefixes (cust_, prod_, sub_, chk_, inv_, ref_) and timestamps are ISO 8601 UTC.

# Understand your balance

> What is in your Bachs balance, when collected money becomes available to pay out, and how to read it from the API.

Every payment you collect lands in your Bachs balance, in one of the currencies you hold. It arrives as pending, settles, and then becomes available: that is the money you can pay out.

## Available and pending

Each currency you hold has two amounts:

* **Available** is settled money you can pay out now, or use for a payout fee.
* **Pending** is money you have collected that is still settling.

On the dashboard, open **Balances**. Each currency's card shows **Available now** and **Incoming**, and whether [automatic payouts](https://docs.bachs.io/guides/payouts/payout-schedules.md) are set up for it. Through the API, the same two amounts are `available_balance` and `pending_balance`.

*Image: The USD balance card on the dashboard: the balance, Available now and Incoming amounts, Automatic withdrawals not set up, and a Statements link.*

## Which currencies you hold

Your account always holds **USD**, and can also hold **NGN** once it is enabled in **Settings → Payout Destinations and Currencies**. A payment in any other currency is converted into one you hold as it settles, at the rate quoted on the charge.

Holding a currency decides what you settle in, not what you can charge in. See [Balance currencies](https://docs.bachs.io/for-you/supported-currencies.md#balance-currencies).

## When money becomes available

How long a payment stays pending depends on the currency you collected it in:

| Collected in | Available |
| - | - |
| NGN | Immediately |
| USD, including card payments and crypto | 2 days after the payment |
| GHS, KES, ZAR, UGX, TZS, ZMW, XAF, XOF, RWF | 1 day after the payment |
| Any other currency | 1 day after the payment |

Settled payments move into your available balance once a day, at **09:00 UTC** on their scheduled day. The wait counts calendar days from the day the payment landed, so a payment collected at any hour on Monday with a one-day wait becomes available at 09:00 UTC on Tuesday.

> [!NOTE]
>
> A card payment that would become available on a Saturday or Sunday moves to the following Monday, because banks do not settle at weekends. Other payment methods keep their date.

## Read your balance from the API

Call [Get Balances](https://docs.bachs.io/api-reference/accounts/get-balances.md) with a key that has `balance:read`:

```bash theme={"dark"}
curl https://sandbox-api.bachs.io/v1/balances \
  -H "Authorization: Bearer $BACHS_API_KEY"
```

```json Response theme={"dark"}
{
  "account_id": "acct_7KpQ2mNv4XbR9dLc",
  "balances": [
    { "currency": "NGN", "available_balance": "58700.00", "pending_balance": "0.00" },
    { "currency": "USD", "available_balance": "95178.20", "pending_balance": "0.00" }
  ],
  "total_balance_usd": "95221.29",
  "pending_settlements_by_day": []
}
```

| Field | What it tells you |
| - | - |
| `balances` | One entry per currency you hold, with its available and pending amounts. |
| `total_balance_usd` | Everything you hold, available and pending, converted to USD. Useful for a dashboard figure, not for deciding a payout. |
| `pending_settlements_by_day` | The settlements still to come, grouped by the day they become available. Empty when nothing is pending. |

Amounts are decimal strings in the currency's own units, so `"58700.00"` is 58,700 naira.

To act for a connected account, send its `X-Account-Id`. See [Connected account payouts](https://docs.bachs.io/connect/payouts.md).

## Paying out what's available

Only the available balance can fund a payout, and it has to cover the fee as well as the amount. International bank and mobile money routes are paid from your USD balance; an NGN balance pays NGN payouts to Nigerian banks.

* [Create a payout](https://docs.bachs.io/guides/payouts/payout-using-api.md) when you want to move money yourself.
* [Set up automatic payouts](https://docs.bachs.io/guides/payouts/payout-schedules.md) to send settled customer collections on a schedule. Top-ups, transfers you received and conversions are not included.
* [Reconcile payouts](https://docs.bachs.io/guides/payouts/reconcile.md) to match what left your balance with what arrived.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.