Payments, invoicing, messaging, identity verification, bill payments, ledgers and Nigerian reference data. One key, one wallet and one dashboard, with automatic failover where it matters.
curl -X POST https://api.stackapi.app/v1/notifications/sms \ -H "X-API-Key: Psk-test-YOUR_SECRET_KEY" \ -H "X-Public-Key: Ppk-test-YOUR_PUBLIC_KEY" \ -H "Content-Type: application/json" \ -d '{"to": "+2348012345678", "message": "Your code is 482910"}'
26
live APIs
1
key, wallet and dashboard
₦0
to build in test mode
24/7
public status page
Products
Start with the one you need today and add the rest without a new contract, a new key or a new integration.
Every API works on its own, and they all share one key, one wallet, one log and one set of signed webhooks.
Send SMS, OTPs and email from one API, with automatic failover between routes.
Accept card, bank transfer and USSD payments in naira.
Accept cards in major currencies and settle to your wallet.
Verify BVN, NIN, phone numbers, driver's licences, passports, voter's cards, vehicles, bank accounts, exam results, documents and faces against official records.
Airtime, data, electricity, cable TV, betting wallets and exam PINs, with bulk airtime and scheduled payments.
Generate branded business reports and exports from your data.
Score a transaction for risk before you accept it.
Hold funds between two parties and release on delivery.
Send money from your StackApi wallet to any Nigerian bank account, with the account name checked first.
CAC company lookup with directors, TIN, stamp duty and business credit reports (KYB).
States, LGAs and wards with INEC codes, ISO codes, capitals and geopolitical zones.
Universities, polytechnics and colleges of education, with type, ownership and state.
Banks and other financial institutions with NIP codes, CBN codes and licence class, and a NUBAN account number check.
Nigerian postcodes, streets and areas, and address checks in the postal format.
Nigerian public holidays and working days, including the Federal Government's declarations.
VAT and withholding tax under the Nigeria Tax Act 2025, with the rate, category and section for every line.
Double-entry ledgers, wallets and balances for your own customers.
Reconciliation of any two record lists, and settlement reports from your payments.
Physical address checks by field agents across Nigeria: an agent visits the address and confirms who lives there, usually within 48 hours.
Mid-market exchange rates checked against a second independent feed every hour, conversions and daily history back to 1999.
Naira and dollar virtual cards for your customers: issue, fund from your wallet, freeze, withdraw and read every transaction.
Quotes from local and international couriers, booking, pickup and live tracking from one API.
Search companies by name in Nigeria and other countries, then verify one with its CAC record.
Invoices with VAT and payment links your customers pay on a hosted page.
Plans and subscriptions for your own customers, renewed automatically.
Dedicated bank account numbers for your customers: their transfers land in your wallet, with account name checks.
Create an invoice with VAT worked out line by line, or a payment link for anything you sell. Your customer pays on a hosted page with your business name on it, and a signed webhook tells your system the moment it settles. Subscriptions renew themselves on the saved card.
POST /v1/commerce/invoices
{
"customer": { "name": "Ada Obi", "email": "[email protected]" },
"vat": "add",
"items": [ { "description": "Design", "amount": "10000", "quantity": 2 } ]
}
→ 201 "number": "INV-000001", "total": "21500.00",
"payment_url": "https://stackapi.app/pay?t=inv_…"Keep wallets and balances for your own customers in a double-entry ledger that refuses an unbalanced posting, never edits history and is safe to retry. Then reconcile any two lists of records, or your payments against your bank, in one call.
POST /v1/ledger/transactions
{
"reference": "topup-0001",
"entries": [
{ "account": "cash", "direction": "debit", "amount": "10000" },
{ "account": "wallet-ada", "direction": "credit", "amount": "9900" },
{ "account": "fees", "direction": "credit", "amount": "100" }
]
}Verify BVN, NIN, phone numbers, bank accounts and documents against official records, look up a company and its directors, and score a transaction for risk before you accept it. Every check is logged for your compliance team.
POST /v1/identity/verify-nin
{ "nin": "22222222222", "level": "basic" }
POST /v1/identity/verify-cac
{ "rc_number": "RC1234567" }
POST /v1/fraud/score
{ "amount": 250000, "email": "[email protected]", "ip_address": "102.89.1.10" }Why StackApi
One integration replaces a dozen contracts, dashboards and invoices, and the parts that usually break are already handled.
Authenticate once. Scoped sub-keys limit a teammate or a service to the APIs and request rate it needs.
Pay as you go from a single workspace wallet, or take a monthly plan. Every charge is itemised in your usage.
Messages and verifications move to another route when one is down, so your users are not the ones who notice.
Test keys return realistic answers, fire your webhooks and never touch your money, so you can build every path first.
Events arrive signed with HMAC-SHA256, retried automatically, with a delivery log you can inspect and replay.
Owner, admin, member and viewer roles and a shared wallet, so everyone works from the same keys and balance.
How it works
Sign up as an individual or as an organization. Both can invite teammates, and everyone shares one wallet.
Test keys never send, charge or touch your wallet. Use the test numbers and cards to build every success and failure path.
Verify your account, create live keys and switch the key in your code. Same endpoints, real results.
SDKs
Official libraries for Node.js, Python and PHP. Each one sends your keys, turns errors into exceptions with StackApi's error code, retries reads when the network drops, and verifies the signature on every webhook you receive.
$ npm install stackapi-sdkimport { StackApi } from 'stackapi-sdk'
const stackapi = new StackApi({
secretKey: process.env.STACKAPI_SECRET_KEY,
publicKey: process.env.STACKAPI_PUBLIC_KEY,
})
const sms = await stackapi.notifications.sendSms({
to: '08031234567',
message: 'Your code is 123456',
})
console.log(sms.status)Node.js 18 or later. TypeScript types included. No dependencies.
MCP server
Connect Claude, Cursor, VS Code or any Model Context Protocol client to your workspace. The assistant gets only the tools you tick, through a key of its own, and can never reach your keys, team, settings or wallet top-ups.
{
"mcpServers": {
"stackapi": {
"url": "https://api.stackapi.app/mcp",
"headers": { "Authorization": "Bearer stkmcp_test_..." }
}
}
}What would a ₦250,000 payout cost, and which banks can I send to?
The fee is shown before anything is sent. Want me to pay Ada? I will ask before moving money.

