Use Cases
Rach CaaS is purpose-built for African financial services. Below are the primary real-world use cases it unlocks.
1. Mobile Money Super App — USDC Wallet Layer
Scenario: A West African super app (ride-hailing, e-commerce, food delivery) wants to offer customers a built-in USDC wallet for peer-to-peer payments and merchant settlements.
How Rach CaaS helps:
- Provision a USDC wallet per user at account creation with
POST /v1/users/provision— takes milliseconds, costs nothing - When a customer loads their wallet via mobile money, call
POST /v1/users/fundto credit USDC on-chain - P2P transfers between customers use
POST /v1/transfers/send— final in seconds, no bank cut-off times - Customers can cash out to mobile money (Orange Money, Wave) via
POST /v1/users/withdraw
Integration snippet:
// 1. Provision wallet when user signs up
const wallet = await rachAPI.post('/v1/users/provision', {
phone_number: user.phone // E.164 format
});
user.wallet_address = wallet.wallet_address;
// 2. Fund after mobile money payment confirmed
await rachAPI.post('/v1/users/fund', {
phone_number: user.phone,
deposit_id: momoPayment.reference,
local_fiat_amount: momoPayment.amount.toString(),
stablecoin_amount: calculateUSDC(momoPayment.amount, fxRate),
target_token: 'USDC'
});
// 3. P2P transfer
const quote = await rachAPI.post('/v1/fx/quote', {
local_currency: 'XOF',
fiat_amount: 5000,
target_token: 'USDC'
});
await rachAPI.post('/v1/transfers/send', {
sender_phone: sender.phone,
recipient_phone: recipient.phone,
quote_id: quote.quote_id,
local_fiat_amount: '5000.00',
target_token: 'USDC',
idempotency_key: `txn_${Date.now()}`
});2. Fintech Remittance Platform — Cross-Border Transfers
Scenario: A remittance startup wants to enable diaspora customers in Europe or North America to send money to family across Africa and beyond — settling in local fiat on mobile money within seconds.
How Rach CaaS helps:
- Sender initiates a fiat payment from their end (card, bank transfer)
- Your platform converts and tops up the Rach treasury with
POST /v1/dashboard/treasury/topup - Recipient's USDC wallet is credited with
POST /v1/users/fund POST /v1/users/withdrawimmediately sweeps USDC → local fiat and pays out via mobile money- Locked FX rates from
POST /v1/fx/quoteprotect you and your customers from rate slippage
Business flow:
Diaspora user (Paris) Rach CaaS Beneficiary (Abidjan)
│ │ │
│── Card payment (€50) ──────►│ │
│ │── Treasury topup ───────────►│
│ │── Fund SCW ─────────────────►│
│ │── Withdraw → local fiat ──────────────►│
│ │ │
│◄── "Transfer sent" ─────────│ Local fiat on phone ✓3. Microfinance Institution — Loan Disbursement & Repayment
Scenario: An MFI or SACCO wants to disburse loan tranches in stablecoin and collect repayments digitally — reducing cash handling risk.
How Rach CaaS helps:
- Each borrower gets a USDC wallet via
POST /v1/users/provision - Loan disbursements are pushed on-chain with
POST /v1/users/fund - Repayments are collected via USSD (
*384#) — no smartphone required - On-chain transaction history provides a tamper-proof audit trail for regulators
- Non-performing accounts can be frozen with
POST /v1/dashboard/users/{blind_index}/freeze
Compliance features used:
- AML velocity limits on daily/monthly transfer amounts
- Account freeze for suspicious activity
- Full transaction forensics in
GET /v1/dashboard/transfers/{id}
4. Gig Economy Platform — Instant Contractor Payouts
Scenario: A platform paying 10,000+ contractors in West Africa wants to move from weekly bank batch payouts to instant daily settlements.
How Rach CaaS helps:
- Contractors provision their wallet once via API or USSD
- Platform calls
POST /v1/transfers/sendper contractor as gigs are completed — no cut-off windows - Contractors withdraw to mobile money whenever they want via
POST /v1/users/withdraw - Dashboard
GET /v1/dashboard/transfersgives the finance team a full reconciliation ledger - Webhook events on
transfer.settledtrigger in-app notifications in real time
Cost advantage: Single Polygon transaction (ERC-4337 UserOp) costs fractions of a cent vs. per-transaction bank transfer fees.
5. Merchant Checkout — Accept USDC from Customers
Scenario: An e-commerce merchant wants to accept USDC from customers as a payment rail, alongside mobile money.
How Rach CaaS helps:
- Each customer has a USDC wallet provisioned at checkout or account creation
- At checkout,
POST /v1/transfers/sendmoves USDC from customer SCW to merchant SCW - Merchant can hold in USDC or off-ramp to fiat via
POST /v1/users/withdraw GET /v1/users/balanceprovides real-time balance confirmation before order fulfillment- Webhook
transfer.settledtriggers automatic order confirmation
6. USSD-First Financial Services — Feature Phone Inclusion
Scenario: A telco or bank wants to serve rural customers who only have feature phones (2G/3G) — no smartphones, no internet.
How Rach CaaS helps:
- The USSD handlers (
/v1/ussd/callback/atand/v1/ussd/callback/mtn) provide a full wallet interface via keypad - New customers are auto-provisioned on first USSD dial — zero friction onboarding
- Balance checks, peer-to-peer transfers, and cash-out requests are all accessible via
*shortcode# - Works on any mobile network, any handset, even without a data plan
Addressable market unlock: ~300M people in sub-Saharan Africa have a mobile phone but no smartphone or bank account.
Architecture Patterns
Pattern A: Fully Managed (Recommended for new integrations)
Let Rach handle all wallet and blockchain complexity:
Your App Backend
│
├── POST /v1/users/provision (wallet creation)
├── POST /v1/users/fund (on-ramp)
├── POST /v1/fx/quote (FX rate lock)
├── POST /v1/transfers/send (P2P transfer)
└── POST /v1/users/withdraw (off-ramp)Pattern B: Dashboard-Driven Operations
For treasury management and compliance monitoring:
Your Ops Team
│
├── GET /v1/dashboard/metrics (KPIs)
├── POST /v1/dashboard/treasury/topup (load funds)
├── GET /v1/dashboard/transfers (ledger)
├── POST /v1/dashboard/users/*/freeze (compliance)
└── GET /v1/dashboard/withdrawals (off-ramp queue)Pattern C: Event-Driven (Recommended for production)
Combine API calls with webhooks for a fully reactive system:
Rach CaaS Events
│
├── transfer.settled → Send push notification to user
├── withdrawal.completed → Trigger order release / confirmation
└── deposit.settled → Credit internal account / update UIPricing & Limits
Contact support@rach.finance or visit rach.finance for:
- Per-transfer fee schedules
- FX conversion markup (applied as basis points — visible in
applied_bps_markupper transaction) - AML velocity limit adjustments
- Treasury topup settlement SLAs
- Volume discounts
