Get started
Multigate API · Africa's trade and treasury infrastructure
Move money across Africa and the world through one API.
Collect, hold, convert and pay out in the currencies your business runs on. Multigate connects you to partner banks across Africa and to international banks over SWIFT, picks the right payment network for each payment, records every movement in a ledger, and tells your systems the moment something happens.
An API key in the mp-api-key header is all your software sends. The same API serves the sandbox and production.
Domestic transfers through partner banks across Africa, international ones over SWIFT. You name the beneficiary; we choose the rail.
Every money-moving request carries your own unique, so a retry is recognised and never executed again.
Signed webhooks for every state change, from a credited inflow to a settled conversion, with the IDs you need to reconcile.
Multigate is a treasury management and cross-border infrastructure provider, building Africa's trusted trade infrastructure. The Multigate API is the single integration point for our Cross-border Financial Infrastructure and Automated Treasury Management solutions. Fintechs, remittance companies, corporates, SMEs and banks build on it, for their own money and for the businesses they serve.
Built for the people who move the money
- Every balance in one place: your wallets, your customers' accounts and the bank accounts you already hold.
- Local and cross-border payouts with maker-checker approval, where a second person approves what another created.
- Conversions at a rate you lock first, and statements and reports that reconcile against the ledger.
- A
transactionIdand your own reference on every movement, for support and reconciliation.
- One REST API, JSON in and out, with an OpenAPI document you can import into your own tools.
- Idempotent requests, predictable errors with reference IDs, and paginated lists with a stable order.
- Signed webhooks, and a sandbox with simulated banks where no real money moves.
- Code samples on every endpoint, and a Try it console that calls the sandbox from your browser.
- Compliance screening before funds leave, and statuses that never call an unconfirmed payment failed.
- Customer onboarding (KYB, know-your-business checks) with documents and approvals, so you can serve businesses under your licence.
- Trade finance over SWIFT: letters of credit and guarantees with amendments, documents and expiry reminders.
Your first payout is one request
Give a payout your own unique, the account to pay from and the beneficiary's bank details. Multigate does the rest: your approval rules, compliance screening, choosing the rail, the debit, the bank call and the webhook.
The response comes back at once with a transactionId and a status. When the bank confirms, you receive a transfer_ webhook; if it can't be paid, transfer_ with the reason, and the money back in the source account.
The Quickstart takes you from credentials to this call, with the webhook, in about 15 minutes.
curl -X POST "$MG_BASE_URL/payment-service/api/v1/transfer/single-transfer" \
-H "mp-api-key: $MG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"uniqueRequestId": "acme_po_9f2a",
"reference": "Invoice 2026-0412",
"amount": 25000,
"sourceCurrencyIso3Code": "NGN",
"sourceAccountNumber": "0034567812",
"beneficiaryDetails": {
"name": "Ada Okafor",
"accountName": "Ada Okafor",
"accountNumber": "0123456789",
"bankBicOrCode": "058",
"currencyIso3Code": "NGN",
"countryIso3Code": "NGA",
"addressLine1": "12 Marina Road",
"city": "Lagos",
"state": "Lagos"
}
}'
What you can build
Send local and international bank transfers, one at a time or in bulk, with fees you can quote first and a status for every step.
Hold balances in multi-currency wallets and give payers virtual account numbers in your name or your customer's. Know the moment money arrives.
Get a live quote, lock the rate, and convert between your accounts at the price you were shown.
Connect the bank accounts you already hold, see their balances and statements, and pay out from any of them: the API side of the Multi-Bank Connector.
Onboard the businesses you serve with KYB checks, then open accounts and move money on their behalf.
Give every invoice its own account number and let payments reconcile themselves to invoices.
For remittance companies (IMTOs, international money transfer operators): pay out remittances with full sender and beneficiary details.
Run letters of credit and bank guarantees over SWIFT: advise the ones you receive, apply for new ones, handle amendments and documents with maker-checker approval, and get expiry reminders and reports.
How these docs are organised
| Section | Use it to |
|---|---|
| Get started | Understand the platform, get sandbox access, make your first payout. |
| Concepts | Learn the rules every endpoint follows: errors, idempotency, pagination, acting for customers. |
| Webhooks and emails | Receive and verify real-time notifications, and see which emails Multigate sends you. |
| Products | Follow end-to-end guides for each product, with diagrams, statuses and examples. |
| Use cases | See how products combine for common businesses (remittance, cross-border payouts, collections). |
| Reference | Look up every status, term and common question in one place. |
| API reference | Look up every endpoint, field, error and webhook payload. Try requests against the sandbox. |
Go straight to the Quickstart. It takes you from credentials to a completed sandbox payout, with a webhook, in about 15 minutes.
A few checks are off and some jobs are slower in the sandbox. For example, FX conversions don't check your balance, any NGN account number can be saved as a beneficiary, and payout results can take 15 minutes. Read Sandbox vs production before you write tests.
Getting access
From the first conversation to live payments in four stages. The first and the last happen with the Multigate team; the two in between are yours, at your pace.
- Talk to us
With Multigate
Tell us what you're building. Request a demo or email enquiries@multigate.io, and we agree the products and currencies you need.
We set up your business on the platform (your client profile) and give your team the dashboard: uat.multigate.app for the sandbox and multigate.app for production.
- Get sandbox credentials
You, in the dashboard
We create an API user for you: an account for your software, separate from the people who sign in to the dashboard.
In the sandbox dashboard, under Developer Tool › API Configuration, generate its API key (sent in the
mp-api-keyheader of every request) and copy your client secret, which signs the webhooks we send you. See Authentication. - Build and test
You, in the sandbox
The sandbox is a separate copy of the platform with simulated banks: the same API, no real money. The Quickstart gets you to a completed payout with a webhook in about 15 minutes.
Then build against the product guides, with the Try it console and code samples on every endpoint. Read Sandbox vs production before you write your tests.
- Go live
With Multigate
When your integration passes the go-live checklist, we enable production for your business.
Generate a production API key there (it starts with
mgk_live_), point your servers at the production address, and keep that key on your servers only: it is never used in a browser or shared by email.
Key terms
Thirteen words do most of the work in these docs. The glossary has the full list.
- Client
-
Your business, as registered with Multigate. In these docs, you are the client.
- Customer (sub-client)
-
A business you serve, or a subsidiary or partner in your group, onboarded by you and linked to your client. The API calls these sub-clients.
- Wallet
-
The account that holds a balance in one currency, for you or for a customer.
- Virtual account
-
A dedicated bank account number in your name (or your customer's), issued by a partner bank and linked to a wallet. Payers send money to it.
- Linked account
-
A bank account your business already holds elsewhere, connected to Multigate so you can pay out from it and read its balance and statements.
- Beneficiary
-
A person or business you pay. Save beneficiaries once and reuse them.
- Transfer (payout)
-
Money sent from one of your accounts to a beneficiary.
- Inflow
-
Money received into one of your accounts.
- Conversion (FX trade)
-
Exchanging money between two of your accounts in different currencies, at a rate you locked first.
- Webhook
-
An HTTPS request Multigate sends to your server when something happens, such as a transfer completing.
- Idempotency key
-
The unique ID you send with a request (
unique), so a retry is recognised and never executed twice.Request Id - Sandbox
-
The test environment: the same API as production, simulated banks, no real money.
- API key
-
The secret your software sends on every request, in the
mp-api-keyheader. You generate it in the dashboard.
Support
A person who knows your integration answers.
Write to your Multigate integration contact. If you don't have one yet, email enquiries@multigate.io and we'll route you. Check the FAQ first for the questions we hear most.
Include these, and we can act straight away.
- The environment: sandbox or production.
- The endpoint, and the time of the request in UTC.
- Your
unique, or theRequest Id transactionIdfrom the response. - The reference ID from any error message.
API keys and client secrets stay out of email, chat and screenshots. We never ask for them, and a request that includes one is treated as compromised: rotate the key in the dashboard.
Legal: Terms of Service · Privacy Policy · Licensing