We're responsible for web3 user journeys. Let's make them self-custodial
One thing that’s becoming crucial to the development of Web3 is better “user journeys.” In other words, we need to become better at offering users a seamless, secure, cost-effective, and fast way to jump in and out of Web3. More so, it needs to be fully self-custodial from start to finish.
Using Web3 can still feel fragmented and convoluted. At this point, it’s still likely that somebody looking to use a decentralized app (DApp) will need to get familiar with and interact with either on-ramps or off-ramps in a separate environment.
This is far from optimal because it creates a disjointed experience, and, more importantly, it leaves room for unnecessary risk – as custodial services take control over funds during one or the other.
Current user journeys
There’s been some progress. Phase 1 of onboarding in Web3 today typically goes like this:
Alice wants to participate in coolNewProject, so she creates an account on a popular hot wallet browser extension. Then she goes through a service that will debit her bank account and credit crypto to her self-custodial wallet address.
That’s great because it all happens within the extension that can also fully interact with the project’s decentralized application (DApp).
This works, but it could be improved.
But what happens when Alice sells her non-fungible token (NFT), beats the Web3 game, or makes a pretty penny with her latest decentralized finance (DeFi) strategy? She won’t be able to exchange her funds back into fiat within the app or browser extension.
Taking her earnings back to fiat so she can use them in her day-to-day activities is not as simple. It’s definitely possible, but not simple.
Usually, she’ll have to take some extra steps: Alice will have to manually send the funds from the wallet she connected to the DApp, to her wallet on some other service.
For many users, this will often be a centralized custodial exchange service that’s linked to their bank account. Then she’ll have to sell her crypto on that service in order to then withdraw the equivalent fiat to her bank account.
Alternative: A complete in-app experience
But users don't need an account with a custodial service to change their crypto back to fiat after using a Web3 application. There are practical widgets that offer dapps the option to easily integrate both ramps natively in a single SDK (software development kit).
This is a step in development that is too often ignored in most Web3 applications. Users are often left in an “easy to get in, hard to get out” situation.
In the previous example, Alice is left to figure this out for herself and look up off-ramp services. More often than not, she’ll resort to a popular custodial platform.
Completely self-custodial user journeys should be the standard. On-ramps and off-ramps should exist natively within each app, closing the loop for a single ad-hoc self-custodial Web3 experience. The option to transfer funds from the DApp to a fiat bank account should be right there in the features menu.
This is similar to what users already know and trust in existing Web2 experiences with online payments and cash-outs.
In fact, platforms like PayPal were able to propel whole industries like e-commerce precisely by building an easy, 360-degree user journey for fiat online payments. Web3 can have an equivalent watershed moment if we raise our standards.
There are fiat-crypto infrastructure providers that offer developers convenient ways to integrate these functionalities into their applications’ user journeys, like Ramp.
An ideal user journey would go like this:
Alice wants to use coolNewProject and purchase crypto through a widget that pops right on the DApp’s menu. Then she wants to use her earnings to buy something IRL, so she goes to the DApp and clicks on the off-ramp option right on her main dashboard. A few minutes later, the funds are in her bank account.
Why this needs to be the standard
There are many reasons why going forward, in-app fiat<>crypto infrastructure should be the norm and not an afterthought for Web3 applications.
Presenting users – especially newcomers – with a single self-contained “get in, get out” experience reduces the learning curve for using a particular DApp.
A self-custodial user journey is also, by definition, a more secure journey. Users stay in control of their private keys at all times, even if they are not aware of the importance of this feature.
It would make it more cost-effective to interact with the DApp by reducing the number of transaction fees incurred, both for network miners and on exchange services.
Similarly, for development teams, it provides them with alternative monetization options while remaining preferable to custodial off-ramping costs. Some developers choose to add a small surcharge to the transaction fee to create an additional and sustainable revenue stream.
Users still want to use their funds in the real world. They need to feel that their economic activities in Web3 can fit seamlessly into their real-life economic activities.
In order to give them a tangible sense that this is the case, we need to make the off-ramp phase of the user journey as simple as the on-ramp. It needs to be in-app, fast, and cost-effective.
Likewise, it needs to be secure – it needs to be self-custodial, specifically. While most newcomers won’t immediately understand the importance of this, having fully self-custodial user journeys as the default for on-ramping and off-ramping will benefit the space in the long run.
It’s our responsibility to ensure users are in control of their funds from on-ramp to off-ramp and avoid counterparty risk by default.
All the necessary infrastructure for building complete and self-custodial user journeys is already there. Let’s proactively set better standards for each step of the way in order to build more robust and reliable services.
Originally posted by Coindesk on 21 February, 2023