Ship wallet products with confidence on infrastructure securing enterprise-grade financial operations across Africa.
1import { FWallet } from "@fwallet/sdk";
2
3const client = new FWallet({
4 apiKey: process.env.FWALLET_KEY!,
5});
6
7// Create a wallet
8const wallet = await client.wallets.create({
9 ownerType: "user",
10 ownerId: "alice-001",
11 currencyCode: "UGX",
12});
13
14// Fund via MoMo
15await client.deposits.momo({
16 walletId: wallet.id,
17 amount: 500_000, // 500,000 UGX
18 currencyCode: "UGX",
19}); 1from fwallet import FWallet
2
3client = FWallet(
4 api_key=os.environ["FWALLET_KEY"]
5)
6
7# Create a wallet
8wallet = client.wallets.create(
9 owner_type="user",
10 owner_id="alice-001",
11 currency_code="UGX",
12)
13
14# Fund via MoMo
15client.deposits.momo(
16 wallet_id=wallet.id,
17 amount=500_000,
18 currency_code="UGX",
19) 1client := fwallet.New(
2 os.Getenv("FWALLET_KEY"),
3)
4
5// Create a wallet
6wallet, _ := client.Wallets.Create(
7 ctx,
8 &fwallet.WalletParams{
9 OwnerType: "user",
10 OwnerID: "alice-001",
11 CurrencyCode: "UGX",
12 },
13)
14
15// Fund via MoMo
16client.Deposits.MoMo(ctx,
17 &fwallet.MoMoParams{
18 WalletID: wallet.ID,
19 Amount: 500_000,
20 },
21) 1curl -X POST \
2 https://api.fwallet.co.ug/v1/wallets \
3 -H "X-API-Key: $KEY" \
4 -H "Content-Type: application/json" \
5 -d '{
6 "ownerType": "user",
7 "ownerId": "alice-001",
8 "currencyCode": "UGX"
9 }'Infrastructure to help you build better financial products.
Append-only double-entry bookkeeping with per-tenant isolation. Every debit equals every credit.
UGX, KES, TZS, USD, GBP, CNY with bigint precision. No floating-point arithmetic on money, ever.
Accept deposits via mobile money webhooks, verified bank slips, or cash-assisted branch operations.
Per-tenant fee schedules with percentage + flat components, min/max bounds, per-currency overrides.
Maker-checker patterns for payouts and high-value transfers. Requestor cannot approve their own case.
Match ledger credits against MoMo settlement reports and imported bank statements automatically.
From prototype to production on infrastructure you can trust.
FWallet handles complex problems before you encounter them.
Full OpenAPI 3.1 spec with Scalar console. Try every endpoint from your browser.
Open API Reference →Zod validates requests, Drizzle ORM types the database, OpenAPI documents the contract.
Every financial write requires an Idempotency-Key header. Network failures never cause double-charges or duplicate ledger entries. Retries are always safe.
Instant deposits via MoMo, real-time balance updates, configurable withdrawal limits.
Driver wallet management, fare splitting, automated payouts with reconciliation.
Disbursement tracking, repayment collection, multi-currency across East Africa.
Branch cash operations, savings wallets, member-to-member transfers.
Cross-border corridors (UGX/KES/USD), compliance-ready audit trail.
Custom pricing for production deployments.
Tailored to your scale
From prototype to production in days, not months.