Notes from the rails.
Product notes, engineering deep-dives, and how we think about moving money across African and global markets.
One integration, every rail your customers reach for
Mobile money, cards, and bank transfers behave nothing alike under the hood. Here is how we hide that difference behind a single API and one webhook contract.
Webhooks you can actually trust: retries, replay, and signing
A webhook that fires once and disappears is a liability. We walk through the delivery guarantees behind every event we send, and how to verify them in a few lines.
Charge in their currency, settle in yours
Multi-currency settlement sounds like a treasury problem. For most merchants it is really a checkout conversion problem. Here is how we think about both.
Building for African and global markets from day one
Local rails and global reach are usually treated as a trade-off. We designed the platform assuming a merchant needs both at the same time, in the same checkout.
Idempotency in practice: making retries safe
Networks fail mid-request all the time. An idempotency key turns a terrifying retry into a boring one. Here is the mental model we recommend.
What runs on every transaction before it clears
Fraud detection should be invisible when it works. A short tour of the signals we evaluate on each payment, and why most of them you never see.