Sending KSh 5,000 on M-Pesa costs KSh 57; withdrawing it at an agent costs KSh 69.
How M-Pesa fees are structured
M-Pesa charges aren't a flat percentage of the amount you send; Safaricom uses tiered bands. A KSh 500 transfer and a KSh 5,000 transfer sit in completely different fee brackets, so the cost doesn't scale linearly. This is exactly why a calculator is more useful than trying to remember a percentage.
Withdrawal fees follow a separate table from send fees, and agent withdrawals are priced differently from ATM withdrawals. Receiving money is always free; only the sender or the person withdrawing pays a fee.
Sending KSh 1,000 to a registered M-Pesa user costs KSh 13 in transaction fees under current Safaricom tariffs. The fee scales in bands based on the amount sent, not as a flat percentage.
Are M-Pesa charges the same for withdrawing at an agent vs an ATM?
No. Agent and ATM withdrawals use separate tariffs. Up to KSh 2,500 an agent is cheaper (KSh 29 versus KSh 35); above KSh 10,000 an ATM is usually cheaper, but ATM withdrawals are capped at KSh 20,000.
Does sending money to an unregistered number cost more?
Sending to unregistered users has been switched off. You can only send to registered M-Pesa, Airtel Money or T-Kash numbers, and all three use the same tariff.
Is there a fee for receiving money on M-Pesa?
No, receiving money into your M-Pesa wallet is free. Only the sender is charged the transaction fee.
How much does it cost to withdraw KSh 5,000 from M-Pesa?
Withdrawing KSh 5,000 at an M-Pesa agent costs KSh 69. At an M-Pesa ATM it also costs KSh 69.
What is the maximum M-Pesa transaction?
You can send or withdraw up to KSh 250,000 in one transaction, with a daily limit of KSh 500,000.