We process personal data in line with the Nigeria Data Protection Act 2023 and the Nigeria Data Protection Commission's requirements: data is encrypted in transit, processors may use it only to perform your request, identity checks require your end user's consent, and you can delete your account yourself at any time. Read our privacy policy.
Our partners
StackApi brings together leading payment, messaging, identity and developer platforms, so you integrate once and reach them all.
Do you run an API that businesses need? Integrate it into StackApi and put it in front of every developer on the platform, with billing, keys, monitoring and support already handled. We work with payment, identity, messaging, data and infrastructure providers.
FAQ
Yes. Our MCP server lets Claude, Cursor, VS Code and other Model Context Protocol clients use the tools you choose for your workspace, through a key of their own, in test mode until you choose live. Money tools are capped per call and per day, and every call is logged.
Yes. Every StackApi account uses two-factor authentication: at each sign-in you confirm with a code from an authenticator app or one sent to your email, and you get recovery codes in case you lose access.
Yes. Every workspace gets test keys, free. Test requests return realistic answers and fire your webhooks, but never send a message, charge a card or touch your wallet. You only need to fund your wallet when you switch to a live key.
Pay as you go APIs are charged per successful use from your workspace wallet. The monthly plans include the other APIs up to each plan’s allowance. Your Usage and Billing pages show every charge and the price in force before you make a call.
Where we have more than one route, as with messaging and identity verification, StackApi moves your request to another route automatically. Our public status page shows the live state of every API.
No. Card details are entered on the payment processor’s secure checkout and never reach StackApi. For subscriptions we keep only the processor’s reusable card reference, encrypted.
We process personal data under the Nigeria Data Protection Act 2023. Data is encrypted in transit, secret keys are stored only as keyed hashes, and you can delete your account yourself in Settings. Our privacy policy sets out what we keep and for how long.
Yes. Invite teammates as owner, admin, member or viewer. Everyone works from the same wallet and keys, and each role sees and changes only what it should.
Something else? Write to [email protected].
Create a workspace and make your first request in minutes. Test keys are free and nothing leaves StackApi until you switch to a live key.