Chapa
Balance

Balances

Retrieve available and ledger balances by currency.

GET /v2/balances
Host: api.chapa.global
Authorization: Bearer <PRIVATE_KEY>

Pass an optional currency to filter balances. Both data.available_balance and data.ledger_balance map currency codes to integer amounts in cents.

Example Request

For cURL, set PRIVATE_KEY in your shell. Replace the placeholders in the JavaScript example before running it.

cURL
curl -X GET 'https://api.chapa.global/v2/balances?currency=ETB' \
  -H "Authorization: Bearer $PRIVATE_KEY"
JavaScript
const response = await fetch("https://api.chapa.global/v2/balances?currency=ETB", {
  method: "GET",
  headers: {
  "Authorization": "Bearer <PRIVATE_KEY>"
},
});
const data = await response.json();

console.log(data);
Example Response
200 Success
{
  "status": "success",
  "message": "Balances retrieved successfully",
  "data": {
    "available_balance": {
      "ETB": 1250000
    },
    "ledger_balance": {
      "ETB": 1300000
    }
  }
}
401 Error
{
  "status": "error",
  "message": "Invalid API key or User does not exist",
  "error": {
    "code": "UNAUTHORIZED",
    "details": null
  }
}
403 Error
{
  "status": "error",
  "message": "API key environment does not match business environment.",
  "error": {
    "code": "INVALID_VALUE",
    "details": null
  }
}