One connection to Africa’s payment economy.
Circuit gives businesses a programmable way to accept mobile money and local bank payments, manage the transaction lifecycle, and settle in USD—without building a separate integration for every market.
Payments overview
Build for the payment methods people already use.
From local collection to global settlement.
Use Circuit as a direct API, a hosted payment experience, or the infrastructure underneath Link. Every integration follows the same payment object and operational workflow.
One payment object for the entire transaction.
Create a PaymentIntent in USD, collect payer details, lock a quote, select a local collection channel, and follow the payment through conversion and settlement.
Explore the API →A high-conversion checkout for local methods.
Create a session from your server, send the customer to a Circuit-hosted flow, or embed the payment steps in your own application.
Choose an integration →circuit.confirmPayment({
clientSecret,
channelId
})Turn local collections into predictable settlement.
Track eligible balances, scheduled batches, in-transit payouts, and completed settlement from one merchant workspace.
Explore enterprise settlement →See every payment, payout, key, and integration state.
The merchant console brings operations and development together: payments, payouts, checkout links, API keys, KYB, payout accounts, and domain controls.
Open the portal prototype →One coordinated flow, across systems that were never designed to work together.
Circuit gives your business a consistent control layer while local collection providers, FX partners, verification systems, and payout rails work underneath.
Read the developer docs →Start with a USD PaymentIntent.
Your server creates one payment object and receives a client-scoped secret for the payer flow.
POST /v1/payment-intentsCollect payer details and lock the quote.
The payer sees the local amount and eligible payment methods for their market.
POST /rate-quoteInitiate mobile money or bank transfer.
Circuit sends the payment to the selected local channel and tracks its state.
POST /confirmConvert, reconcile, and pay out.
Your console and webhooks update as the payment moves into your USD settlement balance.
payment.settledA small API surface for a complex payment journey.
Use secret keys on your server, publishable keys and a PaymentIntent-scoped client secret in the payer experience, and idempotency on every mutating request.
const payment = await circuit.paymentIntents.create({
amountUSD: 150.00,
metadata: {
orderId: 'order_4821'
}
}, {
idempotencyKey: crypto.randomUUID()
});
// Send only the client secret to your app
return {
id: payment.id,
clientSecret: payment.clientSecret
};
{ "status": "requires_payment_method", "amountUSD": 150 }Choose how you pay.
Circuit moves the payment. Link makes it effortless to pay.
Link is the consumer-facing wallet and accelerated checkout experience. Circuit is the infrastructure underneath it—connecting the merchant, the payer’s local method, the collection channel, and settlement.
Circuit
APIs, payment lifecycle, quotes, collection, settlement, payouts, and operational controls.
Link
Saved payment methods, payer identity, one-tap selection, and a familiar checkout experience.
Launch across markets without multiplying operational complexity.
Design a phased integration for high-volume payment flows, multiple business units, or platform use cases.
Explore enterprise →Build your first payment flow.
Create a test workspace, complete business onboarding, and generate the credentials for your first integration.