Get Balances

List your account balances by currency and country, with optional filters.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Returns the balances for the account identified by your bearer token. Both environments return currency, availableBalance, and country for each record.

EnvironmentMethodURL
ProductionGEThttps://api-v2.honeycoin.app/api/b2b/users/balances
SandboxGEThttps://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.

ParameterFormatExample
countryTwo letters. Surrounding whitespace is trimmed and letters are converted to uppercase.KE
currencyAt 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&currency=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 statuserrorCodeAction
400QUERY_VALIDATION_ERRORCheck the format of country and currency. Send a single string value for each filter.
400BEARER_TOKEN_ERRORGenerate a valid bearer token for the environment and send it in the authorization header.
500API_GET_BALANCES_ERRORRetry the production read. Contact support if the error persists.
500SANDBOX_GET_BALANCES_ERRORRetry the sandbox read. Contact support if the error persists.
Query Params
string
^\s*[A-Za-z]{2}\s*$

Two-letter country code. Surrounding whitespace is trimmed and letters are normalized to uppercase. Omit to include all countries and global balances.

string
^\s*[A-Za-z0-9]{3,}\s*$

Alphanumeric currency code with at least three characters, such as KES or USDC. Surrounding whitespace is trimmed and letters are normalized to uppercase.

Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json