The business of wallets

Patrick McKenzie (patio11)
The business of wallets

One of the best series of credit card commercials was the now-classic Capital One “What’s in your wallet?”, which reimagined the user as either an observer of or participant in family-friendly Viking raids. That always felt a bit on the nose for me given Capital One’s traditional market focus, but be that as it may, it’s one of my strongest associations with the word “wallet.”

Many of my contemporaries and younger users no longer carry a physical leather or plastic wallet, to hold their identification, cards, and cash. All of these either live directly on their cell phone or, in some cases, hang out in its case. But industry saw that transition coming a long time ago, and vied to get the most valuable bits about money onto electronic systems in an enduring manner. It called the customer-presenting elements of those systems “electronic wallets”, which quickly got shortened to “wallets.” Usage of this term has bounced around over the years as various product teams have tried to one-up their competitors or emphasize that the thing they are doing is merely wallet-adjacent or a superset of wallet functionality. Be that as it may, it’s useful to look around the world and say “Yeah, someone definitely pitched that as a wallet.”

In 2024, I feel I have to add a clarification that a while ago the crypto folks repurposed the word “wallet” to mean “a collection of private keys controlled by a single entity” and then “the software artifact which, given an instruction to move money from A to B, would assemble that money from separately kept accounts corresponding to a list of private keys and send the relevant crypto network a candidate transaction for inclusion in the blockchain that would eventually move money from A to B.” These are not the sorts of wallets under discussion. For crypto enthusiasts, I’ll mention that it is instructive to contrast how crypto wallets (definition #2) make money versus how these wallets make money.

One more disclaimer: I previously worked at, and am currently an advisor to, Stripe. Stripe does not necessarily endorse what I write in my personal spaces. Stripe also has a product (Link) which looks quite a bit like a wallet if you squint a bit.

The big question about wallets

Frequently in finance and the technology surrounding it, relatively small questions swing huge doors about e.g. regulatory and partner complexity for bringing something to market. The small question with large implications about wallets is “Can it hold a balance of actual money?” If it holds actual money, that starts looking to regulators an awful lot like a deposit product.

Regulators strongly prefer that deposits stay within the regulated banking sector. The single largest reason is that they’re worried that households’ immediately accessible stored funds stay safe and accessible. A major follow-up reason, less understood by non-specialists, is that regulated banks are bound to a long list of consumer protection items on the transaction level, not the institution level. A lot of the abuse in the economy happens in $50 and $5,000 increments, rather than multi-billion dollar increments. Regulators sleep happier knowing that this abuse happens at companies with teams of operators standing. Those operators will groan and chalk a disputed transaction, instance of fraud, or glitch in the matrix up to the operational losses budget rather than sticking a user with it.

Wallets show up early in the life of the Internet

The granddaddy of wallets was Paypal. In the early days of Internet commerce, nearly 30 years ago, many users were askance about typing their credit card details online. (In some countries, this would have been their banking details. The physical capability to pay with banking details lagged cards so hard in places like the U.S. and Japan that online commerce became synonymous with card use early. This persisted for decades, though it is no longer strictly true.)

Younger users may not appreciate this, but there were front-page-of-the-newspaper (... newspapers used to have paper pages, one of them was considered most important, it was a different time…) stories that scared large parts of the population that if you typed your credit card number into any keyboard it would be stolen by hackers. There was a purported raft of fake e-commerce sites where bad guys would spend millions of dollars to create convincing facsimiles of real e-commerce sites, just to steal your credit card details. This was probably never actually a major threat by percentage of all stolen cards, not when these articles were written or afterwards, but this would not be the first or last time that the media convinced itself of an untruth and then was unable to find an industry insider to leak them a SQL query dispelling their fantasies. (The largest source of purloined credit card information is scaled breaches of card issuers or companies that were legitimately presented hundreds of thousands or millions of cards in commerce. Organized crime does not outscale capitalism; the threat is when it gets to piggyback illegitimately on capitalism.)

And so that was the initial value proposition of Paypal: convey money from your own payment instruments to others on the Internet (by volume, mostly eBay auction sellers) without needing to show those potential devious hackers your actual credit card number. That way, your exposure was upper-bounded at the single transaction in progress, and hopefully Paypal or your bank could intervene if something went wrong.

But then the eBay seller ended up with money… and what were they to do with it?

Stocks, flows, and whatever the heck a wallet is

There are classically two ways to make money in financial product innovation: you charge the customer for stocks, an ongoing and often percentage-based fee to custody their assets for an arbitrarily long time, or you charge them for flows, a per-instance and sometimes scaling-with-size fee on transactions specifically. Very frequently, from the perspective of a single user, stocks are priced and flows are free, or vice versa. In the basic bank account, stocks are priced (via the interest rate spread on deposits) but transactions are free or close to it. In credit card processing for businesses, stocks are free-ish but flows (incoming transactions from customers) are priced.

So do wallets with embedded cash make money from stocks or flows? Yes.

The enduring genius of Paypal’s wallet money was that moving money into Paypal’s ecosystem cost a substantial amount of money, via card interchange. Paypal would try to set their pricing, historically about 2.9% plus about 30 cents, such that it was above most interchange fees they’d eat moving money into the system. Then they would strongly encourage users to keep that balance within PayPal. This was natural for many casual eBay sellers: they were buyers as well, rather than being professional antique dealers, and leaving their Internet money somewhere on the Internet until they next needed money on the Internet worked out fine.

When a customer did the next transaction, paying from their Paypal balance to another Paypal user, the money moved internally at the speed and cost of a database transaction: approximately instantaneously and too-cheap-to-meter. And then Paypal would try, with varying levels of success, to charge the full 2.9% plus 30 cents, this time making 290 bps of margin rather than 80-120 bps or so of margin.

Supercharging the margin possibilities by disintermediating the card ecosystems is the primary economic advantage of wallets capable of holding balances. I bolded that for emphasis because non-specialists routinely assume that the thing that looks like a bank deposit, and might actually be a bank deposit under the hood, must earn revenue in the same way that bank deposits earn revenue, via net interest margin. It does and in high-interest environments, like the one we’re currently living in (at least in the U.S.), this is lucrative. Paypal earned nearly $500 million in interest on customer balances last year, per their 2023 annual report. Most of that is very high margin revenue, but it is not the ballgame. The real prize is having vastly better economics on the transactions.

It’s easy to see this when you zoom into the economics of a single account. Paypal claims accounts on average have about 40 transactions per year. I think, ahem, that that includes some strategic ambiguity between personal and corporate accounts, but let’s assume a typical consumer might carry $200 in balance and do 10 transactions each about $40 per year. So that’s something like $10 of margin from net interest and either about, oh, $1 of margin from transactions if transactions are funded with the most expensive credit cards or about $15 of transaction margin if they’re just repeatedly funded by the Paypal balance.

And thus a subtlety: how do you do $400 in transactions out of a $200 balance without extending credit? You convince the consumer to let you top up their balance via an ACH pull or similar method, which (unlike card transactions) is very close to free.

What does an ACH pull cost?

The cost of an ACH pull… depends on a lot of things, like your negotiating savvy and volume. But if you were to guess “maybe it costs 5 cents when you’re buying hundreds of millions of them”, you would be in the ballpark.

If you quickly check what your payment processor of choice charges businesses to do their own ACH pulls, you will get quoted a number closer to e.g. 30 cents. This should not surprise you; payment providers are in the business of earning margin on underlying payment rails in the same way that Coca Cola is in the business of earning margin on combinations of water, carbon dioxide, and corn derivatives. You can’t just pay Coke for the corn and call it a day. Coke also structurally gets much better prices on corn than you do, because you buy a few ears of corn from the supermarket and Coke buys the agricultural output of Iowa.

Many Bits about Money readers live in nations where interbank transfers do not go over ACH rails and so mea maxima culpa for the above provincialism. In your nation, as well, interbank transfers are broadly speaking much less expensive than most card transactions.

… Unless you live in Japan, in which case your friendly local fintech product innovators could really talk your ear off about shenanigans to decrease their money movement costs to support wallet operations. One example: “If it costs almost 200 yen to move money between banks but moving money inside a single bank is much closer to free, could we not simply establish a bank account at the top ten banks or so, covering more than 80% of our transaction volume, and then move money between our own corporate accounts daily at relatively low one-off cost then settle consumer transactions via same-bank close-to-free ledger transactions?” Which would be a somewhat sharp-elbowed thing for a salaryman to do to his bank.

Extensions on the basic wallet model

So that describes the basic business of a wallet with cash management: move money into the ecosystem at high cost to the wallet provider, move it within the ecosystem at nearly zero cost to the wallet provider, move it out of the ecosystem at very low costs, and charge customers primarily for each instance of moving money.

After you’ve been doing this for a few years, your product teams will start to clamor that they have some attractive ideas which will make your wallet stickier with users, encourage your best customers to move more of their transactions to your wallet, and decrease your payment costs. They’ll also sometimes make you incidental revenue.

What’s in your wallet? A new debit card!

The first option is going to be making a debit card backed by the wallet balance, with the card issued by a banking partner that (in the U.S.) is certain to be a Durbin-exempt institution. This is an obvious no-brainer, your product team will tell you. Currently, when your users want to get money out of the ecosystem to e.g. their bank accounts, you pay money. Why not earn money instead? Get a co-branded debit card offering and your banking partner will provide you a revenue share on every transaction out. (How much is something of a trade secret, but if you were thinking somewhere in the 100 bps ballpark, you’d be close enough to interview as a PM at a fintech company.)

Cash App is, if you squint, a wallet. Block product managers would probably heavily dispute this characterization and say, truthfully, that their core user feels like they’re using Cash App rather than using their linked Bank of America debit card when they are paying with Cash App. But economically, it looks an awful lot like a wallet. And Cash App has morally speaking a debit card (currently described as a prepaid card, the distinction between which doubtlessly caused many, many meetings at Block and Sutton Bank) which Cash App users can use anywhere in the economy that doesn’t take Cash App directly. Each time they do, Sutton Bank earns a swipe fee, a portion of which becomes Cash App transaction revenue you could read about in Block’s 2023 annual report. You can reasonably assume these payments are a very large chunk of their $498 million in revenue in that segment.

Monetizing payouts from wallets

But wait there is more! Sometimes there is money inside of your ecosystem that users need taken out in a hurry. A common Cash App use case is texting your buddy to ask them to spot you $20, or asking your roommate to send you their fraction of the rent. You might need to very quickly convert those few hundreds dollars into the kind of electronic money that doesn’t get shoutouts in rap songs. Cash App will facilitate you doing this, for 0.5-1.75% with a 25 cent minimum depending on exactly what rails you need the money to go over.

For example, if your landlord requires you to pay rent via Zelle or a check, you might want to fairly urgently send money to your account at Bank of America, which can do both Zelle and checks. There are two ways to do this: via an ACH push payment to BoA, which would typically arrive in a few days, or via a quirky form of “reversing a transaction that never happened” on your BoA debit card, which arrives almost instantly.

If I were a betting man, I’d bet that Cash App charges 0.5% (25 cent minimum) if they push over the cheaper ACH rails and 1.75% (25 cent minimum) over the more expensive debit card rails. I tried to test this with a $50 instant withdrawal (called an “instant deposit” by Cash App, and I’d love to have been a fly on the wall at that meeting) on an account connected to a Capital One debit card and a Chase checking account. Without asking me for further details or telling me how it would route, Cash App quoted 88 cents (about 1.75%), sent it to Capital One, and delivered in an almost instant fashion as promised. I assume users with multiple bank accounts attached are an edge case, because I like to be an optimist, but in the long history of finance some teams have been known to pick which of two options maximizes their own revenue.

What’s in your wallet? A new credit card!

But wait there is more! Why only let your users spend the money they already have, when you could get them to spend money they might not already have! You should have a co-branded credit card offering. You will not issue a credit card, no no no, Legal has explained multiple times at considerable length that regulators consider issuance of consumer credit to be an exclusive domain of the regulated financial sector. You will partner with a member of that august community and they will issue the cards, which will simply have your name on them.

Why do you want to do this? One reason is it lets customers spend money which does not exist in your ecosystem, in your ecosystem, and instead of paying to move money into your ecosystem you will get paid coming and going. The user charges money to their card (which your co-branding partner will pay you a fee for) and then it moves to some business through you (earning you another fee). You are also highly likely to get another success fee for every card account you successfully open (possibly after some de minimis level of spending on it), which you might use to incentivize users opening cards, might keep for yourself, or might split to do both.

See, for example, the Venmo card. Card issuers are getting more sophisticated in how they differentiate in offers, which possibly causes Paypal (Venmo’s parent) to get more sophisticated in how they make offers, and so it is possible not all readers will see the same offer. But on my phone, Venmo is willing to pay me $200 if I apply in next 2 weeks and spend $1,000 in the next six months. One could construct a range of per-account and usage-based payments from Synchrony Bank to Paypal which makes this immediately incentive compatible for Paypal. (As we have previously covered, it is not the case that it needs to be immediately incentive compatible. The marketing operations of financial services companies are sophisticated and model customer acquisition costs over portfolios, and some accounts being negative margin contributive is not a problem if the portfolio is sufficiently positive.)

Now a fun thing about negotiating issuing relationships: everyone and their dog will, at this point, say that they have Alternative Data™ with Big Data™ levels of transaction history which will allow the issuing bank to underwrite heavy users of the wallet better than they can their typical prospect. Spoiler: this won’t actually end up mattering for credit decisions. FICO scores are unreasonably effective. Many, many, many teams have thought “I bet I can get better loss rates if I supplement FICO scores with another data source”, and just about the only data sources for which that is actually true are illegal to use. (You can improve on FICO if you add zip codes… and a junior data analyst who puts zip codes in a spreadsheet to make predictions will be told by Compliance that they need to understand what redlining is if they ever hope to make senior data analyst.)

The big win on loss rates isn’t the additive data that the wallet has. It is negotiated terms between the wallet provider and the card issuer. The card issuer is not interested in individual consumers’ decisions to pay or skip on debts. They are emotionally unaffected by a single instance of identity fraud. No, the issuer is attempting to buy a portfolio from the wallet provider, and they will negotiate about that portfolio.

A fairly common term is “Across all accounts we issue on the co-branded card, we model a certain loss percentage. Now we’re going to construct a graph. If you slightly underperform that loss percentage, we’re going to cut out payouts to you a bit. If you greatly underperform that loss percentage, we’re going to cut them by more. And if you somehow have an absurdly fraudulent user base which nonetheless makes it past our own underwriting, we will demand a payment from you.”

And indeed, if you read Paypal’s 2023 10-K, you will find many scintillating paragraphs like:

Consumers that have outstanding loans and interest receivable due to our partner institution may experience hardships that result in losses recognized by the partner institution, which may result in a decrease in our revenue share earned in future periods. In the event the overall return on the PayPal branded credit programs funded by the partner institution does not meet a minimum rate of return (“minimum return threshold”) in a particular quarter, our revenue share for that period would be zero. Further, in the event the overall return on the PayPal branded credit programs managed by the partner institution does not meet the minimum return threshold as measured over four consecutive quarters and in the following quarter, we would be required to make a payment to the partner institution, subject to certain limitations. Through December 31, 2023, the overall return on the PayPal branded credit programs funded by the partner institution exceeded the minimum return threshold.

Translation: No worries, Paypal and their card issuing partner financial institution are mutually happy with the performance of the portfolio.

Put the wallet on the phone already!

Many wallets exist these days as apps on your phone, but of course phone makers have realized that the phone has replaced the leather wallet, and consider the walletness of the phone to be as core a product feature as niche use cases like making phone calls.

And so two very, very successful wallets are Apple’s wallet, which is more or less coextensive with Apple Pay (my apologies to some people in Cupertino who would argue that point), whatever Google calls their wallet this week, and Samsung Pay.

We have previously covered that one thing the payments industry charges businesses for is delivering high-spending customers who will use their plastic/etc to spend more and spend more frequently. Apple’s pitch to banks is, essentially: “OK, you might buy that many well-heeled users like their American Express card. That certainly sounds reasonable. Do they spend hours stroking their American Express card lovingly? Do they bring it out to gaze upon as they sit on the toilet? No? OK, we think they care about our plastic-and-glass artifact much more than they do about Amex’s plastic-and-glass artifact then. But good news. We can digitize your thing that users yawn about on the thing that they love, and then it will outcompete all the other payment methods because it is not in their wallet, it is in the palm of their hand basically all of their waking hours.”

This was pretty contentious, but banks agreed to pay Apple for the privilege of inclusion in this wallet. Partially this was because Apple might have said something rhyming with “If you don’t do this, we will find a two-sided payment network willing to do business with us. If we can’t find them, we will build it, and people will use it, because they like us more than they like you.”

Apple has been publicly reported to make 15 bps on each transaction which goes over Apple Pay. Google reportedly doesn’t make anything for intermediating transactions, which if you believe it might suggest something about the relative executional capabilities of Apple and Google on non-core products.

That smells like an ads business

Many, many scaled Internet firms have looked at the above economic models and decided to jump into the wallet business. The economics are extremely compelling and they are additive to almost any business which already needs to move money around on behalf of users.

This has occasioned some laughter with how they compete against each other:

r/fintech - One-button checkout gets crazy

You’ll note that not all of these are wallets, but after you have a wallet, and you have relationships with transacting businesses, it is very natural to add a checkout experience.

Now put on your consumer Internet product manager hat.

Here we have a number of different firms vying for the attention of a user, where the experience between those firms all leads to essentially the same outcome (the user bought the good/service for a price from the business), where there might be a bit of user preference, but where many users are highly persuadable.

Do you know what a good consumer Internet product manager will say at this point? “This smells like an ads business. Do you have any idea how much money ads businesses make? It’s absurd.”

Now if you’re a product manager who prioritizes the outcomes of the transacting businesses you represent, you might have a prioritization algorithm other than “who paid me the most for placement.” For example, if you were a business choosing your own ordering of those providers, you might say “I really prefer to maximize net margin rather than simply maximizing the side payment. I am in business to sell things to people for money, after all, and this checkout page is only incidental to that. I have a team of people who optimize my website to sell more things to more people for money. I should kick this question to them.”

Surprising almost everyone, almost no business below the scale of the largest businesses in the world, and few enough of them, actually has a team of people who run experiments on their checkout flow to optimize for conversion rates (percentage of people who successfully check out). This was dumbstriking to my colleagues at Stripe when I told them it and then they went on to hear “Oh great idea but those people don’t exist so yeah not doing it right now maybe next year” from some of the biggest names in capitalism, for many consecutive years.

So Stripe took advantage of rendering the checkout flow for very, very many customers in parallel and introduced dynamic optimization of presentation of payment methods (including wallets) at checkout. This takes advantage of previous user preference in various geographies, so that e.g. people transacting in America get prompted for cards like they probably expect and people transacting in Japan see both cards but also popular Japanese payment methods. The conversion rate impact is… much larger than many people guessed prior to doing it. It was so large that Stripe built out tooling to let businesses fine-tune availability of payment methods if they think they understand their customers better than the learning machines will guess at.

Speaking of Stripe and wallets…

I’d be hiding the ball a bit if I didn’t mention that Stripe has a wallet-adjacent offering called Link. (Stripe describes it as a “fast-checkout solution.”) Let me reiterate that Stripe does not necessarily endorse what I say in my personal spaces.

Most wallets are designed to make the wallet provider money via various revenue streams. (No judgment here! Building things people love and charging indirectly for them is a legitimate way to earn a living!) Link is designed to convert very, very well, and to get networks effects for businesses. You can see it in action if you’re curious, but if you’re a regular reader probabilistically I think you have already seen it just transacting on the Internet. Link converts very well, and you'll understand why when you see how quick checkout is the second time you encounter it.

A business can allow customers who start a checkout with them sharing identifying information like e.g. email address or phone number to quickly reuse payment credentials that they Link-ed in a previous transaction at that business or another business using Link. Since that is a pretty sizable fraction of all businesses using Stripe, the user attempting to transact is highly likely to have used a currently-available payment method before that Link knows about, which allows them to re-use it without having to do anything barbaric like fish out a piece of plastic and redundantly type numbers on a telephone.

A fun bit of ancient history: once someone was visiting the Stripe Tokyo office shortly after I joined, and I wanted to show off that I had figured out how to query an internal data store, so I said “What’s your over/under on the percentage of cards used this year that we have seen before?” That number was pretty mindboggling even in 2016, and an obviously good marketing point. I chuckle a bit every time I see it (or its descendants) quoted. I have left, but some descendant of that SQL query will probably keep getting run until it asymptotes near 100%.

Link is a product born out of a similar realization: if the user has typed in their card/etc details once, and if they’re OK with it, they should be allowed to redundantly type those as infrequently as possible. This is an obvious user experience win. Businesses should like it, too, to the extent it outconverts other ways of presenting checkout, which Stripe is (on their behalf) dynamically measuring all of the time. Stripe likes it because improvements to conversion rate at the margin means Stripe gets to charge its fees on more transactions.

Now you can probably imagine another good business rationale: Stripe’s two largest costs are a) smart people and b) card interchange. One of these is fun to cut.

