Agent banking
Agent banking outsources the till to thousands of small businesses across Kenya — duka owners, M-Pesa agents, petrol stations. They handle cash, the MFI handles ledger. Reach extends from 12 branches to 12,000 service points.

Agent network models
- Wholesale (PesaPoint, Sidian Agent, Co-op Kwa Jirani) — outsourced; MFI pays commission; agents are pre-existing
- In-house — MFI recruits and trains its own agents; higher margin, more support cost
- Hybrid — wholesale for reach, in-house for KYC-heavy locations
Agent onboarding
For in-house agents, the MFI vets the business and signs an agency agreement. CBK Agent Banking Guidelines 2020 apply:
- Business registration (URC) ≥ 12 months old
- Physical premises with CCTV
- Annual turnover ≥ KES 5M (proven via M-Pesa statements + bank statements)
- Sole proprietor or director clears CRB
- Cash-on-hand minimum KES 100,000 (the float)
- Photo ID and biometrics captured
- Agreement signed, agent code issued (e.g. AGT-2024-0345)
- Training: half-day on the agent app + AML basics
What an agent can do
| Operation | Member identification | Per-txn limit KES | Commission to agent (KES) |
|---|---|---|---|
| Cash deposit | Member ID + PIN | 150,000 | 0.5% (min 20) |
| Cash withdrawal | Fingerprint or ID+PIN | 70,000 | 1% (min 30) |
| Balance enquiry | Member ID + PIN | — | 10 flat |
| Mini statement | Member ID + PIN | — | 20 flat |
| Loan repayment | Member ID + PIN | 150,000 | 0.3% (min 20) |
| New member onboarding (Tier 1) | ID + biometrics | — | 200 flat |
Float management
Agents pre-fund a float account at the MFI. Every cash-in by a member moves cash from member to agent and credits the member's MFI savings; the agent's float is debited (agent now holds cash on behalf of MFI). Every cash-out reverses.
Float is monitored real-time. When < KES 20,000 the agent app warns; < KES 5,000 it blocks new cash-outs. Agents top up via M-Pesa Pay Bill into the MFI's float collection account.
Commission settlement
Commission accrues real-time on agent.commission.ledger. Settlement is bi-weekly on the 1st and 15th. The MFI nets commission against float top-up — if agent owes nothing, MFI pays commission via M-Pesa B2B.
Statement issued in PDF and visible on the agent's dashboard.
Fraud surfaces and controls
- Cash-out without member knowledge — biometric (fingerprint) at withdrawal is mandatory above KES 20k
- Phantom deposits to inflate commission — every deposit must show in member's SMS within 30s and the member must confirm before agent releases receipt
- PIN sharing — agent app uses ephemeral PIN pad on agent device only; never on member's view
- Agent app fingerprint spoofing — annual biometric re-enrolment with new device pairings
Agent device
Two supported devices: Android phone (any 8.0+ with fingerprint sensor) or a Verifone X990 POS terminal. The agent app is a PWA installable from agent.{tenant}; PIN-locked; offline-capable for 24h then must sync.
Worked scenarios
Scenario — Withdrawing wages at a rural agent
| Character | Role |
|---|---|
| Florence Achieng | Member |
| Kimani Mwangi | Agent (in-house) |
Timeline
- 11:00: Florence walks into Kimani's duka (—)
- 11:00: Kimani opens agent app on his phone (Float balance: KES 84,500)
- 11:01: Picks Withdrawal, enters KES 10,000 (Prompts member ID)
- 11:01: Florence presses her thumb on Kimani's phone fingerprint sensor (Biometric matches member MWM-2023-04421)
- 11:01: Agent app prompts: 'Confirm KES 10,000 withdrawal?' Florence taps Confirm (MFI debits Florence's savings KES 10,000; debits MFI/Cr Agent float KES 9,900 (commission KES 100); SMS sent to Florence)
- 11:02: Florence's phone vibrates: "KES 10,000 withdrawn at Kimani Stores. Comm KES 100. New balance KES 7,820." (—)
- 11:02: Florence shows SMS to Kimani; Kimani hands her KES 10,000 cash (—)
- 11:03: Receipt prints from agent app (Bluetooth printer) (Both keep copies)
Outcome — KES 10,000 in hand without a 76km round trip to the branch. Total time 3 minutes. Commission KES 100 split: KES 30 to agent, KES 70 to MFI (per tariff).
Reference
Standard agent tariff
MFI > Channels > Agent > Tariff configures these per band.
| Band KES | Deposit comm | Withdraw comm |
|---|---|---|
| 100 - 1,000 | 20 flat | 30 flat |
| 1,001 - 5,000 | 30 | 50 |
| 5,001 - 10,000 | 50 | 80 |
| 10,001 - 20,000 | 80 | 150 |
| 20,001 - 35,000 | 120 | 230 |
| 35,001 - 50,000 | 150 | 300 |
| 50,001 - 70,000 | 180 | 350 |
| 70,001 - 150,000 | 250 (deposit only) | n/a |
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Agent app shows "Float insufficient" though cash is present | Member is withdrawing more than the agent's MFI float allows. | Agent tops up float via M-Pesa Pay Bill (instant) or visits the branch. Meanwhile member can withdraw smaller amount. |
| Fingerprint not matching even though member is correct | Damaged finger (cuts, callouses), or biometric template stale. | Use PIN fallback after asking for ID. Member should re-enrol biometrics at next branch visit. |
| Member SMS not arriving — agent unsure whether to release cash | Africa's Talking outage or Safaricom delivery delay. | Agent app shows in-app receipt with txn ID — show to member. They can dial *354# to check balance. Never release cash without one of: SMS, in-app receipt, or USSD confirmation. |
| Commission not credited to agent for previous fortnight | Settlement cron failed or agent's M-Pesa Pay Bill rejected. | Operations > Channels > Agent > Commission runs — re-run for that period. Confirm agent M-Pesa number on file. |
| Agent suspected of phantom deposits | Pattern: deposits to a single member with no corresponding SMS confirmation. | Compliance > Agent investigation — pull last 30 days, call random members, suspend agent on confirmation. |

