Click Airtime

Wallet Balance

Check your wallet balances including individual wallet breakdown.

Wallet Balance

Retrieve your current wallet balances, including a breakdown of individual wallets by currency.

GET /v2/balance

Permission required: wallets.read

Example Request

curl -X GET "https://api.clickairtime.com/v2/balance" \
  -H "Authorization: Bearer ce_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
const response = await fetch('https://api.clickairtime.com/v2/balance', {
  headers: {
    'Authorization': 'Bearer ce_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  },
});
const data = await response.json();
import requests

response = requests.get(
    'https://api.clickairtime.com/v2/balance',
    headers={
        'Authorization': 'Bearer ce_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
    }
)
data = response.json()

Example Response

{
  "success": true,
  "data": {
    "available_balance": {
      "amount": 1250.50,
      "currency": "USD"
    },
    "wallets": [
      {
        "id": "wal_global_001",
        "currency": "USD",
        "balance": 1000.00,
        "type": "global",
        "status": "active",
        "allowed_countries": ["All Countries"]
      },
      {
        "id": "wal_ghs_001",
        "currency": "GHS",
        "balance": 3090.00,
        "type": "local",
        "status": "active",
        "allowed_countries": ["Ghana"]
      }
    ]
  },
  "meta": {
    "request_id": "req_w1x2y3z4a5b6",
    "timestamp": "2024-01-15T10:30:00.000Z"
  }
}

Response Fields

FieldTypeDescription
available_balance.amountnumberTotal balance in USD equivalent
available_balance.currencystringAlways USD
walletsarrayIndividual wallet breakdown
wallets[].idstringWallet identifier
wallets[].currencystringWallet currency code
wallets[].balancenumberCurrent balance in wallet currency
wallets[].typestringglobal (USD, all countries) or local (specific currency/countries)
wallets[].statusstringactive or inactive
wallets[].allowed_countriesarrayCountries this wallet can send to

Global wallets (USD) can send airtime to any supported country. Local wallets are restricted to countries that use that currency.

Wallet Types

TypeCurrencyCoverageUse Case
GlobalUSDAll 140+ countriesDefault for most integrations
LocalGHS, NGN, KES, etc.Country-specificOptimized rates for high-volume corridors

Single Wallet Balance

Retrieve the balance and details for a specific wallet by its ID.

GET /v2/balance/:wallet_id

Permission required: wallets.read

Path Parameters

ParameterTypeRequiredDescription
wallet_idstringYesThe wallet identifier (e.g., wal_global_001)

Example Request

curl -X GET "https://api.clickairtime.com/v2/balance/wal_ghs_001" \
  -H "Authorization: Bearer ce_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
const walletId = 'wal_ghs_001';
const response = await fetch(`https://api.clickairtime.com/v2/balance/${walletId}`, {
  headers: {
    'Authorization': 'Bearer ce_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  },
});
const data = await response.json();
import requests

wallet_id = 'wal_ghs_001'
response = requests.get(
    f'https://api.clickairtime.com/v2/balance/{wallet_id}',
    headers={
        'Authorization': 'Bearer ce_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
    }
)
data = response.json()

Example Response

{
  "success": true,
  "data": {
    "id": "wal_ghs_001",
    "currency": "GHS",
    "balance": 3090.00,
    "type": "local",
    "status": "active",
    "allowed_countries": ["Ghana"]
  },
  "meta": {
    "request_id": "req_s1w2b3a4l5n6",
    "timestamp": "2024-01-15T10:30:00.000Z"
  }
}

Response Fields

FieldTypeDescription
idstringWallet identifier
currencystringWallet currency code
balancenumberCurrent balance in wallet currency
typestringglobal (USD, all countries) or local (specific currency/countries)
statusstringactive or inactive
allowed_countriesarrayCountries this wallet can send to

Returns a 404 error if the wallet ID does not exist or does not belong to your account.