BW
Initializing Engine...
About Terms Policy Whistleblower API
Log In Register

Move Money.
Without Limits.

The definitive payment infrastructure for Nigerian businesses. Get account in your business name, Process transactions, automate payouts, and scale your platform with zero downtime.

POST https://billswave.com/v1-api
> Authenticating Bearer Token... SUCCESS [12ms]
> Routing via optimal gateway... SUCCESS [45ms]
{ "status": "approved", "amount": "NGN 450,000", "ref": "bw_tx_8991z" }
TRUSTED BY: VENDORFOREST
TRUSTED BY: 247TECHSKILLS
TRUSTED BY: BETMUSH
TRUSTED BY: DRAPEHAVEN
TRUSTED BY: PROMAIL
TRUSTED BY: NAIJAEDU
TRUSTED BY: VENDORFOREST
TRUSTED BY: 247TECHSKILLS
TRUSTED BY: BETMUSH
TRUSTED BY: DRAPEHAVEN
TRUSTED BY: PROMAIL
TRUSTED BY: NAIJAEDU

Engineered for scale.

We abstracted the complexity of banking infrastructure so you can focus on writing code and building your product.

⚡

Intelligent Routing

Billswave automatically routes transactions through the most stable banking gateways in real-time, virtually eliminating failed transactions.

🛡️

Fraud Engine

Built-in machine learning models analyze hundreds of data points per transaction to block fraudulent charges before they hit your account.

💸

Automated Payouts

Don't wait for your money. Programmatically disburse funds to vendors, users, or your corporate accounts instantly via our Transfer API.

Developer First.

Powerful REST APIs. Webhooks that fire instantly. Sandbox environments that exactly mirror production. Welcome to the best developer experience in African fintech.

  • Idempotency keys included
  • Comprehensive SDKs (Node, PHP, Python)
  • Detailed API request logs
Read Documentation →
cURL
Node.js
# Initialize a transaction curl -X POST https://billswave.com/v1-api \ -H "Authorization: Bearer bw_live_xxx" \ -H "Content-Type: application/json" \ -d '{ "amount": 50000, "currency": "NGN", "email": "customer@example.com", "channels": ["card", "bank_transfer"] }'
// Initialize a transaction via SDK import { Billswave } from '@billswave/node'; const bw = new Billswave('bw_live_xxx'); const response = await bw.charge.create({ amount: 50000, currency: 'NGN', email: 'customer@example.com', channels: ['card', 'bank_transfer'] });