Skip to content
For developers

The VTU API for data, airtime and bills.

Sell data, airtime, electricity and cable TV from your own app or website. One REST API, agent rates on every sale, and a signed webhook the moment each order completes.

  • Services5
  • WebhooksHMAC signed
  • You buy atagent rates
# buy 1GB for a customer
curl -X POST https://aidapay.ng/api/v1/buy \
  -H "Authorization: Bearer $AIDAPAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "provider_code": "<from GET /service/data-bundle-sme>",
    "package_code": "<from GET /packages/{provider_code}>",
    "recipient": "08031234567",
    "ref": "ORDER-1042",
    "account_pin": "****"
  }'
What you can sell

Everything in the AidaPay app, through one API.

6

Data bundles

6 live providers · GET /service/data-bundle-sme

4

Airtime

4 live providers · GET /service/airtime-topup

11

Electricity tokens

11 live providers · GET /service/meter-token

3

Cable TV

3 live providers · GET /service/cable-tv-subscription

1

Exam PINs (WAEC, JAMB)

1 live provider · GET /service/education

Your margin

Agent cashback on every sale.

API accounts earn agent rates. Today's cheapest plan on each network, and what the API pays you on it:

PlanPriceRegular userYou (API)
120MB Whatsapp - 1 Month₦147.75+₦1.03+₦1.18
Airtel 230MB - 2 Days₦198+₦1.24+₦1.98
Glo 200MB - 14 Days₦90+₦1.42+₦2.02
MTN 1GB Data Transfer - 7 Days₦400+₦0+₦0
Airtel 2GB - 2 Days - AWUF Data₦595+₦5+₦7
Glo 750MB - 1 Day - AWUF Data₦190+₦1.90+₦3.80

Every provider and your personal rates are returned by GET /pricing. See all data prices.

Go live

Four steps to your first sale.

Everything happens in the AidaPay Business dashboard.

  1. Verify your identityComplete BVN and NIN verification to reach Level 3 under Settings → Upgrade & Limits.
  2. Generate your API tokenSettings → API Settings: create your token, add your webhook URL and, ideally, whitelist your server IPs.
  3. Fund your walletGenerate a virtual bank account under Deposits and fund it by bank transfer.
  4. Start buildingCall the endpoints with your Bearer token. The webhook simulator lets you test your handler before real traffic.
Endpoints

Small, predictable, REST.

Base URL https://aidapay.ng/api/v1. JSON in, JSON out, Bearer token on every call.

GET/my_accountYour account and wallet balance
GET/service/{slug}Live providers for a service
GET/packages/{provider_code}Data plans and TV bouquets for a provider
GET/validation/{provider_code}/{recipient}Check a meter, smartcard or number before you sell
POST/buyBuy data, airtime, a token or a subscription
GET/transaction/{transaction_hash}Status of one transaction (or pass your ref)
POST/requeryAsk the provider again for a pending transaction
GET/pricingEvery provider, package and your commission

Request fields, responses, errors and a live console are in the full API reference.

Built for production

Safe to run at scale.

Signed webhooks

Every status change is pushed to you with an HMAC-SHA256 Signature header, so nobody can fake a "Completed".

IP whitelisting

Lock your token to your own servers. A leaked token is useless anywhere else.

No double charges

Each purchase carries your unique ref, so a network retry can never buy twice.

One key, every service

The same API token buys data, airtime, electricity and cable TV, all paid from one wallet.

Exact outcomes

Completed, Processing, Pending, Refund or Cancelled - with tokens, PINs and units included where they apply.

24/7 support

Real people in your dashboard, any time a transaction needs a second look.

Questions

VTU API: your questions answered.

Full request and response details are in the API reference. New to VTU? Read what VTU is and how the business works.

How do I get an AidaPay API key?
Open the AidaPay Business dashboard, complete BVN and NIN verification to reach Level 3 (Settings → Upgrade & Limits), then go to Settings → API Settings to generate your access token and add your webhook URL.
What can I sell with the AidaPay API?
Data bundles on MTN, Airtel, Glo and 9mobile, airtime, electricity tokens, cable TV (DStv, GOtv, StarTimes) and exam PINs - the same services as the AidaPay app, from one wallet.
How much do I earn per transaction?
API accounts buy at agent rates, so every transaction pays agent cashback - for example ₦1.18 on 120MB Whatsapp - 1 Month (MTN). Your live rates for every provider are returned by GET /pricing.
How do I know a transaction succeeded?
AidaPay sends a webhook to your URL whenever a transaction changes status. Treat only Completed as successful; Processing means wait, Refund means it failed and the amount is back in your wallet. Each webhook carries a Signature header (HMAC-SHA256 of the body with your access token).
Is there a rate limit?
Yes, fair per-account limits apply, with purchases counted separately from look-ups. Use webhooks instead of polling the transaction status endpoint. Contact support if you need a higher limit.
How do I keep my integration secure?
Call the API only from your server - never expose your token in an app or web page. Turn on IP whitelisting in API Settings, verify every webhook signature, and send a unique ref with each purchase so a retry can never charge twice.