Get sandbox access
Unipesa xB

PAYOUT NETWORK · 23 AFRICAN MARKETS

Payouts across Africa. Instantly.

One API for 23 African markets. Rates that track the XE mid-market, settlement in minutes, payouts to mobile money or bank — no local entities, no idle float.

COVERAGE

23 countries

Live coverage — Kenya to Morocco, Senegal to South Africa.

METHODS

40+ rails

M-Pesa · MTN MoMo · Airtel Money · Orange Money · Wave · bank

FX

XE-close

Priced on our own liquidity, quoted with a TTL before you commit.

SETTLEMENT

Instant

Fund and pay out the same minute, in USDT or fiat.

Fund in USDT or fiat · B2B (KYB, no consumer KYC) · licensed local rails

  • ~0.5–1.5% blended take
  • One API, many payout rails

FUNDED GLOBALLY · PAID LOCALLY

23 MARKETS

EUROPE GULF N. AMERICA SE ASIA MAD EGP XOF GHS NGN KES TZS ZMW ZAR
  • LIVE PAYOUT MARKET
  • FUNDING ORIGIN

LIVE FX · VS XE MID

LIVE
  • {{ row.pair }} {{ row.xe }} {{ row.value }} {{ row.arrow }}

Illustrative until wired to the live feed.

  • LIVE MARKETS
  • KENYA
  • TANZANIA
  • NIGERIA
  • GHANA
  • SOUTH AFRICA
  • UGANDA
  • RWANDA
  • SENEGAL
  • CÔTE D'IVOIRE
  • CAMEROON
  • BENIN
  • BURKINA FASO
  • MALI
  • TOGO
  • ZAMBIA
  • MALAWI
  • BOTSWANA
  • BURUNDI
  • DRC
  • EGYPT
  • MOROCCO
  • GAMBIA
  • SIERRA LEONE

23

AFRICAN MARKETS

40+

PAYOUT METHODS

2 min

MEDIAN SETTLEMENT

99.9%

API UPTIME

0.5–1.5%

BLENDED TAKE

Figures to be confirmed against production data before launch.

BACKED BY & WORKING WITH

  • LOGO SLOT
  • LOGO SLOT
  • LOGO SLOT
  • LOGO SLOT
  • LOGO SLOT

Slot reserved for partner, investor, or licensing marks.

01 / WHY UNIPESA

Three reasons teams move their African payouts here

Rate, speed, and reach — what decides whether a corridor is worth running.

01 · FX

Among the best rates in every corridor

We price the conversion on our own merchant liquidity, so the rate competes with the top of the market — not a marked-up aggregator feed. Quoted before you commit.

02 · SETTLEMENT

Settle in USDT, in minutes

Fund by sending USDT on-chain and go live in minutes — no wire cut-offs, no correspondent-bank waiting. The liquidity merchant settles in USDT too.

03 · COVERAGE

Reach where local banking is hard

Pay into local currencies through licensed rails — mobile money and banks — with no accounts or relationships of your own in each country.

From stablecoin to a beneficiary's phone — in three steps

THE PROBLEM

Pre-funding a float in every currency ties up working capital you can't use.

THE PROBLEM

A bank account and licence per market means months before a first payout.

THE PROBLEM

FX drag on an aggregator feed, priced after you've committed.

THE FIX / THREE STEPS

01 · FUND

Request a local-currency balance (say KES) and settle it. We quote the FX up front and lock merchant liquidity behind the balance.

02 · PAY OUT

Call the Payouts API with a beneficiary and amount. We disburse via M-Pesa, MoMo, bank, and more from the reserved liquidity.

03 · RECONCILE

A webhook on completion itemises FX, fee, and settlement legs — all visible in the back office.

Example: buy KES by settling USDT · one merchant supplies the KES liquidity · beneficiary paid via M-Pesa. Full sequence in the docs →

02 / INTEGRATE

One Payouts API for live FX and every payout method

Integrate once, reach every corridor. Quote FX, fund a balance, and disburse through one API — a single payout call routes to the right local method.

  • Live FX quotes — current rates with a TTL before you commit.

  • 40+ methods — mobile money and bank, chosen per corridor from one request.

  • Sandbox to production — build, then flip to live. First payout in days.

  • Webhooks — status callbacks with FX, fee, and settlement legs itemised.

Read the API docs →

POST /v2/payouts
curl -X POST https://api.unipesa.xb/v2/payouts \
  -H "Authorization: Bearer $XB_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "corridor": "KE",
    "amount": { "value": 25000, "currency": "KES" },
    "method": "mpesa",
    "beneficiary": { "msisdn": "+2547..." }
  }'
import { Xb } from "@unipesa/xb";

const xb = new Xb(process.env.XB_KEY);

const payout = await xb.payouts.create({
  corridor: "KE",
  amount: { value: 25000, currency: "KES" },
  method: "mpesa",
  beneficiary: { msisdn: "+2547..." }
});
from unipesa_xb import Xb

