List your account balances by currency and country, with optional filters.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Returns the balances for the account identified by your bearer token. Both environments return currency, availableBalance, and country for each record.
| Environment | Method | URL |
|---|---|---|
| Production | GET | https://api-v2.honeycoin.app/api/b2b/users/balances |
| Sandbox | GET | https://api-v2.honeycoin.app/api/sandbox/b2b/users/balances |
Generate a bearer token for the environment you are calling and pass Authorization: Bearer YOUR_BEARER_TOKEN. See Generate Bearer Token. No request body, publicKey, or userId parameter is required.
Filters
Both query parameters are optional. Omit them to return all existing balance records for the account. If you provide both, a record must match both filters.
| Parameter | Format | Example |
|---|---|---|
country | Two letters. Surrounding whitespace is trimmed and letters are converted to uppercase. | KE |
currency | At least three alphanumeric characters. Surrounding whitespace is trimmed and letters are converted to uppercase. | KES, USDC |
Each record represents a currency and country combination. Global balances have country: null; omit the country filter to include those records.
Production example
curl --request GET \
--url 'https://api-v2.honeycoin.app/api/b2b/users/balances?country=KE¤cy=KES' \
--header 'Authorization: Bearer YOUR_PRODUCTION_BEARER_TOKEN' \
--header 'accept: application/json'Sandbox example
curl --request GET \
--url 'https://api-v2.honeycoin.app/api/sandbox/b2b/users/balances?currency=KES' \
--header 'Authorization: Bearer YOUR_SANDBOX_BEARER_TOKEN' \
--header 'accept: application/json'Response
The following example shows an unfiltered response:
{
"success": true,
"data": [
{
"currency": "KES",
"availableBalance": 1250.5,
"country": "KE"
},
{
"currency": "USDC",
"availableBalance": 50.25,
"country": null
}
]
}availableBalance is a number in the record's currency. Keep currency and country together when displaying or storing a balance. The response contains existing records; it does not create zero-balance entries for other currencies or countries.
If there are no matching balance records, the endpoint returns HTTP 200 with:
{
"success": true,
"data": []
}Errors
| HTTP status | errorCode | Action |
|---|---|---|
400 | QUERY_VALIDATION_ERROR | Check the format of country and currency. Send a single string value for each filter. |
400 | BEARER_TOKEN_ERROR | Generate a valid bearer token for the environment and send it in the authorization header. |
500 | API_GET_BALANCES_ERROR | Retry the production read. Contact support if the error persists. |
500 | SANDBOX_GET_BALANCES_ERROR | Retry the sandbox read. Contact support if the error persists. |
