Six MAJORITY members in a portrait grid behind a liquid-glass MPay wordmark

Mpay: The Future of Global Payments

2025

End-to-end design of MAJORITY* Pay, built from zero to replace Zelle after they restricted fintech access. What started as a domestic peer-to-peer payment feature evolved into a global, borderless, instant crypto-payment ecosystem.

*MAJORITY is an all-in-one mobile banking membership built to give migrants and international communities accessible banking, low-cost money transfers, and affordable global communication.

Key decisions along the way

Zelle was a major part of how money came into MAJORITY. Replacing it meant solving both halves, money in and money out, on a deadline set by someone else.

Money in first, then money out. Payment requests to non-members shipped first, so members could keep getting paid. Paying anyone followed, built into the MPay flow members already knew: picking a contact who isn’t a member now lets you pay them, instead of showing a referral screen.

Speed over completeness, on purpose. To launch before Zelle shut down, the first version let people create payment links but not cancel them. Since funds were held until a link was claimed, links expired after 24 hours so money was never stuck for long. Cancelling came in the next release, and the expiry could be relaxed.

Small frictions, removed. Contacts saved without a country code didn’t show up as MPay options. The app now shows every contact, asks for the missing prefix once, and offers to fix the number in the address book.

One place for getting paid. “Pay anyone” and “Payment request” had grown up as separate features in different parts of the app. They were brought together in one Payment Hub with a personal QR code and link, and every request, sent or received, in one list.

Global without new rules to learn. Going global meant four payment scenarios between US members, global members and people without an account. Each looks like a normal MPay. When a payment becomes an invite, the sender is told up front, and the link gives the recipient five days to join. Payments from the US to global members are remittances behind the scenes, so the exchange rate is shown, and the terms only appear the first time.

MPay send flow: enter recipient, amount and message, then the Payment sent screen

Flow

Full MPay send flow across eleven screens, from MPay hub to transaction details

Phase 1: Building the Foundation

The challenge: How do you replace a household name like Zelle without losing user trust?

This feature didn't exist in the app before, so I was starting from zero. I worked with the banking team to map the happy and unhappy paths, making sure the design gave our existing users a way to move money with the same trust and ease they were used to. That meant designing for continuity first: the goal was to make people keep sending money without losing the confidence they already had. Familiar first, then generous, became the idea behind the whole product.

Requirements were clear, and the timeline was tight: get to market fast. I focused on getting the UX right, benchmarked against products already on the market, and brought forward a few directions for stakeholders to react to rather than over-polishing one option upfront. Once we landed on a direction, I moved into visual design and worked with the product marketing lead on communication guidelines, figuring out how we'd talk about this new feature without alarming a user base that was losing a service they trusted.

A-side

A-side: requesting money with a payment link and QR code. B-side: the recipient pays on the web with a debit card

Phase 2: Grow It

MPay only worked if both sender and recipient were members, which capped the addressable network from day one. The business wanted a “Pay Everyone” feature: send money to any phone number, and the recipient claims it through a Visa-integrated website with no app download, for a small fee. We paired this with dynamic QR codes and personalized payment links, turning ordinary transactions into social referrals.

The idea was that every payment to a non-member could also work as an acquisition moment, not just a transaction. So the claim flow needed to feel like unwrapping a gift, not hitting a paywall. Users should feel "I got money" before they're asked to pay a fee or download the app.

This also pushed the design beyond the app for the first time. Since non-members had no app to open, I designed a full web experience for claiming and sending payments, extending the product outside its original in-app boundaries.

Paying a non-member: review payment, share sign-up link and the message they receive

Phase 3: Global Scale + Crypto Integration

To scale internationally, we integrated Global Wallets, letting users in selected countries hold a dollar balance (see Global Wallet). The core problem was merging traditional banking, or fiat, with modern settlement, or crypto, without asking the average user to understand either. Most users don't want to think about currency mechanics — they just want to know their money is safe and it'll arrive. This moved the feature from a peer-to-peer replacement into a global remittance rail.

Full flow

Map of every MPay flow: hub, pay, request, pay everyone and claim

Early results

Early estimates since launch.

79–93%
of members who refer someone each month are MPay users
~70%
of members who regularly send and receive with MPay are still active after 15 months, compared with roughly 60–74% of members who never use it after 10 months
110–267
payment-link payments a day, about $266k a week, from a feature that launched to 1,300 users