GET /v1/airtime/b2b/networks), from your wallet. The transaction comes back SUCCESS, FAILED (refunded to your wallet) or PROCESSING while the network confirms — poll GET /v1/airtime/b2b/{reference} until it settles.curl --location 'http://localhost:5050/v1/airtime/b2b-buy' \
--header 'Idempotency-Key;' \
--header 'x-api-key: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
"idempotencyKey": "5f0c7c1e-8a52-4a5e-9d0b-1c1f6f1d2a11",
"network": "MTN",
"phoneNumber": "08012345678",
"amount": 500
}'{
"success": true,
"message": "Airtime purchase successful",
"statusCode": 200,
"path": "/v1/…",
"timestamp": "2026-09-26T12:00:00.000Z",
"hash": "a1b2c3d4-…",
"data": {
"transaction": {
"reference": "DB-AIR-20250923-MFX2K9QZ-4C8E91A2",
"type": "AIRTIME",
"status": "SUCCESS",
"amount": 485,
"recipient": "08012345678",
"network": "MTN",
"planId": null,
"description": "MTN airtime ₦500",
"tokenOrPin": null,
"balanceBefore": 10000,
"balanceAfter": 9520,
"failureReason": null,
"createdAt": "2026-09-26T12:00:00.000Z"
}
}
}