How to Think About Crypto’s UX Problem

For the past 5 years, crypto wallets have gone a long way.

And what I mean by that is a leap from literally writing down private keys on a piece of paper to not even being aware that you’re using a crypto wallet.

That’s a long way, but the question remains. Why are we still not onboarding the mass consumer into this rabbithole of a technology? I think it’s because we haven’t really thought of the problem from enough angles.

Let me introduce you to your user, Bob:

You want him to go to your decentralized Instagram, sign up (but he has to pay for storage), and write his first post.

How do you bridge him into his first moment of discovery, in our case writing his ‘Hello World’ post?

Some people think of solving crypto’s UX problem this way:

  1. Identify points of friction for Bob

  2. Solve them!

And to this approach we owe various tools that make it easier for the user to access crypto. We got ERC-4337, social sign-ins through MPC wallets, passkeys, chain aggregators, and what have we here… Now users can even use our onchain applications without knowing a thing about wallets.

Just one problem: Bob is still not buying our decentralized Instagram!

Now we troubleshoot:

It turns out Bob can’t really see the value in our decentralized Instagram because he doesn’t have the minimum viable amount of knowledge to appreciate it or even have the interest to finish reading the front page
It turns out Bob can’t really see the value in our decentralized Instagram because he doesn’t have the minimum viable amount of knowledge to appreciate it or even have the interest to finish reading the front page

So we can add a few steps that we’re missing:

  1. Identify the minimum viable knowledge that Bob needs to understand the value in using our app

  2. Communicate value

  3. Identify points of friction for Bob

  4. Solve them!

But are there other steps that we need to solve in order to get Bob posting his first onchain selfie? That is the billion-user question.

For that we need to plot the User Onboarding Map.

The User Onboarding Map

Crypto UX is a complex problem. Sometimes, it’s about creating the shortest path for users to achieve their goal. Sometimes, it’s about gradually and pleasantly walking them from something they already understand into learning something they didn’t.

To have the lay of the land, we must look at what the user goes through before they become native users of an application. I hypothesize that the onboarding map looks something like this:

The Web3 User Onboarding Map
The Web3 User Onboarding Map

For those who can’t read images:

  1. Knowing: having all the information needed to understand what the application does

  2. Accessing: successfully accessing the page and its components

  3. Searching: having a smooth path of interaction to achieve their goal

  4. Exploring: having a good environment to create interactions in the application

Breaking it down:

1. Knowing

Knowledge is an internal requirement for the user. It is easy to miss for the developers and anyone who has been here in the space for long.

And it’s tougher to nail compared to other UX components like visual hierarchy, accessibility, interaction design because there’s no single answer to it… nevertheless we’ll try.

Some common blockers to this step:

  • Not knowing what the product is for

  • Not knowing how the technology works

  • Not understanding the jargons

  • Lack of visual cues

  • Not enough applications to anchor their comparison with

  • Haven’t learned any interaction patterns with dApps yet

Potential solutions to the blockers:

  • Using a copy that explains and demonstrates the benefits instead of focusing purely on the features

  • Providing a link that leads to a basic guide or FAQ for someone completely new to the technology

  • Using tooltips- a microcopy that appears when a user hovers an element to give context

  • Providing better heuristics by showing your app’s frontend even before a wallet has been connected

  • Using existing mental models and habits and using easy language to explain the application.

2. Accessing

Your user needs some things before they can interact with your product.

Things like a wallet, an interface for it, gas tokens, and a way to check what happened to their transactions.

Now, the job is to make it easy for your user to get all of these.

There are readily available tools and SDKs that makes accessibility easier for crypto applications, and I’ll tell you when and how to use them in future posts.

Some common blockers to this step:

  • Needing to download a browser wallet before they can access the app

  • Manually storing private keys and seedphrases

  • Needing to search the ChainId in another tab before adding it to Metamask

  • Needing the right gas token on the right chain before making a transaction

  • Mobile accessibility

  • Bridging

  • Going through Etherscan to find out what happened with the transaction

  • …there’s a long list

Potential solutions to the blockers:

  • Account abstraction

  • MPC Wallets

  • Wallet sign-in SDKs

  • Adding a ‘Switch to Chain’ button where it is needed

  • Paymasters

  • Etherscan APIs

  • Chain abstraction / Chain aggregation

  • Interoperability protocols

3. Searching

Bob has landed the app, now you have to enable them to find what they need quickly and easily.

Interaction design comes at this stage.

Some designers say the standard is three clicks. In three clicks, Bob must be able to publish his first post in our decentralized Instagram.

But if we do that, there’s a high chance of overwhelming him.

Bob’s face when you do something completely deranged, like putting the deposit and add liquidity button in one screen.
Bob’s face when you do something completely deranged, like putting the deposit and add liquidity button in one screen.

So instead of optimizing the clicks, we should optimize the user’s cognition of his flow. This means clear navigation and copies with strong information scent. This means reducing the perception of time when a step will need your user to wait for seconds or fill out a long form.

Idk about you, but I’m better off with five clicks that I understand than three clicks that got me stuck for forever in the second screen.

Common blockers to this step:

  • Requiring a step that will have your user navigate away from the page

  • Confusion with navigation options (like, what is ‘zap’?)

  • Not giving feedback after a user has done something on the page

  • Or not giving it after user has signed a message or a transaction

  • For sequential task flows, not showing where the user is in the process

Potential solutions:

  • Embedded wallets

  • Good content architecture and visual hierarchy

  • Having a clear wayfinding for each page

  • Allowing only one call-to-action per page through progressive disclosure

4. Exploring

Exploring is about ensuring Bob has the optimal environment to interact smoothly with the application. Speed, security, and privacy are a huge part of the user experience.

So at this level, you need a combination of UI and tech improvements. There’s no other way.

Common blockers to this step:

  • Slow transaction times or network congestion

  • Security concerns related to wallet integrations, data storage, or interaction with smart contracts

  • Privacy issues, such as exposing sensitive data unnecessarily

  • Lack of smooth transitions between on-chain and off-chain elements

  • Lack of feedback to actions

Potential solutions:

  • Deploying on a rollup that can deliver high transaction speed without sacrificing decentralization (eg. MegaETH)

  • Using mulitisigs and key management systems

  • Protecting user privacy with zk-SNARKs or similar cryptographic methods

  • Reducing latency in user actions by leveraging optimizations in both on-chain and off-chain components (e.g., using decentralized oracles for smoother real-time interactions)


So, what now?

Now we have the map and you see the obstacles ahead. Be brave, we’re about to have an adventure.
Now we have the map and you see the obstacles ahead. Be brave, we’re about to have an adventure.

In the next posts, I’ll tackle each of these levels and the actionable methods, tools, and strategies you can use to solve them!

Subscribe to Web3 UX for the Clueless
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.