

3.1 Cross-border B2B/treasury payments (primary): Sender pays in local currency. Platform quotes via SEP-38, locks the rate, debits via double-entry ledger, runs a Stellar path payment (GBP-IOU→USDC→GHS-IOU), and instructs the receiving provider (mobile money or bank) to settle locally. SLO: under 60s.
3.2 In-country payouts: Same currency/country (e.g. GHS→GHS). Router picks a domestic provider directly—no Stellar hop. Same APIs, audit, and approvals.
3.3 Bulk payouts: CSV up to 10,000 rows/batch with per-row idempotency, batch-level approval, and independent per-item execution (one failed row won't block others). Live progress via Centrifugo.
3.4 Treasury wallets, audit, RBAC: Tenants run wallets per asset (XLM, USDC, GHS/KES/NGN/ZAR/GBP-IOU). Operators initiate, approvers approve (initiator-cannot-approve enforced in handler and DB), viewers read. Every transition logged in SQLAlchemy-Continuum shadow tables, shown inline in the UI.