Many customers have strong preferences about how they conduct transactions. They might e.g. really like their credit card rewards. For those users, sure, let them do the thing they want to do.

For other users who do not have strong preferences, perhaps because they are not in the socioeconomic strata that directly benefits from rewards programs, you can have businesses that are sensitive to the cost of interchange subsidize an incentive for typing a low-cost payments credential into a mobile phone once. That business might have repeat custom with those users, and recoup that incentive over lowering their payments cost on many, many transactions over months or years.

Think, for example, a ride sharing service. The core customer rides twice a day, every weekday, for arbitrarily long periods of time, and every time the business charges them they pay the issuing bank again for making the acquaintance of that customer. If the ridesharing business could convince the customer to pay with their bank account instead, that would be beneficial enough over the term of that relationship that the ridesharing business could directly pay for that simple one-time action.

Then, the next time that rider goes to check out at another business, if they have agreed to save that payment method to Link… that business passively benefits from lower payment costs.

In essence, it’s a scaled renegotiation between the businesses that ultimately pay for payments and the providers of payment services: we understand the logic that we pay more for customers that really love you. If they really love you, great, you won their hearts and will clearly continue to win their business. If on the other hand your customer perceives your service as commoditized… then we will buy payment services from a commodity provider of them.

The price of payment services is a contentious topic between businesses and the businesses that operate payment rails. There has been substantial litigation about credit card interchange fees in the U.S., for example. We’ll have to go into detail about it some other time.

As one tiny piece of that, Walmart has opposed a settlement, because Walmart explained to the judge that it has the economic heft to negotiate serially with e.g. the largest 20 banks in the U.S. on interchange and would do so if Visa and Mastercard got out of the way. I take no particular position on the merits, but most companies do not have nearly the scale of Walmart or the operational capability to pick up the phone and do months-long bespoke negotiations with one bank, to say nothing of 20 of them. Walmart makes this point at length to the judge; they don't want the deal most companies will get.

But why shouldn't the Internet get the deal the Internet could negotiate, if the Internet was capable of negotiating on its own behalf? Stripe, as a side effect of a wallet-like product, enables a distributed, techno-social renegotiation of payment costs on behalf of the Internet. It's even aesthetically Internet; it's not a single big bang negotiation ratified by a judge, but rather the aggregate of millions of individual purely voluntary decisions interacting with each other. This brings a large number of small-to-huge businesses, and the customers using them, to a side of the table. And given that side of the table represents something like a percent of global GDP, it might get listened to.

← Guys what is wrong with ACATS
Anatomy of a credit card rewards program →

Want more essays in your inbox?

I write about the intersection of tech and finance, approximately biweekly. It's free.