We Crossed 5000!
Feels surreal, but we have now crossed 5000 subscribers!!. Thank you for being a part of this niche corner of the internet. I wrote a more extended breakdown of the journey around scaling this blog over the past few years here. We hope to continue writing stories that inspire people to build and scale in the years to come.
As we scale, there will be parts of the newsletter that will have to be monetised. You can see a breakdown of how we are thinking about ads here. Reach out if you would like to collaborate with us on future pieces.
One of the joys of writing is collaborative research. You get to learn from people that have spent years learning by building in an industry. Sid orchestrated today’s piece, which taps into an abundance of expertise from Krish - a founder that has spent years trying to develop and scale on-ramps from India. He was kind enough to connect us with Rick from Decaf, Christian Duffus from Fonbnk and Luis from YGG. I am writing from the shoulders of giants that have spent years figuring out how this business works. I hope I have done justice to their expertise.
My article on Account Abstraction mentioned that on-ramps could be directly embedded in applications. Purchasing an on-chain primitive (like NFTs) should be as easy as checking out for a subscription using Stripe. The average user could not care less about doing AML/KYC on a random exchange, waiting for a few days to be approved, setting up a wallet & then doing on-chain transfers.
Investors valued Moonpay at $3 billion last year as they understand this gap. (I doubt it's worth as much now). When retail interest peaks, on-ramps see substantial volume and manage to generate considerable revenue. We have been trying to understand how value flows through on-ramps to understand the challenges and opportunities there better.
Few things to note. Exchanges and on-ramps have strict regulations because they are directly tied to capital flight. For this piece, on-ramps are outlets that enable users to buy less than $1000 with AML/KYC done. Reasonably speaking, a mix of on-chain analysis & identity verification is a strong enough deterrent for money laundering operations that can scale large enough to affect a nation's economy.
Secondly, the purpose of this piece is not to explore how people can trade more frequently. Instead, our obsession is with looking at what use cases & business models are enabled with improved on-ramps. For instance, Stripe's recent integration of USDC-based settlements means real-world asset loans in emerging markets could soon be settled against DeFi pools. (We are exploring a few things there. More on that soon). Or a user could buy in-game assets using their debit card as we do on Steam today.
Not everybody being onboarded to Web3 needs to go straight to an exchange with leverage and options products. That's like onboarding someone to the internet and sending them directly to the murky corners of 4chan. (You don't want to look up what that is if you aren't aware of it already).
My point is there's an opportunity gap in the market where users can be paid directly for purchasing a digital asset. In such an instance, the user pays low-value sums (like $20) to directly settle the asset into their wallet from the on-ramp. When a user purchases a Substack subscription, you do not expect them to buy "digital dollars" and separately pay from an "online wallet". It used to happen in the Paypal days. But we have moved on. I'll propose a few possible ways the same transformation can occur for Web3, but before we go there, let's look at the lay of the land first.
Where Things Stand
I used several on-ramps to understand the unit economics behind them. Moonpay is one of the prominent players that first came to mind. If you were to buy an NFT on OpenSea as a retail user, you would likely be spending money (using a debit card) to buy an asset through them.
I figured it would be good to benchmark how many dollars are lost on a $1000 purchase through MoonPay compared to a traditional purchase such as that of a game through Steam. (Yes, a bit of apple to oranges comparison) The figure below demonstrates what buying $1000 on Tron from MoonPay today would cost.
I went with $1000 on Tron because it had the lowest fees for on-chain transfers. It would have cost me around 2% to do this transfer. For a smaller amount, like $100 of Bitcoin, you would be paying around 12% in fees. The range for on-ramps can go from anywhere as low as 1.8% to 12%. The platform here (Moonpay) makes about 1% which is generous.
The bulk of the loss of value comes from the exchange rate offered for the asset. There was a consistent premium of ~4% when I tried to buy Bitcoin. I would presume Stripe’s fee and the platform fee add up to this cost.
I tried a similar transaction with an on-ramp from India. The platform was not taking any fees, and no transaction fees were involved as I was using UPI. A payment method that costs nothing and settles instantly in India. To reduce gas costs, the platform settles directly on Polygon. The exchange rate offered for 1 USDC was 90.32 INR. It comes to around 9%, considering the INR was trading at 82.3 against the dollar when I wrote this. One thing to note is that the user receives the premium when they sell too. But that’s not the point.
The problem is that on-ramps cost anywhere between 2% to 12% to transact on. And it cannot be predicted accurately. Imagine purchasing something on Amazon, and the checkout page shows a different processing cost each time. The flow chart below shows how the costs add up.
The platform fee is generally 1%, the payments rail costs anywhere from nothing to 4.5%, and there are speeds involved in converting from dollars to digital assets. If you transfer on ETH, the cost for gas comes to ~4.5% for $100 (in USDC); on Polygon, that comes down to 1%. Value is lost in multiple parts of this equation, with nobody capturing any of it effectively.
The bulk of the premium comes from the exchange rates quoted. There’s a reason for this. And it has to do with capital flight. Dollars are costly in markets with strict capital controls. As a retail user, you cannot transfer beyond a certain sum from these economies. Even if you attempted to convert your cash to dollars, you would look at exchange rates that may go up to 2% in emerging markets.
So there’s always excess demand for the limited digital assets that are comfortable interacting with the offramps of these regions. We will continue to see these premiums. In the case of purchasing USDT on Tron from MoonPay using USD, I noticed it cost me only 0.8% in exchange premium. This, however, did not involve the card payment fee. In a region like Nigeria, that can go upto 4.5%
My point is
In emerging markets, on-chain assets will always trade at a premium until regulatory clarity exists.
Platform fees are not the reason for the high on-ramp expenses.
On-chain transaction fees can be as low as 1%, even for sub $100 transfers.
Web3 payment fees are almost at parity with their web2 counterparts like Stripe if you assume exchange rates are not a thing. But they are a thing. So we need to find a fix.
There are several ways to fix things. But before going there, we need to understand how value flows when a user buys on a platform like Moonpay.
How It Works
The chart above shows how value flows when transacting on an on-ramp today. There is a price quoted to users on the on-ramp’s landing page. Generally, it comes from an API that OTC service providers or market-makers have provided. The numbers vary depending on the amount of digital assets being purchased. (Notice the green blurb on the right).
In the initial step, users pay through their bank account or a card network like Visa or Mastercard. Then, a gateway like Stripe or a payment network like ACH or UPI is used to conduct this transfer. Next, the user must complete AML/KYC if the transfer size is large. In most instances, this takes place in under a few minutes.
Service providers like Alloy and Sardine are used to conduct identity checks on the user. Embedded fraud detection platforms like SEON are used to ensure the transaction itself is not fraudulent. Given blockchain transfers cannot be reverted, the platform takes a high degree of risk here if there is fraud involved in the transaction. For several on-ramps, this is the costliest part of the operation.
Assuming the user passes the checks, and the transfer of fiat takes place between the user’s account and the platform, order matching happens based on the initially committed price. The risk for platforms here is that the price slips while the user pays. It does not matter much when volumes are low, and a single user is buying $100. But at scale, the slippages eat into the margin of the platform.
APIs are used at this process step to access P2P or over-the-counter (OTC) liquidity for the asset the user has purchased. PrimeTrust and ZeroHash are two prominent players that offer liquidity as a service. Simultaneously, on-chain checks by providers like Chainalysis ensure the address is not linked to high-risk activities such as terrorist financing. All of this happens in a matter of minutes.
Some parts of this process do not go in this exact order. But I’m trying to make the point that there is complex machinery behind the purchase of just $100. And the unit economics often don’t work for on-ramps unless they see substantial volume to justify the costs of using the SaaS providers that help in the process. This is why there are a ton of dead on-ramps in the stables holding the precious unicorns that survive.
User Personas & Needs
All of this assumes that on-ramps are not under constant threats of losing access to their bank accounts in emerging markets. On ramps routinely lose access to their bank accounts in emerging markets. In India, users often get their money stuck in exchanges for months because banks would not service a withdrawal from an exchange. What we noticed is that there are three kinds of markets in the on-ramp space. And each of them has unique ways of onboarding users.
The first is what we have commonly seen in Asia. These are markets where payment rails are efficient and inflation is controlled. Users from these markets focus on gaming and speculation as the primary use case. They do moderate amounts in volume to justify on-chain fees and are comfortable with the spreads involved.
The premiums here are generally around 7% -8 % for digital representations of the dollar (such as USDC). The reasoning is that it matches what inflation rates are in the region. Luis from YGG mentioned that they spent seven years trying to fix remittance using on-chain primitives in the area to see no clear competitive advantage against their peers because the fintech ecosystem in the region is exceptionally well-evolved.
The second is what we have in places with high inflation rates. Latin America fits this bucket quite well as of now. When your currency is about to lose 90% of its value in a year, paying a ±10-15% premium for an on-chain dollar representation does not hurt much. Payment rails here are not as fullfledged as what we have in Asia.
So platforms like Moneygram help users deposit currency and receive digital dollars through Stellar. It reduces the fees for the end user to a bare minimum. These are not users purchasing tokens to use a dApp with funny jpegs. They are the average mom or dad, buying representations of the dollar to ensure they can retain their money in a collapsing economy.
The third category is the one we are seeing in Africa. Fonbnk, for instance, makes it possible for users to come on board with their prepaid mobile phone credits and mobile money. This reduces the friction or requirements of having access to traditional banking for a person to purchase small amounts of crypto as quickly as topping up their mobile. These are markets where the focus is less on volume and more on cost efficiency. It is next to impossible to pay dollar-denominated bills in specific African markets, even if you can access banking. Stablecoins are used to fill the gap in these regions.
The use case is micropayments for digital goods and services. Think of paying for Netflix, Spotify or a game. Fonbnk has a userbase of over 400k users. Some users have now begun using their merchant payments solutions to receive USDC in exchange for payments made in airtime credits.
The flaw in my mental model came from the idea that on-ramps for digital assets need to be on par, if not better, than web2 payment gateways. I don’t quite think the consumer desires that anymore. Because in each of these markets, the buyer is looking for a different solution. In Asia, where fintech products are well developed, users want to invest in an alternative asset class.
In Latin America, where inflation is incredibly high, users are looking for a mechanism to clench what remains of their wealth. The premiums are justified when considering that the alternative is to lose most of your money in your native currency. The premiums remain as long as regulations do not make it easier for startups to operate and compete in these markets.
P2P Liquidity & Integrated Payments
On-ramps, especially in emerging markets, charge premiums because of the liquidity constraints caused by regulations in each region. One of the ways Krish Tripathi proposed fixing this is through gift cards. For instance, Bitrefill today allows you to convert your on-chain assets to gift cards from outlets like Amazon or Target. Individuals who earn on-chain use them to buy goods without interfacing with a traditional bank. What if capital could flow in the opposite direction?
Marketplaces like that Paxful and Bitpapa allow users to buy Xbox gift cards, which are then converted to cryptocurrency. It is an edge use case and not one through which you would expect retail users to come in large numbers. Vendors may acquire Xbox gift cards at a steep discount and then resell them elsewhere for dollars to gamers looking to buy them. In the example above, you would be paying $106 in Xbox gift cards to receive $100 in USDT.
A different mechanism markets have used in the past is peer-to-peer marketplaces. For example, LocalBitcoin has long been an outlet where users could find sellers or buyers of digital assets. The way it works is a user deposits the asset (Bitcoin, stablecoins or ETH) into an escrow wallet when placing the ad.
The buyer sends the fiat (dollars or local currency) directly to the seller's account. Once the seller receives the bank wire, he marks it as received and releases it to the buyer. While functional and scalable, these marketplaces are susceptible to fraud and takedown requests. As of writing this, both LocalBitcoins and Localcryptos are slowly winding down their operation.
Part of the reason is the centralisation risks that come with these platforms. Regulators can mandate that they be shut down, given the frequency of fraud & possible money laundering facilitated by them. But there have been very few decentralised alternatives that have scaled. A P2P marketplace running on smart contracts in a censorship-resistant listings market running on IPFS may work in the current environment. OpenPeer is taking a shot at this.
Assuming you figure out how to decentralise the front end, you need a mechanism to bring liquidity to the market. NFTs have been able to trend towards higher liquidity through token-based incentives. For instance, Blur and Tensor allocate potential airdrops to users that place bids closest to the market prices for a handful of NFTs. That is, you reward people for making listings for the sale of tokens like Ethereum and Bitcoin. Such a model could use volume & size as parameters to reward tokens.
The challenge with such a model is that no tools work to verify if a bank transfer was done in emerging markets. A user could simply collude with another to claim a transaction was done to claim rewards. One deterrent for such claims could be a 1% platform fee. Things should be fine as long as the airdropped amounts are an added benefit and not the core reasoning behind the platform's usage.
The fact remains that such peer-to-peer on-ramps do not necessarily embed directly with applications. We presume users would use third-party applications (like exchanges or on-ramps) to buy digital assets. Any possible fix to the situation would require two things. Firstly, users have AML/KYC done to reduce the risks of large-scale money laundering operations. Secondly, the user is directed to an application instead of a platform with complex instruments such as derivatives & options.
Moneygram's approach with the Decaf wallet is one instance of seeing this in the wild. The assumption is that a user can deposit cash or digital variations of money in a fintech organisation and have a purchase go through in the back end without realising how the system works.
So, for instance, if they are paying towards a game, Moneygram can directly transfer the asset (say USDC) to the game and have an API notify the user that the user has received in-game credits. Similarly, instead of buying USDC each time to tip on a social network like Lens, the user could buy an in-app top-up that lets them reward their favourite creators. A variation of this already happens if you are an Apple user from India.
Due to local regulations, you use fintech players like PayTM to receive app-store balances debited against your subscriptions. (For those not in the know, PayTM is what would happen if you took all the largest fintech apps in the US and put them into a single interface. Almost like WeChat.) A possible outcome here is if Circle partners directly with (fintech platforms like) PayTM to allow users to make web3 native payments under a specific limit.
The advantage here is that PayTM generally already has the AML/KYC of the user done, and a third party like Circle would not have the liability of doing it. Secondly, the platform doing the integration can charge much lower fees than the 9% premium currently in the market and still make a hefty profit.
On the on-chain side, tools like Circle’s cross-chain transfer protocol can settle the final payment on any chain the user interacts with. In such an instance, Circle evolves from being a stablecoin issuer to the default payments layer for all of Web3. (Sadly, I don’t have enough say with Circle or PayTM to make this happen, but e-mail firstname.lastname@example.org if you work on this) .
This may seem far-fetched, but just yesterday, Visa released notes on their work on account abstraction. Under pressure from legal and avoiding an outright intent to signal support for Web3, I presume they avoided mentioning the possibility of Visa being a payments processor for Web3 native apps. In such a model, a user would have to use their credit card to make a payment, and Visa would do the necessary conversion and settle in USDC against the merchant’s wallet. I remade the flow chart they used in their article in the image above to show what it would look like.
The developer (or merchant) covers gas costs if needed. Visa could simply batch the payments to optimise the gas fees. They could avoid settling the USDC and claim an IOU with the developer when gas fees are exorbitantly high. Such a model would mean the end-user does not have to care about ETH’s price or gas costs. Stripe already supports paying in USDC but does nothing on the conversion side yet. The end-state for onramps is an integrated experience where users go from debit cards or mobile credits to on-chain asset ownership.
In 2005, years before the iPhone, Apple released iTunes through Motorola’s Rokr series. They had licenses with studios and were pioneering music subscriptions. And much like crypto today, they needed a distribution outlet. You would think the incumbent would be the best to help with the process, but the user experience was so bad they decided to release their phone. The iPhone came to the world in 2007.
I often think of this. The reason why it had to be done was because Apple was gunning for an integrated experience. In 2001, they licensed the one-click checkout patent from Jeff Bezos. They had the licenses from studios. And iTunes itself was designed in-house. But if the user experienced it through a third party’s device (Motorola) and the experience was terrible, it made the whole point moot. It put a bad light on years of negotiating with studios for licenses and the effort put into creating iTunes.
Crypto applications are in a similar state. We have decentralised social media, user-owned assets & all kinds of on-chain coordination mechanisms. There’s an abundance of what "could" be done. But the on-ramps are broken because of how regulations are and partly due to where the technology is. And there needs to be work done on that.
When players like Visa discuss account abstraction, change may be around the corner. And it tends to be fast. When the peak of 2017 occurred, the total stablecoin supply was close to $500 million. As of writing this, it stands at $127 billion. So we tend to discount the exponential nature of technologies.
In my view, when on-ramps improve, we will unlock new use cases for on-chain primitives. We have been eying several use cases, especially in emerging markets. But we will need better solutions to onboard users before they can scale. Ones that don’t involve exchanges as we know them. Just yesterday, Ledger was riled up in controversies for suggesting social recoveries will soon be possible. (We will dig into that later). It shows the brawl at the heart of crypto.
On one end, crypto native users used to interacting with the industry expect things to stay as they are. On the other, we are seeing entirely new models of doing things. And they threaten what I call crypto boomers. People that have been in the industry for half a decade and have grown old in their ways.
It is hard to predict what will occur. But there’s one thing we can bet on. And that is change. Everything we know about on-ramps may be just about to change very soon.
Telegram and Pitch Decks
Join in with ±2700+ researchers, investors, founders & overall great human beings. We don’t exactly talk much, but it would help you stay close to what we are focusing on & connect with others building cool things.
Fill out the form below if you are a founder building cool things and in the process of raising money or looking for feedback on what you are pursuing. We like the builders.
To clarify, you’re not calling anyone ticked that Ledger pulled a fast one on us, Crypto Boomers? Because that would be rude. LOL
Exploring the reasoning for the current situation of onramp fees: My intuition feels like the likes of moonpay etc are stuck in bull market style thinking.
"Oh x% in fees doesnt matter because the token actually just did a 20% increase and will do more"
Actually, they might even be stuck too much in the trading mindset. In high vol you get the above thoughts + also stuff like "need to onramp fast otherwise get liquidated"
What function do onramps have when vol gets lower? Need to rethink this, and I dont think current incumbents really have that mindset.
Imho monerium probably the only "onramp" that has the right one.
Another part I would like to understand better is going _even_ deeper into the fee structure. Examples are:
- KYC costs, these are upfront costs rn. THats of course a no no in terms of having the user pay for it So they need to be baked into the variable costs. But could there be some other web3 way of lowering them or moving them later into the usage?
- Full funnel costs, you give the example of Steam. But also in Steam the money actually seen by e.g. marketplace seller or Steam game developer are after significant marketplace fees. Somehow we just dont think about them as much.
- Web3 magic, could we actually do something with web3 enabled tech that allows us to shift pricing dynamics signifcantly? Ive been trying to brainstorm around the concept of smart contract wallets and on-ramps. What if you could onramp for free to an AA wallet that has some rules or additional fees regarding its use?
Maybe you can onramp EUROE for free but its locked to only be utilized for certain smart contracts (is this possible?) or maybe you can onramp EUROE for free but then there is a tax levied by the smart contract wallet on certain transactions? Example - I onramp euros so that I can get yield. I dont want to pay 5% onramp fees, but I could be down to give up 5% of the total amount over time from the yield I receive.