HarpFi
A business payments and FX platform. Companies collect, hold, convert and pay out across African and international currencies, and now stablecoins, from one wallet. I work on business onboarding, entities, conversions and balances.
- Fiat currencies, from NGN, KES and XOF to USD, GBP and EUR, plus stablecoins
- 14
- Ways to pay out: bank, mobile money or another wallet
- 3
- Wallet, dashboard and API for all of it
- 1
The problem
Banks make international payments slow and expensive, and most tools stop at “send money”. A business paying suppliers across currencies needs more: balances it can actually spend, a rate that doesn’t move while someone reviews the payment, a second person to approve large payouts, and a record of who did what. Underneath, every country has its own banks, account details, limits, fees and compliance rules.
What I built
Business onboarding
A guided flow that verifies a business and the businesses it pays on behalf of, saving drafts as it goes and showing exactly what’s left.
Business entities & representatives
Set up the businesses a company pays on behalf of, and verify the people behind them, each with their own documents and status.
Conversions & exchange orders
Convert between fiat and stablecoin balances at a live rate, or request a rate for a larger trade and accept or decline the counter-offer before it expires.
Key decisions
A new currency is configuration, not new code
Payout forms, fees, limits and which partner handles a route are all data. The payment flow picks the right strategy for the currency and destination, so opening a new market means adding settings, not rewriting how money moves.
Rates you can trust
Money is never calculated with floating point. Rates are cached with an expiry, the dashboard waits for you to stop typing before asking for a quote, and the quote is refreshed before you confirm, so a stale rate is never executed.
Controls a payments company needs
Roles and permissions are checked in one place by both the pages and the buttons, and large payments can require one or more approvers above an amount you set. Every action lands in an audit log.
Sessions that stay safe and up to date
2FA, idle timeouts, quiet token refresh and a notice when the same account signs in elsewhere. Open tabs also learn when a new version ships, so finance teams aren’t stuck on an old build.
Heavy work stays off the request
Partner calls, webhooks, statements and end-of-day reconciliation run on queues. Large reports stream straight to CSV, and reconciliation skips accounts that haven’t changed since the last run.
Outcome
- Businesses collect, hold, convert and pay out from one wallet, in fiat and stablecoins, by local bank transfer, mobile money, SWIFT or wallet to wallet.
- New currencies and payout partners go live through configuration instead of new payment code.
- Teams can plug payouts and collections into their own products through the API and webhooks, and try it all first in a separate test mode.



