DevCareer hackathonNomba Developers

Get paid
without
the spreadsheet.

Give every customer their own bank account number. Settle matches every transfer, updates their balance, and tells you the moment it lands.

Matched today

₦2.4M

Live

12 payments

Time saved / week

~8 hrs

Built for how Nigerian SMEs already collect money

No bank visitsOne link per customerReal-time, not end-of-day

One account, one customer, every time.

Each customer gets their own bank account number — permanent, dedicated, uniquely theirs. When they pay, you know exactly who it was, what it was for, and whether it matched what they owe. No sorting through nameless credit alerts.

TRF/0123/EMEKA OKAFOR
TRF/0456/FAT BELLO
TRF/0789/UNKNOWN

No more guessing whose transfer this was.

Every inbound payment is matched to the right customer automatically. Overpaid, underpaid, or exact — Settle knows the difference and records it. No end-of-day manual matching, no cross-referencing a bank app.

Emeka Okafor paid ₦45,000 · Unit 12B · Exact

Just now

Fatima Bello paid ₦45,000 · Unit 14A · Exact

4 min ago

Chidi Okonkwo paid ₦40,000 · Office 3F · Short ₦80,000

12 min ago

Know the moment it lands.

The second a payment hits, you get a notification — in the app, by email, or forwarded to your own system. No refreshing. No checking the bank app. Just money in, confirmation out.

How it works

Three steps, then it runs itself.

1

Add your customers.

Name, phone, what they owe — a minute per person, or upload a list all at once.

2

Share their payment page.

Each customer gets one link with their account number on it. Send it once, they save it.

3

Watch it come in.

Every payment shows up reconciled, with the customer's name attached — no spreadsheet required.

For developers

Building your own flow?
Settle is also a clean REST API.

Every dashboard action is a documented endpoint. Same API key, same auth, no SDKs to install — just HTTP.

const res = await fetch("https://api.settle.ng/v1/accounts", {
  method: "POST",
  headers: {
    "X-Settle-Key": "sk_live_a1b2...",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    customer_name: "Emeka Okafor",
    customer_ref:  "unit-12b",
    collection_id: "uuid",
    expected_amount: 45000,
  }),
});

const { bank_account_number } = await res.json();
// -> "9171424534"
Read the API docs

Powered by

Nomba Developers

Every virtual account and every transfer on Settle runs on Nomba's licensed payment infrastructure — the same rails trusted by thousands of Nigerian businesses.

CBN-licensed infrastructureReal account numbers, real banks