Nurenta Public API
A single API to handle airtime, data, cable TV, electricity, betting top-ups and more — all from your application.
Airtime & Data
Top up any Nigerian network — MTN, GLO, Airtel, 9Mobile — instantly.
Cable TV
Pay for DSTV, GOTV, and Startimes subscriptions with one API call.
Electricity
Purchase prepaid or postpaid electricity units across all DISCOs in Nigeria.
Betting & More
Fund Bet9ja, SportyBet, 1xBet and other platforms directly from your wallet.
Education
Purchase WAEC, NECO, and JAMB PINs for students — instantly delivered.
Quick Start
Get up and running in three steps.
-
Request your API credentials
Email support@nurenta.ng to get your sandbox Public Key and Secret Key for testing. Once testing is done, request your live keys. -
Add credentials to every request header
Include yourX-Public-Key,X-Secret-Key, andX-Environmentheaders in all requests. -
Test with the Wallet Balance endpoint
Make your first call toGET /wallet/balance. A successful response means authentication is working correctly.
https://api.nurenta.ng/api/public/v1
Authentication
Every request to the Nurenta API must include your credentials in the request headers.
pk_) and a Secret Key
(starts with sk_). Use the sandbox
prefix for testing, and live prefix for production.
Required Headers
Wallet Balance
Check your API wallet balance and get a summary of today's and this month's transactions.
Returns your current wallet balance in NGN, along with a summary of transactions made today and this month. This is a great first call to verify your credentials are working.
curl --location 'https://api.nurenta.ng/api/public/v1/wallet/balance' \ --header 'X-Public-Key: pk_sandbox_YOUR_KEY' \ --header 'X-Secret-Key: sk_sandbox_YOUR_SECRET' \ --header 'X-Environment: sandbox' \ --header 'Accept: application/json'
const response = await fetch(
'https://api.nurenta.ng/api/public/v1/wallet/balance',
{
method: 'GET',
headers: {
'X-Public-Key': 'pk_sandbox_YOUR_KEY',
'X-Secret-Key': 'sk_sandbox_YOUR_SECRET',
'X-Environment': 'sandbox',
'Accept': 'application/json'
}
}
);
const data = await response.json();
console.log(data);
{
"status": "success",
"message": "Wallet balance retrieved successfully",
"data": {
"balance": 10000.00,
"currency": "NGN"
}
}
Transaction History
Retrieve a list of past transactions, with optional filters by type, status, and date.
Returns your full transaction history. Use the limit parameter to control how many
records are returned at once.
| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | number | Optional | Max records to return. Default is 50. |
curl --location \ 'https://api.nurenta.ng/api/public/v1/transactions/history?limit=50' \ --header 'X-Public-Key: pk_sandbox_YOUR_KEY' \ --header 'X-Secret-Key: sk_sandbox_YOUR_SECRET' \ --header 'X-Environment: sandbox' \ --header 'Accept: application/json'
const response = await fetch(
'https://api.nurenta.ng/api/public/v1/transactions/history?limit=50',
{
method: 'GET',
headers: {
'X-Public-Key': 'pk_sandbox_YOUR_KEY',
'X-Secret-Key': 'sk_sandbox_YOUR_SECRET',
'X-Environment': 'sandbox',
'Accept': 'application/json'
}
}
);
const data = await response.json();
console.log(data);
Airtime Transactions
Filter your transaction history to show only airtime purchases.
Returns only airtime-related transactions. Use the service_type filter to narrow results by
service.
| Parameter | Type | Required | Description |
|---|---|---|---|
| service_type | string | Required | Set to airtime to filter by service type. |
| limit | number | Optional | Max records to return. |
curl --location \ 'https://api.nurenta.ng/api/public/v1/transactions/history?service_type=airtime&limit=20' \ --header 'X-Public-Key: pk_sandbox_YOUR_KEY' \ --header 'X-Secret-Key: sk_sandbox_YOUR_SECRET' \ --header 'X-Environment: sandbox' \ --header 'Accept: application/json'
const params = new URLSearchParams({
service_type: 'airtime',
limit: 20
});
const response = await fetch(
`https://api.nurenta.ng/api/public/v1/transactions/history?${params}`,
{
headers: {
'X-Public-Key': 'pk_sandbox_YOUR_KEY',
'X-Secret-Key': 'sk_sandbox_YOUR_SECRET',
'X-Environment': 'sandbox',
'Accept': 'application/json'
}
}
);
const data = await response.json();
Completed Transactions
Filter transaction history to show only successfully completed transactions.
| Parameter | Type | Required | Description |
|---|---|---|---|
| status | string | Required | Set to completed to show only successful
transactions. |
| limit | number | Optional | Max records to return. |
curl --location \ 'https://api.nurenta.ng/api/public/v1/transactions/history?status=completed&limit=30' \ --header 'X-Public-Key: pk_sandbox_YOUR_KEY' \ --header 'X-Secret-Key: sk_sandbox_YOUR_SECRET' \ --header 'X-Environment: sandbox' \ --header 'Accept: application/json'
const params = new URLSearchParams({
status: 'completed',
limit: 30
});
const response = await fetch(
`https://api.nurenta.ng/api/public/v1/transactions/history?${params}`,
{
headers: {
'X-Public-Key': 'pk_sandbox_YOUR_KEY',
'X-Secret-Key': 'sk_sandbox_YOUR_SECRET',
'X-Environment': 'sandbox',
'Accept': 'application/json'
}
}
);
const data = await response.json();
Transactions by Date Range
Filter your transaction history by a specific date range.
| Parameter | Type | Required | Description |
|---|---|---|---|
| date_from | string | Required | Start date in YYYY-MM-DD format. |
| date_to | string | Required | End date in YYYY-MM-DD format. |
| limit | number | Optional | Max records to return. |
curl --location \ 'https://api.nurenta.ng/api/public/v1/transactions/history?date_from=2026-03-01&date_to=2026-03-31&limit=50' \ --header 'X-Public-Key: pk_sandbox_YOUR_KEY' \ --header 'X-Secret-Key: sk_sandbox_YOUR_SECRET' \ --header 'X-Environment: sandbox' \ --header 'Accept: application/json'
const params = new URLSearchParams({
date_from: '2026-03-01',
date_to: '2026-03-31',
limit: 50
});
const response = await fetch(
`https://api.nurenta.ng/api/public/v1/transactions/history?${params}`,
{
headers: {
'X-Public-Key': 'pk_sandbox_YOUR_KEY',
'X-Secret-Key': 'sk_sandbox_YOUR_SECRET',
'X-Environment': 'sandbox',
'Accept': 'application/json'
}
}
);
const data = await response.json();
Get Networks
Fetch the list of available mobile networks and their IDs. Use the returned network_id when purchasing airtime or data.
curl --location \ 'https://api.nurenta.ng/api/public/v1/networks' \ --header 'X-Public-Key: pk_sandbox_YOUR_KEY' \ --header 'X-Secret-Key: sk_sandbox_YOUR_SECRET' \ --header 'X-Environment: sandbox' \ --header 'Content-Type: application/json' \ --header 'Accept: application/json'
const response = await fetch(
'https://api.nurenta.ng/api/public/v1/networks',
{
method: 'GET',
headers: {
'X-Public-Key': 'pk_sandbox_YOUR_KEY',
'X-Secret-Key': 'sk_sandbox_YOUR_SECRET',
'X-Environment': 'sandbox',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
}
);
const data = await response.json();
{
"status": true,
"message": "Networks retrieved successfully",
"data": [
{ "network_id": 1, "network_name": "MTN" },
{ "network_id": 2, "network_name": "AIRTEL" },
{ "network_id": 3, "network_name": "GLO" },
{ "network_id": 4, "network_name": "9MOBILE" }
]
}
Purchase Airtime
Top up a phone number with airtime on any supported Nigerian network.
| Field | Type | Required | Description |
|---|---|---|---|
| network_id | number | Required | 1=MTN, 2=GLO, 3=Airtel, 4=9Mobile |
| phone_number | string | Required | Nigerian phone number to recharge. |
| amount | number | Required | Amount in NGN. Between ₦50 and ₦50,000. |
| reference | string | Optional | Your unique reference for tracking this transaction. |
curl --location \
'https://api.nurenta.ng/api/public/v1/billpayments/airtime' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'X-Public-Key: pk_sandbox_YOUR_KEY' \
--header 'X-Secret-Key: sk_sandbox_YOUR_SECRET' \
--data '{
"network_id": 1,
"phone_number": "08012345678",
"amount": 500,
"reference": "AIR_1777600344"
}'
const response = await fetch(
'https://api.nurenta.ng/api/public/v1/billpayments/airtime',
{
method: 'POST',
headers: {
'X-Public-Key': 'pk_sandbox_YOUR_KEY',
'X-Secret-Key': 'sk_sandbox_YOUR_SECRET',
'X-Environment': 'sandbox',
'Content-Type': 'application/json',
'Accept': 'application/json'
},
body: JSON.stringify({
network_id: 1,
phone_number: '08012345678',
amount: 500,
reference: 'AIR_1777600344'
})
}
);
const data = await response.json();
{
"status": true,
"message": "Airtime recharge of ₦500 to 08012345678 was successful.",
"data": {
"transaction_reference": "APAIR-20260329-69C8E68E3851C",
"transaction_no": "NUR202629030945029UGWC702",
"network": "MTN",
"phone_number": "08012345678",
"amount": 500,
"charged": 485,
"discount": 15,
"status": "completed",
"wallet_balance": 4951.50
}
}
Get Data Plans
Retrieve available mobile data bundle plans for a specific network. Use the returned
plan_id when purchasing data.
| Field | Type | Required | Description |
|---|---|---|---|
| network_id | number | Required | 1=MTN, 2=GLO, 3=Airtel, 4=9Mobile |
curl --location \
'https://api.nurenta.ng/api/public/v1/data/plans' \
--header 'X-Public-Key: pk_sandbox_YOUR_KEY' \
--header 'X-Secret-Key: sk_sandbox_YOUR_SECRET' \
--header 'X-Environment: sandbox' \
--header 'Content-Type: application/json' \
--data '{
"network_id": 3
}'
const response = await fetch(
'https://api.nurenta.ng/api/public/v1/data/plans',
{
method: 'POST',
headers: {
'X-Public-Key': 'pk_sandbox_YOUR_KEY',
'X-Secret-Key': 'sk_sandbox_YOUR_SECRET',
'X-Environment': 'sandbox',
'Content-Type': 'application/json'
},
body: JSON.stringify({ network_id: 3 })
}
);
const data = await response.json();
{
"status": true,
"message": "Data plans retrieved successfully",
"data": {
"network_id": 3,
"network_name": "AIRTEL",
"plans": [
{
"plan_id": "AIRTEL_DG_110MB_DAILY",
"name": "110MB Daily Plan",
"size": "110MB",
"validity": "1 Day",
"price": 100,
"currency": "NGN"
},
{
"plan_id": "AIRTEL_DG_500MB_1DAY",
"name": "500MB 1-Day Plan",
"size": "500MB",
"validity": "1 Day",
"price": 335,
"currency": "NGN"
}
// ... more plans
]
}
}
Purchase Data
Buy a mobile data bundle for any phone number on a supported network.
data_plan_id for your chosen network.
| Field | Type | Required | Description |
|---|---|---|---|
| network_id | number | Required | 1=MTN, 2=GLO, 3=Airtel, 4=9Mobile |
| phone_number | string | Required | Nigerian phone number to receive data. |
| data_plan_id | string | Required | Plan ID from the Get Data Plans endpoint. |
| reference | string | Optional | Your unique reference for this transaction. |
curl --location \
'https://api.nurenta.ng/api/public/v1/billpayments/data' \
--header 'X-Public-Key: pk_sandbox_YOUR_KEY' \
--header 'X-Secret-Key: sk_sandbox_YOUR_SECRET' \
--header 'X-Environment: sandbox' \
--header 'Content-Type: application/json' \
--data '{
"network_id": 1,
"phone_number": "08012345678",
"data_plan_id": "MTN_DT_500MB_WK",
"reference": "DATA_1777600344"
}'
const response = await fetch(
'https://api.nurenta.ng/api/public/v1/billpayments/data',
{
method: 'POST',
headers: {
'X-Public-Key': 'pk_sandbox_YOUR_KEY',
'X-Secret-Key': 'sk_sandbox_YOUR_SECRET',
'X-Environment': 'sandbox',
'Content-Type': 'application/json'
},
body: JSON.stringify({
network_id: 1,
phone_number: '08012345678',
data_plan_id: 'MTN_DT_500MB_WK',
reference: 'DATA_1777600344'
})
}
);
const data = await response.json();
{
"status": true,
"message": "500MB DATA TRANSFER 7DAYS has been successfully purchased.",
"data": {
"transaction_reference": "APDAT-20260404-69D10365C8E00",
"network": "MTN",
"plan_name": "500MB DATA TRANSFER 7DAYS",
"plan_size": "500MB",
"validity": "7 Days",
"phone_number": "08012345678",
"amount": 250,
"status": "completed",
"wallet_balance": 4153.00
}
}
Cable TV Providers
Retrieve the list of available cable TV providers. Use the returned cable_type_id in subsequent cable calls.
curl --location \ 'https://api.nurenta.ng/api/public/v1/cable/types' \ --header 'X-Public-Key: pk_sandbox_YOUR_KEY' \ --header 'X-Secret-Key: sk_sandbox_YOUR_SECRET' \ --header 'X-Environment: sandbox' \ --header 'Accept: application/json'
const response = await fetch(
'https://api.nurenta.ng/api/public/v1/cable/types',
{
headers: {
'X-Public-Key': 'pk_sandbox_YOUR_KEY',
'X-Secret-Key': 'sk_sandbox_YOUR_SECRET',
'X-Environment': 'sandbox',
'Accept': 'application/json'
}
}
);
const data = await response.json();
{
"status": true,
"message": "Cable TV types retrieved successfully",
"data": [
{ "cable_type_id": 1, "name": "DSTV", "identifier": "84ee2bdf5d224485b8afd050684cb863" },
{ "cable_type_id": 2, "name": "GOTV", "identifier": "ae13ef30616a4735b93d6979f14e4c78" },
{ "cable_type_id": 3, "name": "STARTIMES", "identifier": "2f6a200cd4204ffba74d6bc5888e7f02" },
{ "cable_type_id": 4, "name": "SHOWMAX", "identifier": "09awer00cd4204ffba74d6bc5888e7f02" }
]
}
Cable TV Plans
Fetch available subscription packages for a specific cable TV provider.
| Field | Type | Required | Description |
|---|---|---|---|
| cable_type_id | number | Required | ID of the cable provider from Get Providers endpoint. |
curl --location \
'https://api.nurenta.ng/api/public/v1/cable/plans' \
--header 'X-Public-Key: pk_sandbox_YOUR_KEY' \
--header 'X-Secret-Key: sk_sandbox_YOUR_SECRET' \
--header 'X-Environment: sandbox' \
--header 'Content-Type: application/json' \
--data '{
"cable_type_id": 3
}'
const response = await fetch(
'https://api.nurenta.ng/api/public/v1/cable/plans',
{
method: 'POST',
headers: {
'X-Public-Key': 'pk_sandbox_YOUR_KEY',
'X-Secret-Key': 'sk_sandbox_YOUR_SECRET',
'X-Environment': 'sandbox',
'Content-Type': 'application/json'
},
body: JSON.stringify({ cable_type_id: 3 })
}
);
const data = await response.json();
{
"status": true,
"message": "Cable plans retrieved successfully",
"data": {
"cable_type": "STARTIMES",
"plans": [
{
"plan_id": "DTT_Nova Weekly",
"plan_name": "DTT Nova Weekly",
"price": 700,
"validity": "7 Days"
}
]
}
}
Validate IUC Number
Verify a smartcard/IUC number before making a cable TV payment. This returns the customer's name and account status.
| Field | Type | Required | Description |
|---|---|---|---|
| cable_type_id | number | Required | Provider ID (1=DSTV, 2=GOtv, 3=Startimes). |
| iuc_number | string/number | Required | The smartcard number on the decoder. |
curl --location \
'https://api.nurenta.ng/api/public/v1/cable/validate' \
--header 'X-Public-Key: pk_sandbox_YOUR_KEY' \
--header 'X-Secret-Key: sk_sandbox_YOUR_SECRET' \
--header 'X-Environment: sandbox' \
--header 'Content-Type: application/json' \
--data '{
"cable_type_id": 1,
"iuc_number": "7034577634"
}'
const response = await fetch(
'https://api.nurenta.ng/api/public/v1/cable/validate',
{
method: 'POST',
headers: {
'X-Public-Key': 'pk_sandbox_YOUR_KEY',
'X-Secret-Key': 'sk_sandbox_YOUR_SECRET',
'X-Environment': 'sandbox',
'Content-Type': 'application/json'
},
body: JSON.stringify({
cable_type_id: 1,
iuc_number: '7034577634'
})
}
);
const data = await response.json();
{
"status": true,
"message": "IUC number validated successfully",
"data": {
"customer_name": "KELVIN VIHISHIMA",
"iuc_number": "7034577634",
"status": "ACTIVE",
"due_date": "Sun, Apr 19, 2026",
"renewal_amount": "19000"
}
}
Purchase Cable TV Subscription
Subscribe or renew a cable TV package for a decoder by its smartcard number.
| Field | Type | Required | Description |
|---|---|---|---|
| cable_type_id | number | Required | 1=DSTV, 2=GOtv, 3=Startimes |
| plan_id | string | Required | Package ID from Get Plans endpoint. |
| smart_card_no | string | Required | The decoder's smartcard/IUC number. |
| reference | string | Optional | Your unique transaction reference. |
curl --location \
'https://api.nurenta.ng/api/public/v1/bill-payments/cable' \
--header 'X-Public-Key: pk_sandbox_YOUR_KEY' \
--header 'X-Secret-Key: sk_sandbox_YOUR_SECRET' \
--header 'X-Environment: sandbox' \
--header 'Content-Type: application/json' \
--data '{
"cable_type_id": 1,
"plan_id": "DSTV_COMPACT_PLUS",
"smart_card_no": "7034577634",
"reference": "DSTV_1777600344"
}'
const response = await fetch(
'https://api.nurenta.ng/api/public/v1/bill-payments/cable',
{
method: 'POST',
headers: {
'X-Public-Key': 'pk_sandbox_YOUR_KEY',
'X-Secret-Key': 'sk_sandbox_YOUR_SECRET',
'X-Environment': 'sandbox',
'Content-Type': 'application/json'
},
body: JSON.stringify({
cable_type_id: 1,
plan_id: 'DSTV_COMPACT_PLUS',
smart_card_no: '7034577634',
reference: 'DSTV_1777600344'
})
}
);
const data = await response.json();
{
"status": true,
"message": "Cable subscription purchase successful",
"data": {
"transaction_reference": "API_TXN_20260404_192520_A1B2C3D4",
"cable_type": "DSTV",
"iuc_number": "7034577634",
"customer_name": "KELVIN VIHISHIMA",
"plan_name": "Compact Plus",
"amount": 15700.00,
"status": "completed"
}
}
Electricity Providers (DISCOs)
Get the full list of electricity distribution companies supported by the API.
curl --location \ 'https://api.nurenta.ng/api/public/v1/electricity/types' \ --header 'X-Public-Key: pk_sandbox_YOUR_KEY' \ --header 'X-Secret-Key: sk_sandbox_YOUR_SECRET' \ --header 'X-Environment: sandbox' \ --header 'Accept: application/json'
const response = await fetch(
'https://api.nurenta.ng/api/public/v1/electricity/types',
{
headers: {
'X-Public-Key': 'pk_sandbox_YOUR_KEY',
'X-Secret-Key': 'sk_sandbox_YOUR_SECRET',
'X-Environment': 'sandbox',
'Accept': 'application/json'
}
}
);
const data = await response.json();
{
"status": true,
"message": "Electricity providers retrieved successfully",
"data": [
{ "electricity_type_id": 1, "name": "IKEDC", "disco": "IKEJA_ELECTRIC" },
{ "electricity_type_id": 2, "name": "EKEDC", "disco": "EKO_ELECTRIC" }
// ... AEDC, PHED, IBEDC, JED, KAEDCO, KEDCO, EEDC
]
}
Validate Meter Number
Verify a meter number against a distribution company before making a payment.
| Field | Type | Required | Description |
|---|---|---|---|
| disco_type | string | Required | e.g. IKEDC, EKEDC, AEDC |
| meter_type | string | Required | PREPAID or POSTPAID |
| meter_number | string | Required | The meter number on the device. |
| amount | number | Required | Intended purchase amount in NGN. |
| phone_number | string | Optional | Customer phone number. |
curl --location \
'https://api.nurenta.ng/api/public/v1/electricity/validate' \
--header 'X-Public-Key: pk_sandbox_YOUR_KEY' \
--header 'X-Secret-Key: sk_sandbox_YOUR_SECRET' \
--header 'X-Environment: sandbox' \
--header 'Content-Type: application/json' \
--data '{
"disco_type": "EKEDC",
"meter_type": "POSTPAID",
"meter_number": "62987654321",
"amount": 10000,
"phone_number": "08012345678"
}'
const response = await fetch(
'https://api.nurenta.ng/api/public/v1/electricity/validate',
{
method: 'POST',
headers: {
'X-Public-Key': 'pk_sandbox_YOUR_KEY',
'X-Secret-Key': 'sk_sandbox_YOUR_SECRET',
'X-Environment': 'sandbox',
'Content-Type': 'application/json'
},
body: JSON.stringify({
disco_type: 'EKEDC',
meter_type: 'POSTPAID',
meter_number: '62987654321',
amount: 10000,
phone_number: '08012345678'
})
}
);
const data = await response.json();
Buy Electricity
Purchase prepaid electricity units or pay a postpaid electricity bill.
| Field | Type | Required | Description |
|---|---|---|---|
| electricity_type_id | number | Required | Provider ID from Get Providers endpoint. |
| meter_number | string | Required | The meter number on the device. |
| meter_type | string | Required | prepaid or postpaid |
| amount | number | Required | Amount in NGN (₦500 – ₦500,000). |
| phone | string | Optional | Phone number to receive the token via SMS. |
curl --location \
'https://api.nurenta.ng/api/public/v1/bill-payments/electricity' \
--header 'X-Public-Key: pk_sandbox_YOUR_KEY' \
--header 'X-Secret-Key: sk_sandbox_YOUR_SECRET' \
--header 'X-Environment: sandbox' \
--header 'Content-Type: application/json' \
--data '{
"electricity_type_id": 1,
"meter_number": "0137230219164",
"meter_type": "prepaid",
"amount": 5000,
"phone": "08012345678"
}'
const response = await fetch(
'https://api.nurenta.ng/api/public/v1/bill-payments/electricity',
{
method: 'POST',
headers: {
'X-Public-Key': 'pk_sandbox_YOUR_KEY',
'X-Secret-Key': 'sk_sandbox_YOUR_SECRET',
'X-Environment': 'sandbox',
'Content-Type': 'application/json'
},
body: JSON.stringify({
electricity_type_id: 1,
meter_number: '0137230219164',
meter_type: 'prepaid',
amount: 5000,
phone: '08012345678'
})
}
);
const data = await response.json();
{
"status": true,
"message": "Electricity purchase successful",
"data": {
"transaction_reference": "TXN_20260404_143025_ABC123",
"disco": "IKEDC",
"meter_number": "0137230219164",
"meter_type": "prepaid",
"customer_name": "JOHN DOE",
"amount": 5000,
"charged": 4950,
"token": "1234-5678-9012-3456-7890",
"units": "45.5 kWh",
"status": "completed"
}
}
Fund Betting Account
Top up a customer's account on any supported betting or gaming platform.
| Field | Type | Required | Description |
|---|---|---|---|
| bet_type | string | Required | Platform name e.g. BET9JA, SPORTYBET, 1XBET |
| customer_id | string | Required | The user's ID/username on the betting platform. |
| amount | number | Required | Amount in NGN (₦100 – ₦500,000). |
| reference | string | Optional | Your unique transaction reference. |
curl --location \
'https://api.nurenta.ng/api/public/v1/billpayments/betting' \
--header 'X-Public-Key: pk_sandbox_YOUR_KEY' \
--header 'X-Secret-Key: sk_sandbox_YOUR_SECRET' \
--header 'X-Environment: sandbox' \
--header 'Content-Type: application/json' \
--data '{
"bet_type": "BET9JA",
"customer_id": "123456789",
"amount": 1000,
"reference": "BET9JA_1777604449"
}'
const response = await fetch(
'https://api.nurenta.ng/api/public/v1/billpayments/betting',
{
method: 'POST',
headers: {
'X-Public-Key': 'pk_sandbox_YOUR_KEY',
'X-Secret-Key': 'sk_sandbox_YOUR_SECRET',
'X-Environment': 'sandbox',
'Content-Type': 'application/json'
},
body: JSON.stringify({
bet_type: 'BET9JA',
customer_id: '123456789',
amount: 1000,
reference: 'BET9JA_1777604449'
})
}
);
const data = await response.json();
Buy WAEC PIN
Purchase a WAEC registration or result checker PIN for a student.
| Field | Type | Required | Description |
|---|---|---|---|
| edu_type | string | Required | Set to WAEC. |
| edu_identifier | string | Required | The exam identifier e.g. waec_registration_2024.
|
| profile_code | string | Required | The student's WAEC profile code. |
| reference | string | Optional | Your unique transaction reference. |
curl --location \
'https://api.nurenta.ng/api/public/v1/billpayments/education' \
--header 'X-Public-Key: pk_sandbox_YOUR_KEY' \
--header 'X-Secret-Key: sk_sandbox_YOUR_SECRET' \
--header 'X-Environment: sandbox' \
--header 'Content-Type: application/json' \
--data '{
"edu_type": "WAEC",
"edu_identifier": "waec_registration_2024",
"profile_code": "EXAM123456",
"reference": "WAEC_1777718069"
}'
const response = await fetch(
'https://api.nurenta.ng/api/public/v1/billpayments/education',
{
method: 'POST',
headers: {
'X-Public-Key': 'pk_sandbox_YOUR_KEY',
'X-Secret-Key': 'sk_sandbox_YOUR_SECRET',
'X-Environment': 'sandbox',
'Content-Type': 'application/json'
},
body: JSON.stringify({
edu_type: 'WAEC',
edu_identifier: 'waec_registration_2024',
profile_code: 'EXAM123456',
reference: 'WAEC_1777718069'
})
}
);
const data = await response.json();
{
"status": "Success",
"data": [
{
"pin": "959734569450",
"serialNo": "WRN232833332"
}
]
}
Buy NECO PIN
Purchase a NECO result checker PIN for a student.
| Field | Type | Required | Description |
|---|---|---|---|
| edu_type | string | Required | Set to NECO. |
| edu_identifier | string | Required | The exam identifier e.g. neco_result_checker_2024.
|
| reference | string | Optional | Your unique transaction reference. |
curl --location \
'https://api.nurenta.ng/api/public/v1/billpayments/education' \
--header 'X-Public-Key: pk_sandbox_YOUR_KEY' \
--header 'X-Secret-Key: sk_sandbox_YOUR_SECRET' \
--header 'X-Environment: sandbox' \
--header 'Content-Type: application/json' \
--data '{
"edu_type": "NECO",
"edu_identifier": "neco_result_checker_2024",
"reference": "NECO_1777718069"
}'
const response = await fetch(
'https://api.nurenta.ng/api/public/v1/billpayments/education',
{
method: 'POST',
headers: {
'X-Public-Key': 'pk_sandbox_YOUR_KEY',
'X-Secret-Key': 'sk_sandbox_YOUR_SECRET',
'X-Environment': 'sandbox',
'Content-Type': 'application/json'
},
body: JSON.stringify({
edu_type: 'NECO',
edu_identifier: 'neco_result_checker_2024',
reference: 'NECO_1777718069'
})
}
);
const data = await response.json();
Buy JAMB e-PIN
Purchase a JAMB e-PIN for exam registration or mock exams.
| Field | Type | Required | Description |
|---|---|---|---|
| edu_type | string | Required | Set to JAMB. |
| edu_identifier | string | Required | The exam identifier e.g. jamb_epin_2024. |
| profile_code | string | Required | The student's JAMB profile code. |
| reference | string | Optional | Your unique transaction reference. |
curl --location \
'https://api.nurenta.ng/api/public/v1/billpayments/education' \
--header 'X-Public-Key: pk_sandbox_YOUR_KEY' \
--header 'X-Secret-Key: sk_sandbox_YOUR_SECRET' \
--header 'X-Environment: sandbox' \
--header 'Content-Type: application/json' \
--data '{
"edu_type": "JAMB",
"edu_identifier": "jamb_epin_2024",
"profile_code": "JAMB2024USER",
"reference": "JAMB_1777718069"
}'
const response = await fetch(
'https://api.nurenta.ng/api/public/v1/billpayments/education',
{
method: 'POST',
headers: {
'X-Public-Key': 'pk_sandbox_YOUR_KEY',
'X-Secret-Key': 'sk_sandbox_YOUR_SECRET',
'X-Environment': 'sandbox',
'Content-Type': 'application/json'
},
body: JSON.stringify({
edu_type: 'JAMB',
edu_identifier: 'jamb_epin_2024',
profile_code: 'JAMB2024USER',
reference: 'JAMB_1777718069'
})
}
);
const data = await response.json();
{
"status": "Success",
"data": [
{
"pin": "959734569450"
}
]
}