momofi
MoMoFi is a decentralized settlement rail that bridges the gap between Web3 stablecoins and traditional banking/mobile money networks in Africa.
What it is
MoMoFi: Seamless Stablecoin to Mobile Money Settlement
MoMoFi is a decentralized settlement rail that bridges the gap between Web3 stablecoins and traditional mobile money networks. Specifically, it enables users to seamlessly convert USDC directly into local fiat currency (GHS) deposited straight into an MTN Mobile Money account.
It provides a buttery-smooth, frictionless off-ramp experience that feels less like trading crypto and more like sending a standard digital remittance.
MoMoFi addresses the massive hurdle of Web3 adoption and off-ramping in emerging markets, particularly in Africa.
- The Crypto Complexity Barrier: To use crypto today, the average user has to navigate complex centralized exchanges, pass rigorous KYC for simple transactions, manage seed phrases, and understand network fees. This alienates millions of potential users.
- Friction in Liquidity: For crypto to be truly useful as digital cash, it must be easily spendable. Traditional off-ramps take days and charge high fees.
- The Mobile Money Reality: In regions like Sub-Saharan Africa, Mobile Money (like MTN MoMo) is the dominant financial infrastructure—far outpacing traditional bank accounts. Hundreds of millions of people rely on their phone numbers as their bank accounts.
MoMoFi's Solution: We are building the infrastructure to onboard the next 1 billion users by meeting them exactly where they are. By bridging stablecoins directly to MTN Mobile Money, users can appreciate the speed, borderless nature, and efficiency of crypto, while interacting with the mobile money interfaces they already trust and use daily.
How it Works
MoMoFi leverages cutting-edge infrastructure to ensure secure, verifiable, and instant cross-border settlements without compromising user privacy. The architecture is split into three main pillars:
The Frontend (Next.js + Thirdweb)
The user experience begins on our web application. We utilize Thirdweb to provide a seamless, native wallet connection experience (supporting MetaMask, Coinbase Wallet, etc.) on the Base Sepolia network. A user simply inputs the amount of USDC they want to send and the recipient's phone number, and confirms the transaction.The On-Chain Settlement Engine (Solidity + Foundry)
When the user submits the transaction, our MoMoSettlement.sol smart contract takes custody of the USDC.
Privacy First: To protect user privacy, the smart contract never stores the raw phone number. Instead, it only records a bytes32 phoneHash.
Upon receiving the funds, the contract emits a TransferRequested event to the blockchain, signaling that funds are ready for off-ramping.Chainlink CRE & Confidential HTTP (The Bridge)
This is where the magic happens. We deeply integrate Chainlink's Custom Runtime Environment (CRE) to securely connect on-chain events to the off-chain MTN banking APIs.
Event-Driven Execution: The CRE workflow continuously listens to the Base Sepolia network. When it detects the
TransferRequested event, it springs into action.
Intent Resolution: The workflow quietly queries our backend API to securely resolve the on-chain phoneHash back to the actual phone number (MSISDN). It also fetches the real-time USD/GHS exchange rate.
Confidential HTTP: To actually send the money via MTN, we must authenticate with their API. Using Chainlink's ConfidentialHTTPClient and DON Secret Vaults, the decentralized oracle nodes authenticate with the MTN Mobile Money API, validate the recipient, and trigger the fiat disbursement—all without ever exposing our sensitive MTN API Keys on-chain.
Cryptographic Finality (The Proxy Pattern): Once the MTN API confirms the fiat has been sent, the Chainlink Forwarder signs a cryptographic report and sends it to our MoMoSettlementProxy contract. The proxy verifies the signature and updates the logic contract, officially marking the transaction as settled with the exact GHS amount and FX rate used.
Links
Created by
- Obed Kwasi Somuah