Kenya leads East Africa in mobile money usage with more adults borrowing digitally
Kenya leads East Africa in mobile money usage with more adults borrowing digitally
Read this story aloud
Listen to the clean text version of this article
Ready
6 min listen
Audio reading is not supported on this browser.
A GSMA report shows Sub-Saharan Africa driving global mobile money growth, with Kenya a key player as mobile loans expand, fraud risks rise, and state funds face mounting defaults
Kenya is among the East African nations leading Africa in mobile money adoption, with a growing number of adults using digital accounts for saving, borrowing, and everyday transactions.
A new report shows that Sub-Saharan Africa accounts for nearly two-thirds of global mobile money growth, with Kenya, Uganda, and Tanzania emerging as the top users of these services.
According to the 2025 State of Industry report by GSMA, Sub-Saharan Africa drove the largest share of growth, accounting for nearly two-thirds of the global increase in registered mobile money accounts.
More To Read
- Hustler Fund: Nearly Sh90 billion disbursed to 27 million Kenyans – Ruto
- Government reassures NYOTA beneficiaries as second-tranche disbursement nears
- Ruto’s Hustler Fund dropped from budget as NYOTA programme gains priority in new spending plan
- Hustler Fund audit exposes Sh377 million loss risk after 386,000 loans closed before repayment
- Rising financial inclusion masks Kenya’s worsening financial health at just 16 per cent – report
- Government moves to recover Sh12 billion unpaid Hustler Fund loans using borrowers’ IDs
Globally, mobile money accounts reached 2.3 billion in 2025, with Africa contributing the largest share. This expansion has been accompanied by a rise in mobile-based loans, as more borrowers bypass banks and traditional financial institutions. Saving through mobile platforms has also become an increasingly popular alternative to conventional banking.
The GSMA survey found that mobile money borrowing accounted for about 60 per cent of all formal borrowing in Sub-Saharan Africa in 2024. In Kenya, 32 per cent of adults took loans through a mobile money provider, including 25 per cent who borrowed exclusively via mobile money instead of banks, saccos, or microfinance institutions.
“A larger share got a loan through a mobile money account in 2024. At the same time, bank-only borrowing decreased among those who borrowed only in this way,” reads the report noted.
Latest Stories
- DP Kindiki hails cooperatives as key to Kenya’s economic transformation
- SHA seeks Treasury funds to clear NHIF claims above Sh10 million
- Eight arrested in Marsabit over Sh1.2 million SIM swap fraud
- What the World Cup hydration breaks reveal about who governs men’s football
Mobile loans—typically small and short-term—have also boosted the profitability of providers, with agents playing a key role in digitising cash transactions.
Despite this growth, fraud remains a major challenge for both providers and users. GSMA estimates that nearly $500 billion is lost globally to fraud, with identity theft being the most common form. Other risks include impersonation, insider fraud, agent fraud, cybercrime, social engineering, and SIM swap scams.
To address these threats, providers are increasingly deploying Artificial Intelligence (AI) and machine learning (ML) to detect unusual transaction patterns. Historical fraud data is used to train algorithms that can predict and flag suspicious activity in real time. Some providers have also introduced consumer awareness campaigns to reduce vulnerability to scams.
The report also highlights challenges such as taxation, high remittance costs, inconsistent licensing, and infrastructure gaps.
“Mobile money has become an economic cornerstone in many LMICs. However, taxes on mobile money transactions risk affecting millions,” it notes.
Kenya has further promoted access to mobile credit through government programmes. In 2022, the Kenya Kwanza administration launched the Hustler Fund, which provides loans via mobile money. By November 2025, the fund had disbursed over Sh80 million in personal and small business loans.
“We took a firm position and negotiated with credit reference bureaus and we redeemed 7 million Kenyans who were blacklisted and gave them a second chance. Today, we have 2 million Kenyans who borrow religiously from the Hustler Fund,” President William Ruto said.
In August 2025, the government also introduced the National Youth Opportunities Towards Advancement (NYOTA) Project, which offers Sh50,000 in startup capital to youth and vulnerable groups, accessible through mobile platforms.
However, the Hustler Fund has faced repayment challenges. By March 5, 2026, Sh12 billion had been defaulted, with defaulters barred from accessing NYOTA.
Recovery efforts now include tracking defaulters through national IDs and SIM registration. The fund’s 2025/26 budget was reduced to Sh300 million, down from Sh5 billion the previous year.
The GSMA report further notes that in 2025, registered mobile money accounts grew by 268 million to reach 2.3 billion, while active 30-day accounts rose to 593 million—an annual increase of 15 per cent, the highest since 2021.
Sub-Saharan Africa drove much of this growth, supported by a network of 30 million mobile money agents, 11 million of whom are active monthly. These agents handled $430 billion in cash transactions, a 20 per cent increase from 2024.
Globally, mobile money transaction values surpassed $2 trillion in 2025, doubling the $1 trillion recorded four years earlier. Peer-to-peer transfers dominated, followed by cash-based and ecosystem transactions. Merchant payments rose by nearly 50 per cent to $155 billion, overtaking bulk transfers, while interoperable bank-to-mobile and mobile-to-bank transactions grew by more than a third.
The sector has also diversified, with savings and insurance products expanding alongside credit services. Nearly 80 per cent of surveyed providers reported profits in 2025, supported by a 15 per cent rise in average revenue per user—from $1.52 in 2024 to $1.75 in 2025. Agent commissions increased by 22 per cent, benefiting micro and small enterprises.
The GSMA Mobile Money Certification (MMC) programme is helping to build trust and compliance by promoting anti-money laundering, counter-terrorist financing, and fraud prevention. Providers such as Hormuud Telecom and Mixx by Yas are leading efforts in AML/CFT, helping ensure secure and reliable services.
Other Topics To Read
Top Stories Today
- Government reaffirms commitment to inclusive development across all regions
- DP Kindiki hails cooperatives as key to Kenya’s economic transformation
- SHA seeks Treasury funds to clear NHIF claims above Sh10 million
- Eight arrested in Marsabit over Sh1.2 million SIM swap fraud
- What the World Cup hydration breaks reveal about who governs men’s football
- Hope for patients as implant shows lasting benefits for treatment-resistant depression
`;
}
return “;
}
function commentActionsMarkup(comment, canComment) {
const likeLabel = comment.liked_by_me ? ‘Liked’ : ‘Like’;
const likeCount = Number(comment.like_count || 0) > 0
? “
: ”;
const likeButton = canComment && comment.status === ‘approved’
? “
: “;
const replyButton = canComment && comment.status === ‘approved’
? “
: ”;
return `
`;
}
function commentMarkup(comment, canComment, isReply = false) {
const pendingBadge = comment.status && comment.status !== ‘approved’
? “
: ”;
const edited = comment.is_edited
? “
: ”;
const repliesHtml = Array.isArray(comment.replies) && comment.replies.length
? `
`
: “;
return `
`;
}
function replyFormMarkup(commentId) {
return `
`;
}
function setNotice(widget, message, type = ‘info’) {
const notice = widget.querySelector(‘[data-role=”notice”]’);
if (!notice) return;
if (!message) {
notice.hidden = true;
notice.textContent = ”;
notice.classList.remove(‘is-error’);
return;
}
notice.hidden = false;
notice.textContent = message;
notice.classList.toggle(‘is-error’, type === ‘error’);
}
function setCount(widget, total) {
const count = widget.querySelector(‘[data-role=”count”]’);
if (!count) return;
const num = Number(total || 0);
count.textContent = num === 1 ? ‘1 comment’ : `${num} comments`;
}
function openReplyBox(widget, commentId) {
widget.querySelectorAll(‘[data-role=”reply-box”]’).forEach(box => {
box.hidden = true;
box.innerHTML = ”;
});
const targetItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
if (!targetItem) return;
const replyBox = targetItem.querySelector(‘[data-role=”reply-box”]’);
if (!replyBox) return;
replyBox.hidden = false;
replyBox.innerHTML = replyFormMarkup(commentId);
const textarea = replyBox.querySelector(‘textarea’);
if (textarea) textarea.focus();
}
function closeReplyBox(container) {
if (!container) return;
container.hidden = true;
container.innerHTML = ”;
}
async function initCommentsWidget(widget) {
const state = {
articleId: Number(widget.dataset.articleId),
loadUrl: widget.dataset.loadUrl,
storeUrl: widget.dataset.storeUrl,
commentsBaseUrl: widget.dataset.commentsBaseUrl,
canComment: widget.dataset.canComment === ‘1’,
page: 1,
perPage: 10,
sort: ‘newest’,
total: 0,
hasMore: false,
busy: false
};
const list = widget.querySelector(‘[data-role=”list”]’);
const loading = widget.querySelector(‘[data-role=”loading”]’);
const empty = widget.querySelector(‘[data-role=”empty”]’);
const loadMoreBtn = widget.querySelector(‘[data-role=”load-more”]’);
const sortSelect = widget.querySelector(‘[data-role=”sort”]’);
const composerForm = widget.querySelector(‘[data-role=”composer-form”]’);
async function loadComments(reset = true) {
if (state.busy) return;
state.busy = true;
setNotice(widget, ”);
loading.hidden = false;
if (reset) {
state.page = 1;
list.innerHTML = ”;
empty.hidden = true;
}
try {
const url = new URL(state.loadUrl, window.location.origin);
url.searchParams.set(‘page’, state.page);
url.searchParams.set(‘per_page’, state.perPage);
url.searchParams.set(‘sort’, state.sort);
const response = await requestJson(url.toString(), {
method: ‘GET’,
headers: {
‘Accept’: ‘application/json’,
‘X-Requested-With’: ‘XMLHttpRequest’
}
});
const items = Array.isArray(response.data) ? response.data : [];
const meta = response.meta || {};
state.total = Number(meta.total || 0);
state.hasMore = !!meta.has_more;
setCount(widget, state.total);
if (reset) {
list.innerHTML = ”;
}
if (!items.length && reset) {
empty.hidden = false;
} else {
empty.hidden = true;
list.insertAdjacentHTML(
‘beforeend’,
items.map(item => commentMarkup(item, state.canComment, false)).join(”)
);
}
loadMoreBtn.hidden = !state.hasMore;
} catch (error) {
if (!list.children.length) {
empty.hidden = false;
empty.textContent = ‘Unable to load comments right now.’;
}
setNotice(widget, error.message || ‘Unable to load comments.’, ‘error’);
} finally {
loading.hidden = true;
state.busy = false;
}
}
async function submitTopLevelComment(form) {
const textarea = form.querySelector(‘textarea[name=”content”]’);
const button = form.querySelector(‘[data-role=”submit-comment”]’);
if (!textarea) return;
const content = textarea.value.trim();
if (!content) return;
const originalText = button ? button.textContent : ”;
try {
if (button) {
button.disabled = true;
button.textContent = ‘Posting…’;
}
const response = await requestJson(state.storeUrl, {
method: ‘POST’,
headers: buildJsonHeaders(),
body: JSON.stringify({
article_id: state.articleId,
content: content,
source_url: window.location.href
})
});
textarea.value = ”;
if (response?.data) {
list.insertAdjacentHTML(
‘afterbegin’,
commentMarkup(response.data, state.canComment, false)
);
empty.hidden = true;
if ((response.data.status || ”) === ‘approved’) {
state.total += 1;
setCount(widget, state.total);
}
}
setNotice(widget, response.message || ‘Comment posted successfully.’);
} catch (error) {
setNotice(widget, error.message || ‘Unable to post comment.’, ‘error’);
} finally {
if (button) {
button.disabled = false;
button.textContent = originalText || ‘Post comment’;
}
}
}
async function submitReply(form) {
const commentId = Number(form.dataset.commentId || 0);
const textarea = form.querySelector(‘textarea[name=”content”]’);
const button = form.querySelector(‘.ev-comments__reply-submit’);
if (!commentId || !textarea) return;
const content = textarea.value.trim();
if (!content) return;
const originalText = button ? button.textContent : ”;
try {
if (button) {
button.disabled = true;
button.textContent = ‘Posting…’;
}
const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/reply`, {
method: ‘POST’,
headers: buildJsonHeaders(),
body: JSON.stringify({
article_id: state.articleId,
content: content,
source_url: window.location.href
})
});
if (response?.data) {
const parentItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
if (parentItem) {
const repliesWrap = parentItem.querySelector(‘.ev-comments__replies’);
if (repliesWrap) {
repliesWrap.insertAdjacentHTML(
‘beforeend’,
commentMarkup(response.data, state.canComment, true)
);
}
}
}
closeReplyBox(form.closest(‘[data-role=”reply-box”]’));
setNotice(widget, response.message || ‘Reply posted successfully.’);
} catch (error) {
setNotice(widget, error.message || ‘Unable to post reply.’, ‘error’);
} finally {
if (button) {
button.disabled = false;
button.textContent = originalText || ‘Post reply’;
}
}
}
async function toggleLike(button) {
const commentId = Number(button.dataset.commentId || 0);
if (!commentId) return;
const originalHtml = button.innerHTML;
try {
button.disabled = true;
button.innerHTML = ‘Working…’;
const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/like`, {
method: ‘POST’,
headers: buildJsonHeaders(),
body: JSON.stringify({})
});
const liked = !!response?.data?.liked;
const likeCount = Number(response?.data?.like_count || 0);
button.classList.toggle(‘is-liked’, liked);
button.innerHTML = `${liked ? ‘Liked’ : ‘Like’} ${likeCount > 0 ? “ : ”}`;
} catch (error) {
button.innerHTML = originalHtml;
setNotice(widget, error.message || ‘Unable to update like.’, ‘error’);
} finally {
button.disabled = false;
}
}
if (composerForm) {
composerForm.addEventListener(‘submit’, function (e) {
e.preventDefault();
submitTopLevelComment(composerForm);
});
}
if (sortSelect) {
sortSelect.addEventListener(‘change’, function () {
state.sort = this.value || ‘newest’;
loadComments(true);
});
}
if (loadMoreBtn) {
loadMoreBtn.addEventListener(‘click’, function () {
if (state.busy || !state.hasMore) return;
state.page += 1;
loadComments(false);
});
}
widget.addEventListener(‘click’, function (e) {
const likeBtn = e.target.closest(‘[data-action=”toggle-like”]’);
if (likeBtn) {
e.preventDefault();
toggleLike(likeBtn);
return;
}
const replyBtn = e.target.closest(‘[data-action=”toggle-reply”]’);
if (replyBtn) {
e.preventDefault();
openReplyBox(widget, Number(replyBtn.dataset.commentId || 0));
return;
}
const cancelReplyBtn = e.target.closest(‘[data-action=”cancel-reply”]’);
if (cancelReplyBtn) {
e.preventDefault();
closeReplyBox(cancelReplyBtn.closest(‘[data-role=”reply-box”]’));
}
});
widget.addEventListener(‘submit’, function (e) {
const replyForm = e.target.closest(‘.ev-comments__reply-form’);
if (replyForm) {
e.preventDefault();
submitReply(replyForm);
}
});
loadComments(true);
}
document.addEventListener(‘DOMContentLoaded’, function () {
document.querySelectorAll(‘.ev-comments’).forEach(initCommentsWidget);
});
})();
Trending
DP Kindiki hails cooperatives as key to Kenya’s economic transformationNews
|Rachael Mutabasi
|18 minutes ago
Government reaffirms commitment to inclusive development across all regionsNews
|Mary Wambui
|3 hours ago
UK, France agree with Oman on multinational military mission to secure Strait of HormuzNews
|Mary Wambui
|5 hours ago
Six killed as matatu, trailer collide head-on along Nakuru-Eldoret highwayNews
|Rachael Mutabasi
|9 hours ago
Manufacturers call for reforms to cut cost of doing business in KenyaNews
|Rachael Mutabasi
|7 hours ago
CAF opens bidding for 2028, 2032 and 2036 AFCON tournamentsNews
|Erick Kariuki
|7 hours ago
What Kenya’s record Sh1.82 trillion forex reserves mean for the economyBusiness
|Alfred Onyango
|6 hours ago
Iran begins six-day funeral for late Supreme Leader Ali KhameneiWorld
|DW News
|8 hours ago
Eight arrested in Marsabit over Sh1.2 million SIM swap fraudNorthern Kenya
|Bashir Mbuthia
|1 hour ago
Colombia beats Ghana to complete World Cup round of 16 lineupSports
|XINHUA
|8 hours ago
