Developer Portal
API REFERENCE CORE ENDPOINT

Wallet & Balance API

Retrieve your real-time wallet balance, available funds, promotional credits, currency configuration, and assigned virtual bank accounts via secure, authenticated GET requests.

GET /api/v1/wallet/balance (or alias /api/v1/balance)
Authentication & Required Headers
HEADER VALUE REQUIRED
Authorization Bearer YOUR_API_TOKEN Yes
Accept application/json Yes
Developer Best Practice

We recommend checking your balance prior to initiating bulk or high-frequency automated orders (such as corporate data vending or verification batches). This endpoint is lightweight and responds with low latency (< 50ms).

Implementation Code Examples

curl -X GET "https://www.api.arewasmart.com.ng/api/v1/wallet/balance" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"
const axios = require('axios');

async function getWalletBalance() {
  try {
    const response = await axios.get('https://www.api.arewasmart.com.ng/api/v1/wallet/balance', {
      headers: {
        'Authorization': 'Bearer YOUR_API_TOKEN',
        'Accept': 'application/json'
      }
    });

    console.log('Balance:', response.data.data.formatted_balance);
    console.log('Raw Data:', response.data.data);
  } catch (error) {
    console.error('Error fetching balance:', error.response?.data || error.message);
  }
}

getWalletBalance();
<?php

$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => "https://www.api.arewasmart.com.ng/api/v1/wallet/balance",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer YOUR_API_TOKEN",
        "Accept: application/json"
    ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);

if ($err) {
    echo "cURL Error #:" . $err;
} else {
    $data = json_decode($response, true);
    print_r($data);
}
import requests

url = "https://www.api.arewasmart.com.ng/api/v1/wallet/balance"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Accept": "application/json"
}

response = requests.get(url, headers=headers)
data = response.json()

if response.status_code == 200:
    print(f"Current Balance: {data['data']['formatted_balance']}")
else:
    print(f"Failed: {data.get('message')}")

Response Payloads

Success Response (200 OK)
200 OK
{
    "status": "success",
    "code": 200,
    "message": "Wallet balance retrieved successfully.",
    "data": {
        "wallet_number": "9830710242",
        "balance": 15450.00,
        "bonus": 250.00,
        "ref_bonus": 0.00,
        "hold_amount": 0.00,
        "currency": "NGN",
        "status": "active",
        "virtual_account": {
            "bank_name": "Palmpay",
            "account_number": "9830710242",
            "account_name": "AREWA SMART / JOHN DOE",
            "status": "active"
        }
    }
}
401 Unauthorized
401
{
    "status": "failed",
    "code": 401,
    "message": "Unauthorized. A valid API token is required. Pass via Bearer token or api_token parameter."
}
403 Forbidden (IP / Status)
403
{
    "status": "failed",
    "code": 403,
    "message": "IP address 192.168.1.1 is not authorized."
}