Balance
This endpoint allows the merchant to check their API account balance in real-time (or multiple sub-accounts if the platform supports it).
It is often used before executing a payout or to verify the available settlement capacity.
GET /v1/balanceAuthentication
| Element | Detail |
|---|---|
| Auth | ✅ Requires Authorization: Basic base64(api_key:api_client) header |
| Payload | None |
| Version | /v1/ |
Purpose
- Check the current balance of the merchant account.
- Ensure that the available balance allows executing a payment or transfer.
- Track financial movements of the account (e.g., for display in a dashboard).
- Identify attached sub-accounts (e.g., by currency or activity).
Request Example
curl -X GET https://api.novasend.app/v1/balance \
-H "Authorization: Basic base64(api_key:api_client)" \
-H "Content-Type: application/json"Response Example
[
{
"balance": 4676,
"availableBalance": 4676,
"reference": "merchant_gh8jpoipkrxhjsm0",
"currency": "XOF"
}
]Field Interpretation
| Field | Type | Description |
|---|---|---|
| balance | number | Total account balance, including pending amounts (unsettled transactions). |
| availableBalance | number | Actually available balance for new operations (excluding blocked amounts). |
| reference | string | Merchant account or associated sub-account identifier. |
| currency | string | Balance currency (XOF, USD, EUR, etc.). |
💡 In some cases, a merchant may have multiple balances depending on currencies or environments (Prod / Sandbox).
Difference Between balance and availableBalance
| Element | Description |
|---|---|
| balance | Overall amount including funds being settled (e.g., "processing" transactions). |
| availableBalance | Amount actually usable immediately to execute a payout, without risk of rejection. |
Example:
-
balance = 10,000 -
availableBalance = 7,000→ This means 3,000 XOF are still pending settlement (e.g., an unconfirmed payment).
Typical Use Cases
| Use Case | Description |
| --- | --- | | Before a payout | Verify that
availableBalance ≥ amount + feesbefore issuing the transfer. | | Merchant dashboard | Display real-time balance in a portal or mobile app. | | Reconciliation | Compare balances received via API with those in the local database. | | Error prevention | Prevent a payment if the balance is insufficient. |
Multiple Responses
The API may return multiple objects in the array if the merchant has multi-currency accounts or segmented sub-accounts (by region, product, or service).
Example:
[
{
"balance": 4676,
"availableBalance": 4676,
"reference": "merchant_gh8jpoipkrxhjsm0",
"currency": "XOF"
},
{
"balance": 1230,
"availableBalance": 980,
"reference": "merchant_usd_ahjs87s2",
"currency": "USD"
}
]Possible Errors
| HTTP Code | Message | Probable Cause | Recommended Action |
|---|---|---|---|
| 401 | Unauthorized | Invalid or expired API key | Verify credentials |
| 403 | Forbidden | Account disabled | Contact support |
| 404 | Not Found | No account found for this API key | Verify configuration |
| 500 | Internal Server Error | Temporary error | Retry later |
Security and obligation
- Never expose the
api_keyon the frontend side. - Always use a production key distinct from the sandbox one.
- Cache the balance if you display the information frequently (e.g., dashboard).
- Set up an internal alert if
availableBalancedrops below a certain threshold.