Decentralized exchanges for humans

Design tips on how to build a better decentralized exchange based on user research

This article is a result of cooperation between Wicketh and 0x Project.

When building a new ecosystem one needs to be prepared to face challenges from various disciplines. In this article, we want to touch upon the subject of building a decentralized exchange (DEX) experience for end-users. We set out to answer a few questions: What are the currently underserved use cases? Are there any standard UX patterns emerging? What are the DEX users’ pain points? In a quest for building and understanding these end-users and answering these questions, we decided to run a qualitative user research study. We are sharing the results and a few design tips, hoping that they will be a good reference point for any new or existing team building a relayer (a DEX using 0x Protocol).

Research design

Before diving into the findings, a couple words of introduction. We invited three groups of users to join the research:

  1. traders with at least one experience using decentralized exchanges
  2. traders with experience using centralized exchanges (both blockchain assets and traditional stocks)
  3. people with no trading experience but who do have some experience with blockchain

With the introductory interview we sought to:

  • understand the depth of their knowledge about the crypto-space;
  • uncover their crypto habits — to map their touch-points with the ecosystem and understand knowledge acquisition sources.

The second part of the research was focused on the experience of trading. By asking the participants to buy some ZRX tokens on a chosen 0x DEX (we used three top relayers at the time) with no connected wallet, we gained:

  • an in-depth understanding of interactions between users and relayers’ UI, with a special focus on wallet connection, wrapped ETH, allowances, and placing a Buy order;
  • understanding of participants’ overall emotional attitude towards the experience with an 0x DEX.

Each research session lasted about 60 minutes: 20 minutes for the introduction, 30 for the task, and 10 for the summary. Participants were predominantly male in their mid 20s. Even though they were self-described as users and not creators of technology, they were tech savvy. Most of them worked in tech-heavy industries or in some of the major tech companies. None worked in a blockchain company and some had previous experience with traditional trading or finance.

We are aware that this group is not representative of society as a whole nor covers the entire spectrum of current blockchain users. Even so, we believe that a more diverse user group will have a similar reactions to the experience of trading. With this in mind, we divided the findings into two categories. The first one is specific to the action and context of trading. The second contains learnings about general crypto-habits, which we found interesting enough to share.

Key Learnings

  • Knowledge about blockchain and blockchain tools is vague — tokens, wallets, blockchain and the idea of decentralization is not well understood even among experienced token traders.
  • The differences, both the benefits and risks, between DEXs and centralized exchanges are not well understood.
  • None of the decentralized exchange relayers used during the research study provides comprehensive experience — there is an opportunity to grow in both the user experience, UI and the designs of the on-boarding.
  • The main source of frustration was not the lack of liquidity. Users felt frustrated with the overall experience of 0x DEX.
  • The crypto-space runs on message groups like Telegram and Facebook Messenger and social platforms like Reddit and Twitter.

In this writeup, we want to start by focusing on the last four of the above five key learnings. The recommendations and design tips we choose to offer as solutions should be considered DEX agnostic. We hope that they will be useful to build an intuitive and easy to use trading environment.

Tackling Knowledge Gaps

Let’s take a look at the first key learning:

  • Knowledge about blockchain and blockchain components is vague — tokens, wallet, blockchain and the idea of decentralization are not well understood even among experienced token traders.
I have ETH, BTC and ZRX tokens (…), no, I don’t have a wallet.

There is no easy solution to the problem of fragmented knowledge about blockchains. It is a space with many new concepts, words and tools that differ from the existing financial infrastructure, and it introduces new challenges. The body of knowledge to communicate is quite vast, which makes it hard to build a comprehensive, simple and understandable information source that would be read by users. However, the key takeaway is: do it anyway!

And when explaining it, remember to make it easy and useful for users:

  1. When designing, focus on the “why” — why do you explain this particular concept, why does the user need to know it, and what happens if they don’t know it. If there are many angles to the problem choose one which will be the most actionable for a user;
  2. Avoid tech talk — remember, if you are the one designing the DEX there is a high chance that you understand technical details more than others. Let us remind you again: we live in a blockchain knowledge bubble;
  3. Use concepts or processes that are known and well understood, and introduce the differences based on comparison to something from the real world;
  4. Keep it simple — when explaining one concept try to refrain from introducing other new concepts.

