Sending money from M-PESA to a KCB Bank account is one of the most common Kenyan cross-platform transactions. Whether you're paying a supplier, sending money to family, depositing rent into your KCB account, or settling a bill, there are three practical methods. This guide walks through each, with the fees, timing, and the small-print mistakes that delay deposits.
The three methods
- M-PESA paybill 522522 — works for sending to any KCB account holder. Simplest, most-used.
- KCB M-PESA — your own KCB-linked M-PESA account. Move balance to your KCB account from inside the M-PESA menu.
- KCB app or USSD — pull money from M-PESA into KCB using the KCB app's linked-M-PESA flow.
Method 1 — M-PESA paybill 522522
This is the standard way to send money from M-PESA to any KCB account holder, including your own.
- Open M-PESA on your phone.
- Select Lipa na M-PESA → Pay Bill.
- Business number: 522522.
- Account number: the recipient's KCB account number (typically 13-16 digits).
- Amount: the amount in KES.
- Enter your M-PESA PIN and confirm.
Confirmation comes via two SMS — one from M-PESA showing the transaction code, one from KCB confirming the deposit was credited. Funds reflect within 1-15 minutes typically; occasional weekend or after-hours delays push it to next-business-day.
Fees for paybill 522522
Standard M-PESA paybill tariff applies. The customer pays the fee — KCB does not absorb it. From our 2026 fee schedule:
- KES 100 or less: free
- KES 1,000: KES 10
- KES 5,000: KES 34
- KES 10,000: KES 48
- KES 50,000: KES 67
- KES 100,000+: KES 105
Method 2 — KCB M-PESA (your own linked account)
If you already have a KCB M-PESA account (the savings/loan product accessed via M-PESA menu), you can move funds between your KCB M-PESA balance and your KCB Bank account without leaving the M-PESA menu.
- Open M-PESA → KCB M-PESA option in the menu.
- Select "Send to my KCB Account" or similar option.
- Choose the destination KCB account (if you have multiple).
- Enter amount, PIN, confirm.
This route is free or near-free — Safaricom and KCB don't charge for moving between your own linked accounts. Useful if you regularly cycle between M-PESA and your KCB account.
Note: KCB M-PESA paybill 522559 is a separate paybill specifically for KCB M-PESA loan repayments — different from 522522 which routes to KCB Bank accounts. Don't confuse them.
Method 3 — KCB app pull from M-PESA
From the KCB app, you can "pull" money from your M-PESA balance into your KCB account. The flow:
- Open the KCB app and log in.
- Select "Get Money from M-PESA" or "M-PESA → KCB".
- Enter the amount.
- You'll receive an STK push on your Safaricom line — confirm with your M-PESA PIN.
- Funds move from M-PESA balance to your KCB account.
This works only for your own KCB account (not for sending to someone else). It's the most polished UX of the three methods if you're already in the KCB app for other banking.
How the recipient confirms receipt
The KCB account holder will see:
- An SMS notification from KCB showing the deposit (assuming they have SMS alerts enabled)
- A new transaction in the KCB app under recent transactions
- The deposit reflected in account balance, usually within minutes
- The reference field will show your M-PESA transaction code, useful for reconciliation
Where to find the KCB account number
The recipient can locate their KCB account number from:
- Their KCB ATM card (printed under the chip on most cards)
- The KCB app — under "My Accounts"
- A KCB bank statement (top of page, labelled Account Number)
- An SMS from KCB on opening (the welcome SMS includes the account number)
- By calling KCB on 0711 087 000 with their ID for verification
KCB account numbers are typically 13-16 digits. Don't confuse with the KCB cheque/IBAN reference, which has a different format.
Common mistakes that delay or fail the deposit
- Wrong KCB account number. A typo can route the money to a different account. KCB will detect mismatched name/account in some cases and reverse, but don't rely on it. Confirm the digits.
- Using KCB M-PESA paybill 522559 for a regular KCB Bank deposit.522559 is for KCB M-PESA loan repayment, not regular KCB Bank account deposits. Use 522522 for bank deposits.
- Adding spaces or dashes to the account number. M-PESA paybill account fields accept only digits. Strip any formatting.
- Sending after KCB cut-off (rare in 2026). Most KCB transactions process 24/7 in real-time. Occasional system maintenance windows (typically Sunday 02:00-05:00 EAT) can delay. Confirm with the recipient if it doesn't reflect within an hour.
- Sending more than KES 250,000 in one transaction. M-PESA per-transaction cap is KES 250,000. For larger transfers, split or use a bank-to-bank wire.
Sending money from KCB to M-PESA (the reverse)
Going from KCB account to M-PESA also works:
- From the KCB app: select "Send to M-PESA", enter recipient phone, amount, confirm
- From KCB USSD
*522#: select Send Money → M-PESA option - Same-day settlement, low fees (typically KES 30-110 depending on amount)
The KCB-to-M-PESA flow is what people usually search for as "kcb to mpesa" — same banking rail, just the opposite direction.
Troubleshooting a stuck deposit
If the recipient hasn't seen the deposit after 15 minutes:
- Confirm with sender that the M-PESA SMS shows payment to 522522 (not 522559 or another similar number)
- Verify the account number on the SMS matches the recipient's KCB account exactly
- Check if the recipient's SMS alerts are on — sometimes the deposit is there but the notification isn't
- Ask the recipient to check via the KCB app or USSD
*522#for current balance - If still missing after 1 hour: call KCB on 0711 087 000 with the M-PESA transaction code
- Worst case (wrong account): submit M-PESA reversal request via *234# → Reverse Transaction. Reversals take 24-72 hours
Why does KCB use paybill 522522 instead of just an account number?
M-PESA can't directly send to a bank account number — paybills are the bridge. KCB's paybill 522522 is the universal entry point for any payment intended for a KCB Bank account. The account number you enter as the "account" field tells KCB which of its millions of accounts to credit. Same model used by every Kenyan bank.
FAQ
What is the KCB paybill number?
522522 for KCB Bank account deposits. 522559 is a separate paybill for KCB M-PESA loan repayments. Don't mix them up.
How long does M-PESA to KCB take?
1-15 minutes typically. Up to 1-2 hours in occasional system delays. Same-day always.
What fees apply?
Standard M-PESA paybill tariff. KES 10 for KES 1,000. KES 34 for KES 5,000. KES 105 for KES 100,000. See 2026 charges.
What's the maximum I can send?
KES 250,000 per M-PESA transaction. KES 500,000 daily for fully verified accounts. Above that, split into multiple transactions or use bank-to-bank wire.
Can I send from abroad to KCB via M-PESA?
Yes — M-PESA Global to a Kenyan family member, who then pays paybill 522522 to KCB. Or use a remittance service that pays directly to KCB (Wise, Sendwave, Lemfi all support KCB direct).
Resources
- KCB Bank paybill page (522522)
- KCB M-PESA paybill (522559)
- Send money from M-PESA to Equity Bank
- Send money from M-PESA to Co-op Bank
- Master guide — send M-PESA to any Kenyan bank
- KCB Bank Kenya official site
- KCB customer care: 0711 087 000
Related reading
Curated external sources we cite. Open in a new tab.