In 2017, Flutterwave was a firm of about 50 those that had satisfied Uber, the world’s largest ride-hailing firm, to belief its funds infrastructure to course of transactions throughout African markets. The firm was sufficiently small for workers to perceive what different groups had been doing and step in when wanted.
“I had just learned about a payment company that was looking to do amazing things on the continent,” Kanyinsola Ajibade, investor relations lead, who joined Flutterwave that yr, informed TechCabal in an interview.
Flutterwave’s story started in 2016, when its co-founder, Olugbenga “GB” Agboola, encountered a downside whereas working in monetary companies. After stints at PayPal, GTBank, a tier-one Nigerian financial institution, and South Africa’s Standard Bank, Agboola was annoyed by how troublesome it was for companies to transfer cash throughout African markets.
“If I want to send money to Ghana, does money have to move from Lagos to New York, and from New York to Ghana?” he informed McKinsey in 2022. “It didn’t make sense to me. If you get on a plane from Lagos to Ghana, you get there faster than doing a money transfer.”
The downside wasn’t that Africa lacked fee methods, however that these methods didn’t work seamlessly collectively. Businesses increasing throughout borders had to navigate completely different banks, fee strategies, and settlement preparations, making it more durable to acquire funds and transfer cash between markets.
For a service provider in Johannesburg promoting to a buyer in Nigeria, cross-border funds meant counting on a SWIFT switch and ready for affirmation earlier than releasing the products. SWIFT messages might take up to 48 hours as they handed by means of correspondent banks, irritating on the spot commerce. Agboola needed to make these transactions quicker and simpler.
“Those were the driving forces behind Flutterwave: How do we become like a butterfly that can create a ripple effect in the ecosystem and still be tiny, yet we can make waves? Hence the name Flutterwave, ” he informed McKinsey in 2022.
Meanwhile, Iyin Aboyeji, a co-founder of Andela, a world tech expertise community, confronted the identical downside whereas making an attempt to assist African builders and their companies and had the identical conclusion: with out funds infrastructure, promising companies would wrestle to develop their income.
“A lot of our talents were desirous of building products, but when I would look at the ideas they came up with, it was very clear to me that if we didn’t have payments, many of those products could not scale revenue as fast,” Aboyeji, Flutterwave’s first chief government officer, informed TechCabal in an interview.
Their ambition turned Flutterwave, a funds expertise firm Agboola based whereas at Access Bank, a tier-one Nigerian financial institution, with Aboyeji and Adeleke Adekoya, then Access Bank’s head of digital banking. The thought was to join retailers to banks, card networks similar to Visa and Mastercard, and different fee suppliers by means of a single Application Programming Interface (API)—a device that lets completely different apps and laptop methods discuss to one another—permitting companies to acquire and disburse cash with out constructing separate integrations for each market.
A decade later, Flutterwave says it has processed over $50 billion in transactions, serves more than two million companies, and has expanded past fee processing into remittances, client funds, and banking. Aboyeji has left the corporate, and Flutterwave is now pursuing a wider financial-infrastructure technique whereas working in the direction of profitability and a potential public itemizing.
/* ==========================================================================
TechCabal Editorial Visualization: A Decade of Building (V5 – WP Bulletproof)
========================================================================== */
.tc-bld-wrapper {
font-family: -apple-system, BlinkMacSystemFont, ‘Segoe UI’, Roboto, Helvetica, Arial, sans-serif;
width: 100%; max-width: 800px; margin: 32px auto; background: #08090A; shade: #F9FAFB;
border-radius: 12px; overflow: hidden; place: relative; border: 1px stable rgba(255, 255, 255, 0.08);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.1);
-webkit-font-smoothing: antialiased; show: flex; flex-direction: column;
}
.tc-bld-wrapper *, .tc-bld-wrapper *::earlier than, .tc-bld-wrapper *::after {
box-sizing: border-box; margin: 0; padding: 0;
}
.tc-bld-scene {
perspective: 1200px; -webkit-perspective: 1200px; width: 100%; peak: 320px;
place: relative; background: radial-gradient(circle at 50% 50%, rgba(225, 29, 72, 0.05) 0%, rgba(8, 9, 10, 1) 70%);
show: flex; align-items: heart; justify-content: heart; touch-action: pan-y; cursor: seize;
}
.tc-bld-scene:energetic { cursor: grabbing; }
@media (min-width: 600px) { .tc-bld-scene { peak: 420px; } }
.tc-bld-camera {
transform-style: preserve-3d; -webkit-transform-style: preserve-3d; transition: rework 0.1s linear;
}
.tc-bld-camera.is-animating { transition: rework 0.6s cubic-bezier(0.25, 1, 0.5, 1); }
.tc-bld-stage {
transform-style: preserve-3d; -webkit-transform-style: preserve-3d; transition: rework 1.2s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.tc-node {
place: absolute; transform-style: preserve-3d; -webkit-transform-style: preserve-3d;
transition: all 1.2s cubic-bezier(0.2, 0.8, 0.2, 1); opacity: 0; pointer-events: none;
}
.tc-node.is-active { opacity: 1; pointer-events: auto; }
.tc-node.is-subdued { opacity: 0.25; filter: grayscale(1); pointer-events: none; }
.tc-glass {
place: absolute; rework: translate(-50%, -50%);
background: linear-gradient(135deg, rgba(255,255,255,0.04), rgba(255,255,255,0.01));
border: 1px stable rgba(255,255,255,0.15); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
box-shadow: inset 0 0 20px rgba(255,255,255,0.02), 0 20px 40px rgba(0,0,0,0.5);
transition: all 0.3s ease; cursor: pointer; define: none;
}
.tc-glass:focus-visible, .tc-node.is-selected .tc-glass {
background: linear-gradient(135deg, rgba(255,255,255,0.1), rgba(225,29,72,0.15));
border-color: rgba(225,29,72,0.8); box-shadow: 0 0 30px rgba(225,29,72,0.25), inset 0 0 15px rgba(225,29,72,0.15);
}
.tc-glow {
place: absolute; rework: translate(-50%, -50%) translateZ(1px); background: #E11D48;
filter: blur(15px); -webkit-filter: blur(15px); opacity: 0; transition: opacity 0.8s ease;
border-radius: 50%; pointer-events: none;
}
.tc-node.is-active .tc-glow { opacity: 0.35; }
.tc-node.is-selected .tc-glow { opacity: 0.8; background: #EA580C; }
.tc-pillar {
place: absolute; width: 2px;
background: linear-gradient(to high, rgba(255,255,255,0), rgba(225,29,72,0.5), rgba(255,255,255,0));
transform-style: preserve-3d; -webkit-transform-style: preserve-3d; transform-origin: backside heart;
transition: all 1.2s cubic-bezier(0.2, 0.8, 0.2, 1); opacity: 0; pointer-events: none;
}
.tc-pillar.is-active { opacity: 1; }
.n-base .tc-glass { width: 120px; peak: 120px; border-radius: 4px; } .n-base .tc-glow { width: 60px; peak: 60px; }
.n-merch .tc-glass { width: 60px; peak: 60px; border-radius: 4px; } .n-merch .tc-glow { width: 30px; peak: 30px; }
.n-cons .tc-glass { width: 60px; peak: 60px; border-radius: 4px; } .n-cons .tc-glow { width: 30px; peak: 30px; }
.n-infra .tc-glass { width: 180px; peak: 180px; border-radius: 8px; border-width: 2px; border-color: rgba(255,255,255,0.08); } .n-infra .tc-glow { width: 80px; peak: 80px; }
.n-mono .tc-glass { width: 70px; peak: 70px; border-radius: 50%; border-color: rgba(225,29,72,0.4); } .n-mono .tc-glow { width: 40px; peak: 40px; background: #10B981; }
.n-cross .tc-glass { width: 50px; peak: 50px; border-radius: 4px; } .n-cross .tc-glow { width: 25px; peak: 25px; }
.tc-node { rework: translate3d(0,0,-50px) scale(0.5); }
.tc-pillar { rework: translate3d(0,0,0) rotateX(90deg); peak: 0; }
.y-2016 .n-base { rework: translate3d(0,0,0) scale(1); }
.y-2020 .n-base { rework: translate3d(0,0,0) scale(1); } .y-2020 .n-merch { rework: translate3d(90px, 0, 30px) scale(1); } .y-2020 .n-cons { rework: translate3d(-90px, 0, 30px) scale(1); } .y-2020 .p-merch { rework: translate3d(90px, 0, 0) rotateY(90deg) rotateX(90deg); peak: 30px; } .y-2020 .p-cons { rework: translate3d(-90px, 0, 0) rotateY(90deg) rotateX(90deg); peak: 30px; }
.y-2022 .n-base { rework: translate3d(0,0,40px) scale(1); } .y-2022 .n-merch { rework: translate3d(90px, 0, 70px) scale(1); } .y-2022 .n-cons { rework: translate3d(-90px, 0, 70px) scale(1); } .y-2022 .n-infra { rework: translate3d(0,0,-30px) scale(1); } .y-2022 .p-merch { rework: translate3d(90px, 0, 40px) rotateY(90deg) rotateX(90deg); peak: 30px; } .y-2022 .p-cons { rework: translate3d(-90px, 0, 40px) rotateY(90deg) rotateX(90deg); peak: 30px; } .y-2022 .p-infra-core { rework: translate3d(0,0,-30px) rotateX(90deg); peak: 70px; width: 4px; }
.y-2026 .n-base { rework: translate3d(0,0,40px) scale(1); } .y-2026 .n-merch { rework: translate3d(90px, 0, 70px) scale(1); } .y-2026 .n-cons { rework: translate3d(-90px, 0, 70px) scale(0.8); } .y-2026 .n-infra { rework: translate3d(0,0,-30px) scale(1); } .y-2026 .n-mono { rework: translate3d(0,0,110px) scale(1); } .y-2026 .n-cross { rework: translate3d(0, 80px, 70px) scale(1); } .y-2026 .p-merch { rework: translate3d(90px, 0, 40px) rotateY(90deg) rotateX(90deg); peak: 30px; } .y-2026 .p-cons { rework: translate3d(-90px, 0, 40px) rotateY(90deg) rotateX(90deg); peak: 30px; } .y-2026 .p-infra-core { rework: translate3d(0,0,-30px) rotateX(90deg); peak: 70px; width: 4px; } .y-2026 .p-mono { rework: translate3d(0,0,40px) rotateX(90deg); peak: 70px; width: 2px; background: linear-gradient(to high, rgba(16,185,129,0), rgba(16,185,129,0.8), rgba(16,185,129,0));} .y-2026 .p-cross { rework: translate3d(0,80px,40px) rotateX(90deg); peak: 30px; }
.tc-bld-info-panel { padding: 20px; background: rgba(255,255,255,0.03); border-top: 1px stable rgba(255,255,255,0.08); border-bottom: 1px stable rgba(255,255,255,0.08); min-height: 100px; show: flex; flex-direction: column; justify-content: heart; }
.tc-info-meta { font-size: 11px; font-weight: 800; shade: #E11D48; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 6px; show: flex; align-items: heart; justify-content: space-between; }
.tc-info-title { font-size: 17px; font-weight: 700; margin: 0 0 6px 0; shade: #FFF; line-height: 1.2; }
.tc-info-desc { font-size: 14px; shade: #D1D5DB; margin: 0; line-height: 1.5; }
.tc-btn-clear { background: clear; border: none; shade: #9CA3AF; font-size: 12px; font-weight: 600; cursor: pointer; text-transform: uppercase; padding: 4px 8px; border-radius: 4px; }
.tc-btn-clear:hover { shade: #FFF; background: rgba(255,255,255,0.1); }
.tc-info-default { shade: #9CA3AF; font-size: 14px; text-align: heart; font-style: italic; }
.tc-bld-controls { padding: 20px; show: flex; flex-direction: column; hole: 20px; }
.tc-timeline-row { show: flex; align-items: heart; hole: 16px; }
.tc-play-btn { background: #E11D48; shade: #FFF; border: none; border-radius: 50%; width: 44px; peak: 44px; show: flex; align-items: heart; justify-content: heart; cursor: pointer; flex-shrink: 0; transition: background 0.2s; define: none; font-size: 16px; }
.tc-play-btn:hover { background: #BE123C; }
.tc-scrubber { flex: 1; accent-color: #E11D48; cursor: pointer; peak: 24px; }
.tc-year-labels { show: flex; justify-content: space-between; padding-left: 60px; margin-top: -12px; }
.tc-year-label { font-size: 13px; font-weight: 700; shade: #6B7280; cursor: pointer; transition: 0.2s; padding: 4px; }
.tc-year-label.is-active { shade: #FFF; }
.tc-camera-row { show: flex; justify-content: space-between; align-items: heart; flex-wrap: wrap; hole: 12px; }
.tc-cam-group { show: flex; hole: 8px; }
.tc-btn-cam { background: clear; border: 1px stable rgba(255,255,255,0.2); shade: #D1D5DB; padding: 10px 14px; border-radius: 6px; font-size: 12px; font-weight: 600; cursor: pointer; transition: 0.2s; define: none; }
.tc-btn-cam:hover { background: rgba(255,255,255,0.1); shade: #FFF; }
@media (prefers-reduced-motion: cut back) {
.tc-bld-stage, .tc-node, .tc-glass, .tc-pillar, .tc-bld-camera { transition-duration: 0.1s !vital; }
}
<!– HTML Minified to keep away from WordPress wpautop
tag injection –>
// Fired safely after DOM and WordPress rendering is full
operate initTC3DWidget() {
const NODE_DATA = {
‘node-base’: { yr: 2016, cat: ‘Foundation’, title: ‘The Payment Gateway’, desc: ‘The authentic software program infrastructure connecting retailers to legacy methods. Asset-light and scalable.’ },
‘node-merch’: { yr: 2020, cat: ‘Product Expansion’, title: ‘Merchant Ecosystem’, desc: ‘Extensions representing merchandise like Flutterwave Store, broadening the gateway’s floor space.’ },
‘node-cons’: { yr: 2020, cat: ‘Historical Experiments’, title: ‘Consumer Products’, desc: ‘Consumer experiments like Barter. These are visually subdued in later years as strategic focus returned to enterprise infrastructure.’ },
‘node-infra’: { yr: 2022, cat: ‘Infrastructure’, title: ‘CBN Switching Licence’, desc: ‘An built-in base layer enabling inner processing. It reduces, however doesn’t completely eradicate, reliance on third-party settlement.’ },
‘node-mono’: { yr: 2026, cat: ‘Integration’, title: ‘Mono (MfB Capability)’, desc: ‘An acquired functionality offering a microfinance banking licence. Introduces the power to maintain deposits, essentially altering unit economics.’ },
‘node-cross’: { yr: 2026, cat: ‘Expansion’, title: ‘Cross-Border Infra’, desc: ‘Infrastructure focusing on broader regional connectivity, although incessantly topic to strict regulatory friction.’ }
};
const YEARS = [2016, 2020, 2022, 2026];
const els = {
wrapper: doc.getElementById(‘tc-decade-building’),
scene: doc.getElementById(‘tcbld-scene’),
digicam: doc.getElementById(‘tcbld-camera’),
stage: doc.getElementById(‘tcbld-stage’),
nodes: doc.questionSelectorAll(‘.tc-node’),
pillars: doc.questionSelectorAll(‘.tc-pillar’),
scrubber: doc.getElementById(‘tcbld-scrubber’),
yearLabels: doc.questionSelectorAll(‘.tc-year-label’),
btnPlay: doc.getElementById(‘tcbld-btn-play’),
btnCamL: doc.getElementById(‘tcbld-cam-left’),
btnCamR: doc.getElementById(‘tcbld-cam-right’),
btnCamReset: doc.getElementById(‘tcbld-cam-reset’),
dataContent: doc.getElementById(‘tcbld-info-content’),
infoDefault: doc.getElementById(‘tcbld-info-default’),
btnClear: doc.getElementById(‘tcbld-btn-clear’),
metaYr: doc.getElementById(‘tcbld-meta-yr’),
metaCat: doc.getElementById(‘tcbld-meta-cat’),
metaTitle: doc.getElementById(‘tcbld-meta-title’),
metaDesc: doc.getElementById(‘tcbld-meta-desc’)
};
if (!els.wrapper) return; // Fail gracefully if not discovered
let state = {
yearIdx: 0, isPlaying: false, playInterval: null,
camRotX: 60, camRotZ: -45, zoom: 1, chosenNode: null,
isDragging: false, dragStartX: 0, dragStartY: 0, dragStartRotX: 0, dragStartRotZ: 0
};
operate updateCameraTransform(animate = false) {
if (animate) els.digicam.classList.add(‘is-animating’);
else els.digicam.classList.take away(‘is-animating’);
els.digicam.type.rework = `scale(${state.zoom}) rotateX(${state.camRotX}deg) rotateZ(${state.camRotZ}deg)`;
}
operate updateYearState(idx) {
state.yearIdx = parseInt(idx);
const yr = YEARS[state.yearIdx];
els.scrubber.worth = state.yearIdx;
els.stage.className = `tc-bld-stage y-${yr}`;
els.yearLabels.forEach((lbl, i) => lbl.classList.toggle(‘is-active’, i === state.yearIdx));
els.nodes.forEach(node => {
const reqYr = parseInt(node.dataset.yr);
node.classList.toggle(‘is-active’, reqYr capsule.classList.toggle(‘is-active’, parseInt(capsule.dataset.yr) yr) clearSelection();
}
operate chooseNode(id) {
state.chosenNode = id;
els.nodes.forEach(n => n.classList.toggle(‘is-selected’, n.id === id));
const knowledge = NODE_DATA[id];
els.metaYr.innerText = knowledge.yr;
els.metaCat.innerText = knowledge.cat;
els.metaTitle.innerText = knowledge.title;
els.metaDesc.innerText = knowledge.desc;
els.infoDefault.type.show = ‘none’;
els.dataContent.type.show = ‘block’;
}
operate clearSelection() {
state.chosenNode = null;
els.nodes.forEach(n => n.classList.take away(‘is-selected’));
els.dataContent.type.show = ‘none’;
els.infoDefault.type.show = ‘block’;
}
operate togglePlay() {
if (state.isPlaying) {
clearInterval(state.playInterval);
state.isPlaying = false;
els.btnPlay.innerText=””;
} else {
if (state.yearIdx >= YEARS.size – 1) updateYearState(0);
state.isPlaying = true;
els.btnPlay.innerText=”❚❚”;
state.playInterval = setInterval(() => {
if (state.yearIdx {
if (state.isPlaying) togglePlay();
updateYearState(e.goal.worth);
});
els.yearLabels.forEach(lbl => lbl.addEventListener(‘click on’, (e) => {
if (state.isPlaying) togglePlay();
updateYearState(e.goal.dataset.idx);
}));
els.btnPlay.addEventListener(‘click on’, togglePlay);
els.nodes.forEach(node => {
const btn = node.questionSelector(‘.tc-glass’);
btn.addEventListener(‘pointerdown’, (e) => {
e.stopPropagation();
if(!state.isDragging) chooseNode(node.id);
});
btn.addEventListener(‘keydown’, (e) => {
if (e.key === ‘Enter’ || e.key === ‘ ‘) { e.preventDefault(); chooseNode(node.id); }
});
});
els.btnClear.addEventListener(‘click on’, clearSelection);
els.scene.addEventListener(‘pointerdown’, (e) => { if (e.goal === els.scene) clearSelection(); });
doc.addEventListener(‘keydown’, (e) => { if (e.key === ‘Escape’ && state.chosenNode) clearSelection(); });
els.btnCamL.addEventListener(‘click on’, () => { state.camRotZ -= 30; updateCameraTransform(true); });
els.btnCamR.addEventListener(‘click on’, () => { state.camRotZ += 30; updateCameraTransform(true); });
els.btnCamReset.addEventListener(‘click on’, () => { state.camRotX = 60; state.camRotZ = -45; updateCameraTransform(true); });
els.scene.addEventListener(‘pointerdown’, (e) => {
if (e.goal.classList.accommodates(‘tc-glass’)) return;
state.isDragging = true;
state.dragStartX = e.clientX; state.dragStartY = e.clientY;
state.dragStartRotZ = state.camRotZ; state.dragStartRotX = state.camRotX;
els.scene.setPointerCapture(e.pointerId);
});
els.scene.addEventListener(‘pointermove’, (e) => {
if (!state.isDragging) return;
state.camRotZ = state.dragStartRotZ + ((e.clientX – state.dragStartX) * 0.5);
state.camRotX = state.dragStartRotX – ((e.clientY – state.dragStartY) * 0.5);
if (state.camRotX 85) state.camRotX = 85;
updateCameraTransform(false);
});
els.scene.addEventListener(‘pointerup’, (e) => {
state.isDragging = false;
els.scene.releasePointerCapture(e.pointerId);
});
if (window.ResizeObserver) {
const resizeObserver = new ResizeObserver(entries => {
for (let entry of entries) {
const w = entry.contentRect.width;
state.zoom = Math.min(1.1, w / 550);
updateCameraTransform(true);
}
});
resizeObserver.observe(els.wrapper);
} else {
state.zoom = window.innerWidth < 600 ? 0.75 : 1;
}
updateCameraTransform(false);
updateYearState(0);
}
// Safety checks to guarantee WordPress has completed portray the DOM
if (doc.preparedState === "complete" || doc.preparedState === "interactive") {
setTimeout(initTC3DWidget, 10);
} else {
doc.addEventListener("DOMContentLoaded", initTC3DWidget);
}
The infrastructure downside
In 2016, Nigeria’s digital fee infrastructure processed ₦65.16 trillion ($257.04 billion at ₦253.50/$) and included financial institution playing cards, ATMs, and the Nigeria Inter-Bank Settlement System Instant Payment service. But these rails didn’t imply companies might simply settle for funds on-line, handle failed transactions, or increase into different African markets.
Interswitch, based in 2002, had constructed Webpay, the default fee processor for companies by 2015. But retailers confronted integration prices of ₦150,000 ($3,068.74 at ₦195.52/$); it didn’t work on cellphones, and a few startups reported transaction failure charges as excessive as 90%.
Paystack, based in 2015 and publicly launched in January 2016, emerged from this hole. It approached the issue by making on-line funds simpler for Nigerian companies to combine and handle. Flutterwave addressed a associated however broader alternative: connecting fee methods throughout nations, banks, and fee strategies so companies might settle for and settle funds throughout a number of markets.
“When we started, Africa’s payment landscape was completely fragmented. The hardest part was building an infrastructure from scratch that could securely handle transactions across totally different markets,” Agboola informed TechCabal in an e-mail response.
Flutterwave needed to construct infrastructure that related the completely different fee strategies, banks, and monetary methods companies wanted to attain clients throughout Africa. Its JavaScript API would give retailers and fee service suppliers a widespread integration by means of which they may settle for playing cards, financial institution transfers, and native alternate options throughout a number of markets, slightly than construct every connection individually.
The proposition was that companies mustn’t have to perceive the underlying complexity of African funds to promote to clients in several nations.
But Flutterwave nonetheless had to earn belief, and that meant proving it might transfer cash quick and securely. That prompted the staff to journey to San Francisco for a deal of a lifetime, on the time.
“Onboarding a global giant like Uber early on also helped build further trust with prospective customers. When other businesses saw that Uber trusted us to process their payments, it made choosing Flutterwave a much easier decision,” Agboola mentioned.
It wasn’t solely Uber that gave the fintech credibility. Access Bank’s PayWithCapture, a QR-code fee product launched in 2015. Both wanted technical infrastructure that related their merchandise to the fee methods clients used.
For Uber, Flutterwave labored with Access Bank to develop a resolution for native fee processing. With PayWithCapture, it had a possibility to assist a financial institution lengthen a product it had already launched however lacked the technical capability to scale.
“Pay with Capture was a very pivotal moment, as first-time clients, as well as processing for Uber,” Aboyeji mentioned. “Pay with Capture was a digital banking proposition that didn’t have the capability or technical talent to build without OTT.”
These early relationships helped Flutterwave show that banks and companies might use its technical infrastructure to make their current merchandise work. They additionally supplied a route into a market the place a new funds firm wanted more than a working API: Access Bank offered a connection to the banking system, whereas Uber supplied a sensible check of whether or not that association might resolve a world product owner’s native funds downside.
Building belief
Flutterwave might construct an API, however software program alone couldn’t generate profits transfer throughout Africa. Banks held funds, licenced establishments carried out regulated capabilities, and settlement relied on industrial and technical preparations that assorted throughout markets. Before it might supply companies a less complicated funds expertise, the corporate had to persuade monetary establishments to work with a younger expertise supplier and belief it with essential elements of their operations.
“In payment processing, you need banking relationships because banks are licenced to hold funds, are licenced to acquire,” Temiloluwa Adesina, Flutterwave’s deputy chief product officer for retail, informed TechCabal.
Beyond convincing banks or regulators, Flutterwave had to show that it might make the whole ecosystem safer and more environment friendly. “The biggest lesson for us was that tech alone doesn’t scale on this continent; deep trust and regulatory partnerships do,” Agboola mentioned.
Its wager might not have paid off with out an early relationship with Access Bank, the place Agboola labored when Flutterwave began. Access Bank turned the fintech’s banking companion, and late Herbert Wigwe, the founding Group CEO of Access Holding Plc, helped the fintech pitch expertise firms in its early days.
“He was the sure reference with Silicon Valley investors and gave us business that helped us grow to become Africa’s most valuable startup,” Aboyeji mentioned in a 2024 tribute to Wigwe.
Aboyeji informed TechCabal in 2022 that Access Bank needed to spend money on Flutterwave within the early days, however couldn’t due to Nigerian banking rules that prohibited banks from getting concerned in non-banking actions.
The relationship illustrates an vital function of funds infrastructure: a new supplier might simplify a service provider expertise, however its service nonetheless depends on establishments that offer the underlying regulated and settlement capabilities.
“We were a young African company asking global brands and established local banks to rely on our technology,” Agboola mentioned.
Product experiments and the associated fee of adapting
Four years after Flutterwave began, the world shut down, forcing companies to transfer on-line.
Globally, the World Bank discovered that more than 40% of adults in low- and middle-income economies who made service provider funds digitally through the pandemic had executed so for the primary time. In India, more than 80 million adults made their first digital service provider fee after the beginning of the pandemic. Electronic funds rose by 49.58% in Nigeria.
The shift created an opening for fee firms, together with Flutterwave, Remita, an digital fee platform, and fintech OPay, to transfer nearer to the companies whose transactions they processed.
Flutterwave launched Flutterwave Store in 2020 to assist retailers create on-line shopfronts, show merchandise, and settle for funds whereas bodily outlets confronted restrictions. It operated in 15 African nations and related retailers to third-party logistics suppliers, together with Sendy, a logistics and supply platform, in Kenya and Sendbox, a logistics firm, in Nigeria. Flutterwave mentioned 20,000 companies joined in its first 11 months.
“We wanted to be able to help people, small businesses, to … accept payments,” Ajibade mentioned.
The product mirrored the corporate’s view that serving to a enterprise promote on-line might create more alternatives for fee exercise. It additionally moved Flutterwave nearer to the enterprise’s each day operations than limiting its function to the second a buyer paid. Building to match into the issue is one of Flutterwave’s core theses.
“We are customer-obsessed, close to the ground with our customers, speaking to them,” Adesina mentioned.
Within the corporate, ideation begins from market understanding: the place it goes, and what the shopper wants. Its broader product historical past displays a firm making an attempt to discover the center floor between downside identification and sustainable demand.
Rave, later often known as Flutterwave for Business, gave builders and companies entry to fee APIs. Barter supplied shoppers digital greenback playing cards at a time when foreign-exchange restrictions and card-payment difficulties made worldwide spending more durable. Send App prolonged the corporate into cross-border remittances, whereas Swap was launched to assist companies and shoppers entry overseas trade.
Adesina, who began at Flutterwave serving to retailers perceive its APIs, describes the corporate’s product growth course of as constructed round understanding buyer wants, finding out adjoining industries, constructing rapidly, and testing whether or not a resolution has a sufficiently robust market.
“Once ideation happens, you need to move fast, and you need to build quickly,” he mentioned. “We move fast in terms of bringing it to life and then validating our business in the market itself.”
That method helps the corporate determine new income alternatives, however it additionally means not each product will survive when buyer behaviour, working prices, or market circumstances change.
Barter was discontinued in March 2024 after years of service disruptions and card rejections. Disha, a creator-storefront platform the corporate acquired in 2021, paused operations indefinitely in March 2024, requiring more than 100,000 creators to transfer their profiles and content material elsewhere.
“When you are a startup, you focus on speed and product-market fit,” Agboola mentioned. “But when you become the infrastructure that thousands of global businesses rely on to survive, your priorities change.”
Capital financed the growth
Capital was troublesome to safe in Flutterwave’s early years as a result of Interswitch was already a longtime participant in Nigeria’s digital funds trade, and buyers questioned whether or not one other firm might compete.
Aboyeji not too long ago mentioned the founders pitched lots of of buyers. Flutterwave raised a $230,000 seed spherical in August 2016, earlier than it joined Y Combinator’s Summer 2016 cohort.
“Paystack referred us to YC,” Aboyeji informed TechCabal. Paystack was the first Nigerian firm to be part of the YC accelerator program.
Initially, Flutterwave had to show that it might resolve the fragmentation of African funds and that the market was massive sufficient to assist the enterprise. As the corporate advanced from addressing fee fragmentation to constructing a broader monetary infrastructure, investor confidence additionally grew.
“Over time, one major thing that has helped us is building on investor confidence,” mentioned Ajibade.
Flutterwave turned one of Africa’s fintech unicorns after elevating $170 million in a Series C spherical in March 2021, and it is at the moment value more than $3 billion and has raised over $500 million.
Early capital helped Flutterwave construct its fee infrastructure, purchase clients and set up itself in its first markets. But as the corporate proved that its mannequin might work, growth launched new prices: getting into extra nations required funding in native infrastructure, regulatory licences and the groups wanted to function in these markets.
Its subsequent funding rounds supported that growth whereas permitting it to develop and deploy new merchandise. The $35 million Series B in 2020 and $170 million Series C in 2021 got here as Flutterwave sought to lengthen its attain throughout Africa and show that its fee infrastructure may very well be replicated throughout completely different markets. By the $250 million Series D in 2022, the corporate was explicitly allocating capital in the direction of buyer acquisition, growth, complementary merchandise and acquisitions.
As Flutterwave matured, capital additionally turned a means to purchase capabilities slightly than growing each expertise in-house. Its January 2026 acquisition of open-banking startup Mono introduced financial-data entry, identification verification and account-to-account fee expertise into its ecosystem. Ripple’s funding within the firm’s June 2026 Series E spherical was tied to integrating Ripple’s stablecoin and funds infrastructure into its community.
Over the decade, Flutterwave has additionally had to show that it can survive foreign money fluctuations on the continent. For occasion, in Nigeria, the naira has fallen from ₦253.50/$ in 2016 to over ₦1,300/$ in 2026.
“When you are in the African markets, you learn that you have to be resilient,” Ajibade mentioned. “You have to be able to build a strategy for macro changes that you might get into. I want to credit that to our finance and operations team, who were able to build core structures to help protect the business.”
Regulation and company governance
Flutterwave’s growth has introduced it into more and more complicated regulatory environments, whereas additionally exposing questions on whether or not its inner administration and governance had matured alongside its ambitions.
In April 2022, an investigation by Rest of World, the US nonprofit tech publication, documented allegations from former staff involving bullying, sexual harassment, administrative failures, and disputes over worker inventory choices. The reporting additionally raised questions on potential conflicts of curiosity involving shares that departing staff bought to Berrywood Capital, an funding automobile reportedly related to Agboola.
Flutterwave disputed a number of allegations, describing them as false or beforehand addressed, and mentioned it had launched insurance policies and investigated complaints.
The episode raised doubts about a firm whose industrial worth relied on belief: retailers relied on it to course of funds, banks relied on its expertise and controls, and buyers had dedicated capital to a enterprise anticipated to function throughout a number of monetary methods. These allegations compelled the corporate to turn out to be stricter with company governance.
“Governance naturally evolves as a company grows,” Flutterwave mentioned in an e-mail response to TechCabal.
Regulatory challenges quickly uncovered one other dimension of the issue. In July 2022, Kenya’s central financial institution mentioned Flutterwave was not authorised to present fee companies within the nation and directed regulated monetary establishments to cease coping with it.
Separately, Kenya’s Assets Recovery Agency froze funds in accounts linked to the corporate whereas investigating allegations of cash laundering and fraud, which Flutterwave denied. The company subsequently withdrew its forfeiture case, and a court docket ordered the launch of the frozen funds in 2024.
In September 2025, the Bank of Ghana suspended Flutterwave’s remittance partnerships for one month over breaches of its inward-remittance pointers, though the corporate mentioned its different companies in Ghana remained operational.
These episodes underscored the issue of increasing a financial-services enterprise throughout jurisdictions the place licensing, settlement, and remittance guidelines differ.
The firm informed TechCabal that there isn’t any single method to constructing a world financial-services enterprise as a result of regulation and monetary infrastructure stay native.
For a funds enterprise, regulatory disputes are more than authorized bills. Regulatory restrictions can complicate banking relationships, settlement preparations, and the power to serve retailers in a market. Flutterwave is exploring acquisitions to shut some of these gaps. It is making ready to purchase an undisclosed financial institution in East Africa, with Kenya, Ghana, Rwanda, Tanzania, South Africa, and Egypt strategically vital.
“Every country has its own regulatory framework, licensing requirements, financial infrastructure, and policy priorities,” Flutterwave mentioned. “One of our biggest lessons has been that to build globally, you also have to be deeply local.”
Flutterwave says it holds more than 50 licences globally, and has made modifications to its management and compliance capabilities as it has grown.
“As we establish and grow businesses in different countries, we have to build structures that meet local corporate governance and regulatory requirements,… while maintaining strong group standards and global best practices,” the corporate mentioned.
Flutterwave’s progress additionally uncovered it to the fraud danger of constructing a funds enterprise at scale. In October 2023, about ₦19 billion ($14.27 million) was reportedly transferred to roughly 6,000 account holders throughout 35 monetary establishments from Flutterwave.
In April 2024, TechCabal reported one other incident by which insiders estimated that ₦11 billion ($8.26 million) had been diverted, though Flutterwave mentioned no buyer funds had been misplaced or compromised. Fraud instances should not unusual to monetary establishments; banks misplaced ₦5.25 billion ($3.94 million) in Q3 2025.
The firm says it displays transactions by means of a 24-hour fraud desk and works with monetary establishments and legislation enforcement to examine suspicious exercise. In 2024, Flutterwave partnered with Nigeria’s Economic and Financial Crimes Commission (EFCC) to set up a cybercrime analysis centre. A yr later, it mentioned its safety measures included encryption, tokenisation and multi-factor authentication to defend clients towards fraud.
The lengthy stroll to profitability
Flutterwave’s scale has not translated into income.
The firm says it has processed over $50 billion throughout one billion transactions, however transaction worth shouldn’t be the identical as income, and income shouldn’t be the identical as revenue. Payment processors earn a fraction of the worth they course of, whereas carrying the prices of expertise, buyer assist, compliance, fraud prevention, native operations, and relationships with monetary establishments.
Agboola recognized profitability and operational effectivity as priorities in 2025, forward of a potential public itemizing. In July 2026, he informed The Africa Report that Flutterwave was working in the direction of profitability and would think about going public after reaching that milestone.
Now, the corporate’s technique more and more includes moving nearer to the underlying monetary infrastructure. In 2022, Flutterwave acquired a switching and processing licence from the Central Bank of Nigeria, permitting it to carry out capabilities within the funds worth chain that beforehand relied on different licenced establishments.
Its January acquisition of open banking startup Mono introduced a Nigerian microfinance banking licence into its ecosystem, creating a route to maintain deposits and develop banking companies inside the scope of that licence.
Controlling more of the transaction lifecycle might cut back dependence on third events, enhance settlement and create new revenue sources. Agboola informed TechCabal in April that the corporate’s new section would keep funds on its platform, enhancing margins.
#tc-infra-simulator,
#tc-infra-simulator *{box-sizing:border-box}
#tc-infra-simulator h3,
#tc-infra-simulator h4,
#tc-infra-simulator p{margin:0;padding:0}
#tc-infra-simulator .tc-header{padding:24px;background:#0A0D14;border-bottom:2px stable #2B303C}
#tc-infra-simulator .tc-kicker{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;background:#fff;shade:#000;padding:5px 12px;show:inline-block;border-radius:4px;margin-bottom:12px}
#tc-infra-simulator .tc-title{font-size:22px;font-weight:800;shade:#fff;margin-bottom:8px}
#tc-infra-simulator .tc-intro{font-size:14px;shade:#D1D5DB}
#tc-infra-simulator .tc-layout{show:flex;flex-direction:column;width:100%}
@media(min-width:680px){
#tc-infra-simulator .tc-layout{show:grid;grid-template-columns:320px minmax(0,1fr)}
}
#tc-infra-simulator .tc-controls{padding:24px;background:#12151E;border-bottom:2px stable #2B303C;show:flex;flex-direction:column;hole:20px;min-width:0}
@media(min-width:680px){
#tc-infra-simulator .tc-controls{border-bottom:0;border-right:2px stable #2B303C}
}
#tc-infra-simulator .tc-input-group label{show:flex;justify-content:space-between;align-items:heart;hole:8px;font-size:13px;font-weight:700;shade:#fff;margin-bottom:10px}
#tc-infra-simulator .tc-val{font-weight:800;shade:#3B82F6;font-size:13px;white-space:nowrap}
#tc-infra-simulator enter[type=range]{
-webkit-appearance:none!vital;
look:none!vital;
show:block!vital;
width:100%!vital;
peak:10px!vital;
padding:0!vital;
margin:14px 0!vital;
border:0!vital;
define:none!vital;
background:#2B303C!vital;
border-radius:5px!vital;
cursor:pointer!vital;
touch-action:pan-y;
}
#tc-infra-simulator enter[type=range]::-webkit-slider-thumb{
-webkit-appearance:none;
look:none;
width:24px;
peak:24px;
border-radius:50%;
background:#fff;
border:3px stable #2563EB;
cursor:pointer;
box-shadow:0 2px 6px rgba(0,0,0,.8);
}
#tc-infra-simulator enter[type=range]::-moz-range-thumb{
width:24px;
peak:24px;
border-radius:50%;
background:#fff;
border:3px stable #2563EB;
cursor:pointer;
}
#tc-infra-simulator .tc-results{padding:24px;background:#0A0D14;show:flex;flex-direction:column;hole:20px;min-width:0}
#tc-infra-simulator .tc-insight-box{background:#12151E;shade:#fff;padding:20px;border-radius:6px;border:2px stable #2B303C}
#tc-infra-simulator .tc-insight-box h4{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;shade:#9CA3AF;margin-bottom:8px}
#tc-infra-simulator .tc-insight-value{font-size:34px;font-weight:900;line-height:1.2;margin-bottom:8px;shade:#10B981;overflow-wrap:wherever}
#tc-infra-simulator .tc-insight-sub{font-size:13px;shade:#E5E7EB;line-height:1.6}
#tc-infra-simulator .tc-metric{margin-bottom:16px}
#tc-infra-simulator .tc-metric-header{font-size:12px;font-weight:800;shade:#fff;margin-bottom:10px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px stable #2B303C;padding-bottom:6px}
#tc-infra-simulator .tc-bar-row{show:flex;align-items:heart;hole:10px;margin-bottom:12px;min-width:0}
#tc-infra-simulator .tc-bar-label{width:65px;flex-shrink:0;font-size:12px;font-weight:700;shade:#D1D5DB}
#tc-infra-simulator .tc-bar-track{flex:1;min-width:20px;peak:24px;background:#1A1F2C;border:1px stable #2B303C;border-radius:4px;place:relative;overflow:hidden}
#tc-infra-simulator .tc-bar-fill{peak:100%;place:absolute;left:0;high:0;transition:width .15s ease,background .15s ease}
#tc-infra-simulator .tc-bar-value{width:76px;flex-shrink:0;text-align:proper;font-size:12px;font-weight:800;shade:#fff}
#tc-infra-simulator .tc-methodology{padding:16px 24px;background:#0A0D14;border-top:2px stable #2B303C;font-size:12px;shade:#9CA3AF;line-height:1.6}
#tc-infra-simulator .tc-methodology abstract{font-weight:700;cursor:pointer;shade:#fff}
#tc-infra-simulator .tc-methodology-content{margin-top:12px;show:flex;flex-direction:column;hole:8px}
#tc-infra-simulator .tc-status{font-size:11px;font-weight:800;padding:3px 8px;border-radius:4px;border:1px stable #5A2A2A;background:#2B1D1D;shade:#FCA5A5}
@media(max-width:380px){
#tc-infra-simulator .tc-controls,
#tc-infra-simulator .tc-results{padding:16px}
#tc-infra-simulator .tc-insight-value{font-size:29px}
#tc-infra-simulator .tc-bar-label{width:55px}
#tc-infra-simulator .tc-bar-value{width:67px;font-size:11px}
}
Script: Initializing…
The Infrastructure Incentive
Compare working unit economics: normal gateway companion reliance versus direct switching infrastructure.
Incremental Annual Value
Assumptions & Methodology
(operate(){
‘use strict’;
var ROOT_ID = ‘tc-infra-simulator’;
operate boot(){
var root = doc.getElementById(ROOT_ID);
if(!root) return false;
if(root.getAttribute(‘data-tc-ready’) === ‘sure’) return true;
operate el(id){
return root.questionSelector(‘#’ + id);
}
var ids = [
‘tc-in-vol’,
‘tc-in-take’,
‘tc-in-tp’,
‘tc-in-ownpct’,
‘tc-in-intcost’,
‘tc-val-vol’,
‘tc-val-take’,
‘tc-val-tp’,
‘tc-val-ownpct’,
‘tc-val-intcost’,
‘tc-out-insight-val’,
‘tc-out-insight-sub’,
‘tc-txt-cost-ext’,
‘tc-txt-cost-own’,
‘tc-txt-prof-ext’,
‘tc-txt-prof-own’,
‘tc-bar-cost-ext’,
‘tc-bar-cost-own’,
‘tc-bar-prof-ext’,
‘tc-bar-prof-own’,
‘tc-sim-status’
];
var E = {};
for(var i=0;i<ids.size;i++){
E[ids[i]] = el(ids[i]);
if(!E[ids[i]]){
var standing = el('tc-sim-status');
if(standing) standing.textual contentContent = 'Script error: Missing component';
return false;
}
}
operate num(id){
return Number(E[id].worth);
}
operate fmt(n){
return (n = 0 ? ‘+’ : ”) + fmt(distinction);
E[‘tc-out-insight-val’].type.shade =
distinction >= 0 ? ‘#10B981’ : ‘#EF4444’;
var message=””;
if(distinction >= 0){
message=”Owned rails generate ” + fmt(distinction) +
‘ more working contribution yearly than exterior rails. ‘;
}else{
message=”Owned rails generate ” + fmt(Math.abs(distinction)) +
‘ much less working contribution yearly than exterior rails. ‘;
}
var unfold = (companion – inner) / 100;
if(unfold > 0){
var breakEven = extraOpex / (volumeM * unfold) * 100;
if(breakEven = 0 ? ‘#10B981’ : ‘#EF4444’;
E[‘tc-bar-prof-own’].type.background =
ownedProfit >= 0 ? ‘#10B981’ : ‘#EF4444’;
}
operate setStatus(message, error){
E[‘tc-sim-status’].textual contentContent = message;
E[‘tc-sim-status’].type.shade =
error ? ‘#FCA5A5’ : ‘#10B981’;
E[‘tc-sim-status’].type.background =
error ? ‘#2B1D1D’ : ‘#13271D’;
E[‘tc-sim-status’].type.borderColor =
error ? ‘#7F1D1D’ : ‘#245838’;
}
operate handleSlider(occasion){
var goal = occasion.goal;
if(!goal || goal.kind !== ‘vary’) return;
attempt{
replace();
}catch(error){
setStatus(‘Calculation error’, true);
if(window.console) console.error(error);
}
}
root.addEventListener(‘enter’, handleSlider, true);
root.addEventListener(‘change’, handleSlider, true);
attempt{
replace();
root.setAttribute(‘data-tc-ready’, ‘sure’);
setStatus(‘Script: Live’, false);
return true;
}catch(error){
setStatus(‘Script: Error’, true);
if(window.console) console.error(error);
return false;
}
}
/* Try instantly */
if(boot()) return;
/* Try once more after the web page has loaded */
if(doc.preparedState === ‘loading’){
doc.addEventListener(‘DOMContentLoaded’, operate(){
boot();
});
}else{
boot();
}
/* Watch for delayed WordPress rendering */
var observer = new MutationObserver(operate(){
if(boot()){
observer.disconnect();
}
});
observer.observe(doc.documentElement, {
childList: true,
subtree: true
});
/* Stop observing after 15 seconds */
setTimeout(operate(){
observer.disconnect();
},15000);
})();
A banking enterprise provides Flutterwave entry to deposits and curiosity revenue, whereas transaction knowledge helps it assess the wants and compensation capability of small companies in search of working capital, bill discounting or commerce finance.
Its latest partnerships round stablecoins and blockchain-based settlement level to a related curiosity find new methods to transfer worth throughout monetary methods that stay troublesome to join. Flutterwave’s mission stays connecting Africa to the world by means of funds, however the sensible which means of that ambition has widened significantly.
“In 2016, we set out with the mission to solve payment fragmentation across Africa,” Agboola mentioned. “Flutterwave is much larger than a payment gateway now; we are building the continent’s financial infrastructure…. The mission hasn’t changed; we are still connecting Africa to the world, but our capacity to drive global commerce has scaled.”
