Withdraw KSh 101, Pay KSh 29: The Fee Ladder Behind M-Pesa's KSh 100BWithdraw KSh 101, Pay KSh29: The Fee Ladder BehindM-Pesa's KSh 100B
Key Highlights
- Safaricom's M-Pesa earned KSh 100.1B ($770M) in six months, even though more than half of its transactions cost the sender nothing.
- The official tariff takes 28.71% of a KSh 101 cash withdrawal in fees, against 0.04% on a KSh 250,000 transfer.
- One habit change by a daily-paid worker saves about KSh 5,460 ($42) a year, using nothing but the published fee table.
Safaricom's M-Pesa took in KSh 100.1B (about $770M) in the six months to September, its first half-year above KSh 100B, and the money flows from a fee table that charges small sums far more, in percentage terms, than big ones.
That is the idea worth holding on to. More than half of all M-Pesa transactions cost nothing, yet the paid half earns a fortune, because the fee ladder is steep at the bottom and almost flat at the top. Knowing where the steps sit can save an ordinary user thousands of shillings a year.
Mwenendo reported the headline numbers in Safaricom's half-year results on Thursday. This explainer opens the fee table underneath them: who pays, how much, and where the cliffs are.
27.4 Billion Transactions, 12.9 Billion Paid
Start with the volumes. M-Pesa handled 27.4 billion transactions in the half-year, up 25.2%, Safaricom's results show. Of those, 14.5 billion were free and 12.9 billion carried a charge.
The free share fell to 53% from 60.3% a year earlier, while chargeable transactions jumped 48.2%. Safaricom says 63% of consumer transactions and about 81% of Lipa na M-Pesa and Pochi la Biashara merchant transactions were free or zero-rated.
Here is the puzzle. Paid transactions rose 48.2%, but M-Pesa revenue rose only 13.6%. On Mwenendo's arithmetic, M-Pesa revenue per paid transaction fell from about KSh 10.12 to about KSh 7.76 ($0.06).
Treat that as a rough gauge, not an exact price. M-Pesa revenue also includes lending and other fees, and the results did not split revenue by product. The figures suggest, though, that growth is coming from many more cheap paid transactions rather than from higher prices.
The KSh 100 Free Line
Safaricom's published tariff, last updated on 4 August 2026, makes sending between KSh 1 and KSh 100 to another M-Pesa user free. That single rule explains much of the free traffic: bus fare, a top-up for a sibling, a share of the lunch bill.
Cross that line by one shilling and the charges start. Sending KSh 101 costs KSh 7 ($0.05), which is 6.93% of the amount. Sending KSh 500 costs the same KSh 7, or 1.4%.
Further up, sending KSh 10,000 ($77) costs KSh 90, under 1%. The top band runs to KSh 250,000 ($1,924), and sending that much costs KSh 108 ($0.83): 0.04% of the money.
So the fee in shillings rises with the amount, but the fee as a share of the money collapses. A boda boda rider sending KSh 150 home pays a far higher rate than a contractor moving KSh 200,000.
Cash Out Is the Steepest Step
Withdrawals at an agent are where the ladder bites hardest. Taking out KSh 50 to KSh 100 costs KSh 11. Taking out KSh 101 costs KSh 29 ($0.22), which is 28.71% of the cash in hand.
That same KSh 29 covers every withdrawal up to KSh 2,500, where it shrinks to 1.16%. Agents, the shops with the green signs, earn commission from Safaricom for handing out that cash.
Take a hypothetical casual worker, call her Akinyi, paid KSh 700 a day into M-Pesa. She withdraws daily, six days a week. Each withdrawal sits in the KSh 501 to KSh 1,000 band and costs KSh 29, so she pays KSh 174 a week.
If she withdrew the week's KSh 4,200 in one go, the tariff would charge KSh 69. The saving is KSh 105 a week, or about KSh 5,460 ($42) over a year, with no change in income.
That comes with a fair caveat. Carrying a week's cash has its own risks, and many people withdraw daily because the money is needed daily. The point is to know the price of each trip to the agent.
Band Edges Where One Shilling Costs Ten
The tariff moves in bands, so the price jumps at the edges. Sending KSh 1,000 costs KSh 13. Sending KSh 1,001 costs KSh 23, so that extra shilling costs ten.
Withdrawals carry the same cliffs. Taking out KSh 2,500 costs KSh 29; taking out KSh 2,501 costs KSh 52.
Splitting can beat the cliff. Sending KSh 2,600 in one transfer costs KSh 53. Sending KSh 2,500 and then KSh 100 costs KSh 33 plus nothing, a saving of KSh 20.
Now follow one family transfer end to end. A son in Nairobi sends his mother in Kakamega KSh 1,000, paying KSh 13. She cashes it at the market agent for KSh 29. Together that is KSh 42, or 4.2% of the money gone before it buys a single packet of unga.
Shoppers Pay Nothing, Shops Carry the Charge
Paying a shop through Lipa na M-Pesa Buy Goods costs the customer nothing in every band, the tariff says. The merchant bears the charge for receiving the money, except at authorised fuel stations, where the paying customer bears it. Safaricom's public tariff page does not show the merchant's rate.
Merchants are M-Pesa's fastest-growing crowd. Their number rose 90.3% to about 4.5 million, driven by Pochi la Biashara and Lipa na M-Pesa, and tools such as the M-Pesa Jumbe staff alerts are built for them.
Money that lands in a till also costs something to move out. Paying from a till to a mobile number costs KSh 4 for KSh 101 to KSh 500, rising to a ceiling of KSh 54. Paying from a till to a paybill runs from KSh 3 to the same KSh 54.
Pochi la Biashara, the till for small traders on a personal line, has its own customer table. Safaricom lists it as applying for three months from 1 August 2026, with sends up to KSh 200 free and a KSh 50 cap above KSh 2,500, but the page does not say what follows. Small traders also face the Fuliza Ya Pochi overdraft fees Mwenendo examined in October.
Reading Safaricom's Ladder Before the Next Results
The fee table is Safaricom's to change, and the August update shows it does. Three numbers will say where the money is heading: the free share of transactions, the growth in paid transactions, and revenue per paid transaction.
For users, the practical rules are simple. Check the band before you send, mind the KSh 1,000 and KSh 2,500 edges, and count what each agent visit costs over a month.
Safaricom's financial year ends in March 2027. The full-year figures will show whether the cheap end of the ladder keeps growing faster than the money it earns.
Transaction and merchant figures are from Safaricom's half-year results as reported by TV47 Digital; fees are from Safaricom's published tariff.
In Summary
- What did M-Pesa earn in the half-year?
- KSh 100.1B (about $770M) in the six months to 30 September 2026, up 13.6% and the first half-year above KSh 100B.
- How many M-Pesa transactions were free?
- 14.5 billion of 27.4 billion transactions, or 53%, down from 60.3% a year earlier; chargeable transactions rose 48.2% to 12.9 billion.
- Who pays the highest rate?
- Users moving small sums: withdrawing KSh 101 at an agent costs KSh 29, or 28.71%, while sending KSh 250,000 costs KSh 108, or 0.04%.
- Where are the costliest band edges?
- Sending KSh 1,001 costs KSh 10 more than sending KSh 1,000, and withdrawing KSh 2,501 costs KSh 23 more than withdrawing KSh 2,500.
- Why do shoppers pay nothing at a till?
- Under the Buy Goods tariff the merchant bears the receiving charge, except at authorised fuel stations, where the paying customer bears it.
- When was the tariff last updated?
- Safaricom's published M-Pesa charges page was last updated on 4 August 2026.