-
-
MoneyUnify
-
A dashboard that keeps you and your team in live sync of all operations
-
Connect over 14+ payment processors cover over 204 countries worldwide
-
Ai agents and MCPs resources to connect other Ai agents and tools
-
Chat to sent money across countries in the world, watch everything and track reversals with history tracking
-
Track all transactions in beautiful visuals
-
The Engine and Infrastructure Technology Behind Payment Apps and E-commerce Platforms.
Inspiration
I'm from Zambia, where almost everyone I know keeps their money on a phone: Airtel Money, MTN MoMo, Zamtel Kwacha and others. It's the same across most of Africa, which is moving to mobile money fast. Family abroad usually has PayPal or native bank accounts with cards. Sending money home from London or Dallas still means a transfer counter, a cash agent or a long chain of fees, and the World Bank's Remittance Prices Worldwide data has Sub-Saharan Africa as the most expensive region in the world to send money to.
Mobile money moved more than $2 trillion in 2025, and $1.4 trillion of that was in Sub-Saharan Africa. Of the 593 million mobile-money wallets used every month worldwide, 347 million are in Africa (GSMA, State of the Industry Report on Mobile Money 2026). PayPal, meanwhile, works in 201 markets. Both sides have the money; there just isn't a simple way for it to cross.
The reason mobile money won is reach. Banks and most digital payments need a branch, a card or an internet connection, and many villages have none of those. Mobile money works on a basic phone over USSD and SMS, anywhere there's a mobile signal. A trader at a rural market can be paid, and spend that money, without ever going online. If PayPal could pay into those wallets, someone in London could pay a farmer or a market trader in a remote village in seconds, and the trader could put that money straight to work.
Part of the answer already existed. MoneyUnify is a payment switch that puts Africa's mobile-money operators behind one API. I started it a while back, it's been used in production, and more than 1,000 developers have built products on it without having to integrate each operator themselves. When this hackathon came up, the obvious question was whether the same switch could take PayPal on one end.
What it does
MoneyUnify-PayPal lets a business take a PayPal payment from anywhere and pay it out to a mobile-money wallet in local currency. The business integrates once, through the API, a pay link, the Send Money page, or an AI agent.
A typical transfer goes like this:
- The sender pays with PayPal's own button (JS SDK v6), through PayPal checkout, or as a guest with a debit or credit card.
- If the business has PayPal FX as a Service turned on, the quote uses PayPal's live rate. MoneyUnify locks it for ten minutes and pass PayPal's rate ID on the order, so the amount the recipient was promised is the amount they get.
- The switch pays out to the wallet through pawaPay, Lenco, and/or other payment providers already existing in Africa and are built into MoneyUnify already. If one provider clearly refuses, it tries the next. If the answer is unclear, it waits and checks instead of retrying, because paying someone twice is worse than being slow.
- If the money can't be delivered, the PayPal payment is refunded on its own. The sender, the recipient and the merchant each get one email when the money lands or comes back.
You can also just type "send K500 to my brother on 0966554433" into the Send Money assistant. It works out the quote, asks you to approve it, and gives you a PayPal link. It only uses the amount and number you typed. It can look up a payment in PayPal through PayPal's Agent Toolkit, but it only has the toolkit's read-only tools, so it can't move or refund money itself. Other agents and apps can use the switch through MoneyUnify's MCP servers: one for operators, and one for each merchant.
Today that covers payers in PayPal's 201 markets and mobile-money payouts in 32 countries, through 14 providers and 24 currencies: 204 countries in all, made possible now through the MoneyUnify Switch.
Who it's for
I see three kinds of businesses running it:
- Aggregators and payment providers, who can offer their merchants "get paid by PayPal into your wallet" as a product.
- Mobile-money operators and banks, who get inbound money from abroad into their wallets.
- E-commerce shops, freelancers and small sellers, who can finally sell to customers overseas.
MoneyUnify is the software infrastructure engine. The company that deploys it uses its own PayPal account, its own provider contracts and its own licences. That's what makes it easy to spread: anyone with those can run a copy for their market.
How it's different from remittance apps Wise, Remitly and Chipper Cash are apps. Each one runs its own payment engine behind the scenes: the part that takes the money in, converts it, routes it to the right operator and pays it out. That engine is what makes them work, and each company built it privately, at great cost, for itself.
MoneyUnify is that engine, and it's open to anyone. A business doesn't have to build one to move money across borders. It can deploy MoneyUnify for its own internal payments, or run it as a service and become a payment provider (a DFSP) for other businesses and their customers, under its own brand and licences. The infrastructure that only the big remittance companies could afford is now available to a fintech in Lusaka, a mobile-money operator in Accra or a marketplace in Nairobi, or a small startup in the US that plans to embark on a cross-border payments business.
PayPal benefits too. Every one of these payments goes through PayPal checkout and, with FX as a Service, PayPal's exchange rate. It's a route into the biggest mobile-money market in the world that PayPal doesn't have to build itself.
How I built it
The engine is Laravel 13 on PHP 8.5. Every provider, whether it's PayPal, pawaPay, Flutterwave, Lenco, or one of the original MoneyUnify operator drivers, is a driver behind the same switch. Adding a country usually means adding a driver, not changing the flow.
On the PayPal side it uses Orders v2, the JS SDK v6 button, guest card checkout, FX as a Service, refunds, webhooks and the Agent Toolkit (through PayPal's official MCP server). Payouts, for example, use pawaPay's v2 API, which also predicts the network from the phone number, just like it does with all existing drivers. The assistant uses the Laravel AI SDK, and the MCP servers use Laravel MCP. The front end is Inertia and React. The receipts are modelled on PayPal's own and show each step as it happens.
There are over 640 automated tests. Some of them check that the OpenAPI spec still matches the real routes and responses, because docs that drift away from the code are worse than no docs.
Challenges I ran into
The hardest one was double payouts. In a real sandbox run, a payout request got no answer, and the first version marked it failed after three seconds. If the payout had gone through anyway, a retry would have paid twice. Now a payout the provider has acknowledged is never marked failed, and one that got no answer only fails after two minutes.
Keeping the rate consistent was the second. The quote, the PayPal order and the payout all have to agree on one number. FX as a Service solved it, because the rate ID moves with the order and PayPal holds the rate.
Smaller things took time too. PayPal's hosted MCP endpoint returned 404 on the sandbox, so MoneyUnify runs PayPal's MCP package locally. The SDK button got stuck when a browser blocked PayPal's window. pawaPay's v2 API changed the request shape and how statuses come back.
Accomplishments that I'm proud of
A sandbox PayPal payment, approved in PayPal's own window, landed in a mobile-money wallet through pawaPay (a provider driver in our example case) in about six seconds. I also forced a delivery to fail and watched the refund go back through PayPal by itself, with every ledger entry in place. Seeing both happen end to end, with real APIs and not mocks, was the moment it felt real.
What I learned
Most of the work in payments is about the edge cases: an unknown status, a quote that expired, a popup that never opened. Most of the build time went into those, more than the happy path, and they're the part most worth a reviewer's look.
What's next for MoneyUnify-PayPal
First, bringing the PayPal connection to the developers already using MoneyUnify, and to aggregators and operators who can run it under their own licences. After that, more countries and operators, and payments in the other direction, from mobile money out to PayPal. There will also be SDKs generated from the OpenAPI spec, so people can integrate in their own language (I am already building the SDKs during this hackathon and beyond the hackathon).
MoneyUnify started by getting Africa's mobile-money networks to work together. Adding PayPal connects them to the rest of the world. The aim is for it to become the shared, open layer that payment interoperability across Africa is built on.