At the time of writing, Web3 and Crypto are in an undebatable bear market. The hunt for the next innovative project or protocol that will lift the industry into the good times of the past is in full force. You might be building it now but do your potential users know?
Despite the gloomy outlook, developer activity still remains high. This has brought more mature and accessible developer tooling. The other important part of the equation is how we make our Web3 products more accessible to our users. What are the current obstacles and how can we fix them so that we experience user growth in our projects?
A user's wallet is their passport to the world of Web3. Every interaction between a user and a Web3 application involves the user's wallet. Unfortunately, the time in setting up a wallet and the high cost of losing your wallet is about the same as with an actual passport. There are 84.02 million worldwide users with a wallet and ~5.3b internet users. That means currently only 1.5% of people online have a crypto wallet! If you want your app to reach a mainstream audience, you’ll need to consider the UX for people that don’t already have a wallet.
The setup requires users to install extra browser extensions, store seed phrases, and be forever worried about connecting to harmful websites that seek to steal this information. Looking at the number of guides and tutorials explaining what a crypto wallet is and how to set one up is enough proof that the wallet experience can be more intuitive.
There are teams out there working on making the wallet experience more user-friendly. You may have already integrated some of these solutions into your project. But it doesn’t change the fact that these wallets are separate apps that you need to encourage your users to download. These efforts can still come up short for some use cases and newer users.
Making a new concept more familiar to users is very hard. Making a familiar concept newer is more effective. Traditional app onboarding offers options like email, phone number, or Google/Apple sign-in, and users expect this when signing up for any new app or service.
Requiring the user to use external tools to create a wallet can cause unneeded friction for users. Creating app-specific wallets for users makes for a simplified process where the user’s attention and patience are easily lost.
Gas fees, the cost of transacting on a blockchain network, is another barrier to users choosing your product over a Web2 app. Not only can gas fees be difficult to understand and manage, new users also need to find ways to pay for these fees. This normally involves finding an on-ramp solution, locating their wallet address, and praying to the Crypto gods they don’t make any mistakes along the way that will cost them.
Giving the full responsibility to users to manage and pay gas fees on their transactions can be both costly and confusing for users. What if your project could cover those costs in an easy way?
Building on platforms like Polygon makes this both possible and affordable with their lower gas fees. An app-specific wallet that covers the transaction costs for all users also simplifies the process for your team. Developers can add funds to this wallet as user activity grows and your users could seamlessly mint NFT and interact with your contracts.
The world of payments is driven by trying to make it easier and more convenient to pay for something. We can now pay with our watches, phones, QR codes, and even our eyeballs. But after all these innovations, we expect our users in Web3 to be ok with having to sign multiple transactions whenever they interact with our project.
Signing transactions is important to proving identity and ownership but the user experience to do so should be improved. In your app, it might be critical for users to prove ownership to unlock special access or experiences but the user flow to do this shouldn’t be painful or requested at unnecessary times.
Users also have to manage their private keys and safely store their seed phrases from would-be attackers. Password managers are popular for a reason. Users no longer want to have the stress of keeping all their information safe. Protecting your wallet secrets feels like a full-time job in comparison.
Instead of putting your users through repetitive signing flows bearing the responsibility of keeping their secrets safe, you as a developer can make their lives easier. Through the use of MPC (Multi-Party Computation), the private keys of your users are encrypted and split into multiple parts. The user doesn’t have to be scared of getting their key stolen, and you can help alert them of potentially malicious transactions before they are fully signed. Tools like Blokr make detecting harmful wallet addresses easier.
MPC allows users to have more confidence that their assets are stored safely because there is no single point of failure. This is the idea behind algorithms like Shamir's Secret Sharing. Creating a smooth way for users to prove ownership and transact is key to growing your user base.
Looking at these onboarding obstacles can make it seem like they are impossible to fix.
Fortunately, the team at Wally has made it their mission to fix these problems for the Web3 developers and builders. Wally has created an onboarding and wallet experience for dApps that provides:
1) Email Onboarding - After integrating Wally either via API or SDK, users can onboard directly to your app just by using their email. These emails are connected to app-specific wallets that are easily managed through Wally.
2) Managed Gas Fees - Once you have created an app on Wally, a wallet is also created for your app. You can add funds to this wallet to cover the gas fees of your users. Wally handles the rest.
3) MPC-Based Wallets - Wally uses MPC to manage the keys of your users. This divides your user's private key between you, Wally, and your user. Your users will never have to manage (or lose) their own keys again.
Interested in maximizing the growth of the number of users? Get started enabling Web3 email onboarding with Wally and React here.