The good example of such a problem is WETH — which is wrapped ETH. For many people, the words “WETH”, “wrapped” and “ETH” are new. From the technical perspective, wrapping ETH is quite an important concept as it allows trading ether with ethereum tokens in a decentralized manner. The reason for its existence has to do with ether not conforming to ethereum’s own ERC20 token standard. WETH is secure and pegged to ether… For many users, the reaction to this explanation was:

This is explaining to me what WETH is with words I do not understand.

To give an example of how it can be done differently, when explaining wrapped ether we decided to focus solely on a simple metaphor: the difference between ether and wrapped ether is like between coins vs paper notes — some machines only take coins.

Sneak peak of the 0x onramp

We designed it with one main goal in mind: making sure that the user understands that ETH and WETH are exactly the same in terms of value, but different in terms of how they can be used. So far we received good feedback for this solution and we hope that it will tackle the fear that the values might change independent of each other in unpredictable ways.

As mentioned earlier, there is no easy solution to education. That’s why we also recommend testing alternative designs, measuring user reactions, and gathering feedback.

Be aware of heuristics of centralization

  • The differences, both the benefits and risks, between DEXs and centralized exchanges are not well understood.

Participants in the research study correctly identified the main benefits of decentralized exchanges. They mentioned eliminating the possibility to hack an exchange or an owner escaping with the funds. That said, they were not aware of the changes in relationships between different elements of the systems. To put it simply: they were not aware of the differences in interacting with centralized and decentralized exchanges. Specifically, the role of the wallet was not well understood.

Oh, wait, I didn’t have to log in… did you log in for me?

Why do we think that explaining this bit is important? The answer is simple: because of existing habits… We are all used to a proven model of interaction with our internet accounts. It assumes only partial user responsibility for the security of all the data behind a login process. There are account recovery, chargebacks and many other methods to reverse users’ mistakes. A blockchain wallet and DEXs both rely heavily on the user’s correct behavior.

Decentralized wallet is a user identifier on a relayer — this slightly different concept of a “personal account” causes confusion among users

The “decentralized wallet challenge” continues onto the more trading specific interactions. Specifically for early or “centralized” users, it was hard to understand that the relayer’s UI uses the wallet and presents its content.

I see tokens here so you must have put them there

[a user just after finalizing the task of purchasing tokens, seeing a different decentralized exchange with the same wallet connected]

We hypothesize that with the growth of popularity of dApps, decentralized exchanges and the influx of users unconsciously relying on the more traditional heuristics of interactions, the clear distinction between the role of a wallet and a decentralized app UI will grow in importance. It is possible that existing users’ habits paired with the unclear definitions will result in dissatisfied traders. This is why we encourage the relayers to address this problem early.

Mental overload challenges and how to handle them

  • None of the decentralized exchange relayers used during the research study provided comprehensive experience — so there is opportunity to grow in both the UX, UI and the designs of on-boarding.

By both observing users and listening to their feedback and declarations we noticed a few reoccurring sources of frustration common to all three groups of users. Based on what we learned we crafted few design tips that might help tackle these problems.

1. The users declared and were visibly overwhelmed by the first impression of each DEX they saw.

There are many potential explanations for these feelings, from the uncertainty of a new UI to the fear of trading as an unknown domain. What is important to note here is that the user journey started without going through the typical login process, which familiarizes the user with the idea of entering a new context or a personal account. In our case, the participants entered the random market through the clean landing page usually designed to communicate the company, which could have been the additional source of frustration. The usual user journey declaratively contains a Coin Market Cap link leading directly to the desirable market, which might mitigate parts of the problem, but not all.

One idea on how to tackle this problem would be to add an additional screen before entering any of the markets. Starting from the context of “what tokens do I (user) currently have” would both help to gradually build up the cognitive effort and add context to the current state of the user’s crypto portfolio. The latter might be useful for a variety of reasons, but most importantly, personal context can be helpful with the next trading decision.

Adding a screen with an overview of a user portfolio and an open orders list before entering a specific market

2. A screen walk-through and an on-boarding were considered useful for a first-time interaction with the concrete relayer’s UI for all group of users.