xb = Xb(os.environ["XB_KEY"])

payout = xb.payouts.create(
    corridor="KE",
    amount={"value": 25000, "currency": "KES"},
    method="mpesa",
    beneficiary={"msisdn": "+2547..."},
)
200 payout.accepted · fx_rate applied · settlement in USDT

SETTLEMENT · KES BALANCE

USDT 1,000

{{ balance }}

funded · fx 129.40 · settled in 00:02:14

  • fx leg129.40 KES/USDT
  • fee leg0.85%
  • settlement legUSDT · confirmed

03 / SETTLE

Settle and transact instantly, in USDT

Fund in USDT and your balance is live in minutes; liquidity merchants settle the same way. No idle fiat in a dozen countries, no settlement windows in the way.

  • Minutes, not days — on-chain settlement replaces correspondent-bank delays.

  • No idle float — stop parking capital in every currency you pay into.

  • Transparent legs — FX, fee, and spread booked separately and auditable.

median settlement 2 min 14 s

Measured USDT confirmation to balance credit. Figure to be confirmed against the production SLA.

04 / MANAGE

A back office built for liquidity, not spreadsheets

Run it all from one workspace: balances by corridor, liquidity backing each one, and payouts in real time — so you top up before running dry.

  • Liquidity — balances and reserved merchant liquidity per corridor.

  • Live monitoring — payout status, success rates, settlement timing.

  • Reconciliation — itemised legs, ready to export or pull via API.

  • Limits & controls — set per-corridor limits and roles for your team.

See the back office →

BACK OFFICE · LIQUIDITY KES NGN GHS

BALANCE KES

3,412,900

LIQUIDITY BACKED

82%

SUCCESS 24H

99.2%

PAYOUT METHOD AMOUNT STATUS
po_8f21c M-Pesa 25,000 Success
po_8f20a Bank 180,400 Pending
po_8f1f4 M-Pesa 9,750 Success

05 / WHO IT'S FOR

Built for businesses paying into Africa.

Five kinds of operator run on the same network — the difference is only volume and corridor mix.

FIRST PAYOUT

in days

ENTITIES NEEDED

zero

  • 01 PSPs & payment aggregators 23 MARKETS, ONE CONTRACT Extend into new corridors without new banking rails.
  • 02 Marketplaces, gig & creator platforms BULK PAYOUTS · MOBILE MONEY Pay sellers and contractors in their own currency.
  • 03 Remittance firms WHOLESALE FX Wholesale payout capacity, no country pre-funding.
  • 04 Payroll & EOR providers SCHEDULED RUNS Run local payroll across borders from one balance.
  • 05 Crypto & OTC desks USDT IN · FIAT OUT Compliant local cash-out for stablecoin at a live rate.

07 / TRUST & COMPLIANCE

Regulated cash-out. B2B by design.

Every payout lands through a licensed local rail, with the FX, fee, and settlement legs booked separately and auditable.

KYB, NOT CONSUMER KYC

You onboard as a business — no end-user KYC burden.

AML MONITORING

Transaction monitoring and sanctions screening on every flow.

LICENSED LOCAL RAILS

Delivered through licensed UPP rails, never raw on-chain transfer.

SEGREGATED SETTLEMENT

Clear custody of the stablecoin leg, booked separately.

  • PCI DSS
  • ISO 27001
  • SOC 2 TYPE II
  • AML / CFT PROGRAMME
  • LICENSED UPP RAILS

Show each mark only once certified — swap in the issuing body's artwork at launch.

06 / FOR DEVELOPERS

Four calls, end to end

POST /v2/fx/quotes
{ "sell": "USDT", "buy": "KES", "amount": 1000 }

200 { "rate": 129.40, "quote_id": "qt_7d1", "ttl_s": 30 }
POST /v2/balances/fund
{ "quote_id": "qt_7d1", "currency": "KES", "network": "tron" }

201 { "deposit_address": "T9y...4kQ", "credited": 129400.00 }
POST /v2/payouts
{
  "corridor": "KE",
  "amount": { "value": 25000, "currency": "KES" },
  "method": "mpesa",
  "beneficiary": { "msisdn": "+2547..." }
}

200 { "status": "payout.accepted", "id": "po_8f21c" }
POST https://you.example.com/hooks/xb
{
  "event": "payout.completed",
  "id": "po_8f21c",
  "legs": {
    "fx": { "rate": 129.40 },
    "fee": { "bps": 85 },
    "settlement": { "asset": "USDT", "state": "confirmed" }
  }
}

Payloads illustrative until the API contract is final. Full reference →

Go live on your first corridor — in days.

Get sandbox access and make a test payout today — or send us your corridors and volume for a tailored FX + payout offer.

Get sandbox access → Get an offer

No local bank accounts to open · start with one corridor · expand from there