Users declared reading provided educational material presented in financial interfaces (they also do that during the research sessions). It seems to be considered of higher value in the context of a blockchain. The on-boarding and a screen walk-through tackle different problems. For any educational material or an introduction to the new concepts, an on-boarding seems to be a good and reliable solution. For more hands-on interactions that are connected to the position of an active element on the screen, screen walk-through seems like a better solution. The participants appreciated a chance to go through it, read it, and understand it.

Screen walk-through — simple way to focus users attention and help them start

3. The design readability according to the users could be better, and the UI leading users through purchases was appreciated.

I’m so lost, I have to google how to use [DEX] to buy something
  1. Trading:
  • Making wallet interface more visible and dividing the contexts: mine — the rest of the world;
  • Increase the discoverability of a market dropdown:
    a. They would place the order without realizing that they are not buying the ZRX token — market dropdown was often not easy to discover;
    b. Users didn’t know where they should click to start trading — the interfaces where clean and unified but not useful and the active elements were not easy to discover.

2. Giving feedback:

  • Keeping coherent wording in the feedback on the user’s errors, not hiding the important practical information under the fine print, and informing the user about the status of a system/blockchain’s progress;
  • Explain why a user cannot finish action;
  • Inform users about potential waiting time, if you don’t they will likely be lost and start looking for a reason why the process is taking so long and may place a new unwanted transaction;
  • Inform users about the difficulties of trading on the blockchain, such as by using notifications, for example: “If the page is not loading you may be using a wrong network” or “Restart Metamask and set it to the main network”;
Sneak peak of the 0x onramp
  • Inform the user when to confirm a transaction in the wallet;
  • Don’t use fine text for important information.

3. Most importantly, build on universal design patterns without adding to the overall confusion using fancy design elements:

  • Use colors to introduce the hierarchy of information with known patterns such as green for success, red for loss, grey for neutral, etc.;
  • Use affordances (clues about how an object should be used, typically provided by the object itself or its context) by making links more visibly active and use buttons;
  • Make it easier for a user to divide the screen into functions to create clear division lines.

Summary. Minimize the cognitive load

  • The main source of frustration was not the lack of liquidity. Users felt frustrated with the overall experience of 0x DEX.

We started this research with a hypothesis that the main problem of decentralized exchanges was lack of liquidity and the slow pace of the Ethereum blockchain. Even though we have not completely discarded this as a reason people do not use the DEXs, by eliminating this problem during the research we have learned that there is a lot that can be improved on the design side to make this experience easier and more satisfying. Therefore, our primary recommendation for all the builders out there is: minimize the cognitive load! We hope that the above recommendations are useful to help achieve this.


P.S. Crypto habits trivia

  • Crypto-space runs on message groups like Telegram and Facebook Messenger and social platforms like Reddit and Twitter.

As I mentioned at the beginning, one of the objectives of the research study was to uncover users’ crypto habits or needs. There are a couple of findings and recommendations that do not fit into the scope of the current existing relayers’ interfaces but nevertheless are of an interesting nature.

Token value awareness

We asked the participants a question about the reasoning behind their trading decisions. Most declared following speculation advice from the message groups like Telegram and Facebook Messenger, social platforms like Reddit, or specific Twitter users. Some declared basing their decision on the value of a project represented by a token, a team, the Github PRs etc.

That leads me to the second interesting finding:

Diversity of user needs can lead to diverse experiences

Analyzing the participants’ declarations we defined two main types of advanced users: traders and investors.

The Trader

Looks for new tokens, buys whatever is trending, sells when a coin goes up. Has many odd coins because he bought them and they went down.

I lost a bit of money (on speculation)… well $10k, I guess it’s a little… maybe it depends for whom…
I have plenty of different types of tokens

The Investor

Wants the blockchain to change the world. Strives for less immediate profit, more long-term benefits. Buys slow, for long-term gains, holds ether, bitcoin, and some more interesting coins with the future

I keep the portfolio of coins that I don’t see embarrassing me within 10 years

My guess would be that there is a space for other types of interfaces accommodating different token use cases and user needs than only the speculative trading. An example would be an interface which caters towards the investor type, a person who buys slowly and pays less attention to the price. A person who builds a portfolio having in mind the future value of a project behind a token rather than a portfolio for speculative reasons.


I would love to hear your experiences with running or using a decentralized exchange. Comment sharing your insights :)