//cdn-images-1.readmedium.com/v2/resize:fit:800/0*swqugBtNtcmFHp_g"><figcaption></figcaption></figure><p id="b6f0">I’ve been doing a lot of research on the connect flow recently and I’ve found a few different options for improving it. As with everything, this needs extensive user testing, but in the interest of open-sourcing my findings, this is what I’ve discovered so far.</p><p id="54e2">This article is a bit different from my other tips because it’s less of a “do this, don’t do this” piece, and more of a “here’s the situation, and here are some things that might make it better” piece.</p><h1 id="4351">There are basically three types of Connect Wallet screen</h1><figure id="fd83"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*aAwTJZsk00pZxucoCzmt_Q.png"><figcaption>GMX</figcaption></figure><h2 id="eb62">1. The “We did this as an afterthought, pick a wallet” option</h2><p id="81e6">You get a choice of a few wallets, and that’s it. No text, no links, no nothing. To be honest, I actually prefer this kind of minimalism if the alternative is Zapper. It looks a bit stark, but at least it’s easy to scan.</p><figure id="0208"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*6gEWEmHuswH7CJuVBZVEZw.png"><figcaption>Gnosis Safe</figcaption></figure><h2 id="21fb">2. “Powered by Blocknative”, a bit of explanatory text</h2><p id="9f76">You see this one a lot. There’s usually a title, a choice of wallets with big icons, and a “what is a wallet?” link. Fine. Except some projects overdo it and add every single wallet they can think of.</p><figure id="e565"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*XPeACDi6CXBsS0Ds_RdACQ.png"><figcaption>Alchemix</figcaption></figure><h2 id="acf7">3. “Get Started” three-step process</h2><p id="2881">This is becoming a bit more popular. Probably the best out the box option.</p><p id="0724">Now that we know the standards, here are some variations I’ve seen.</p><h1 id="0fd0">1. Moving MetaMask icon in the connect modal</h1><p id="b31f"><i>ref. <a href="https://www.gem.xyz/">Gem</a></i></p><figure id="ab0c"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*4VDcmNjKRQVk7WS1lFlEuw.gif"><figcaption></figcaption></figure><p id="2a4a">I like how playful this is. It’s not a huge leap forward for the UX, but the moving fox is fun.</p><h1 id="f817">2. Make “What is a Wallet” the primary focus</h1><p id="70eb"><i>ref. <a href="https://app.velodrome.finance/swap">Velodrome</a></i></p><figure id="47c2"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*zaFw9v0eAIpQU_LncoCfKQ.png"><figcaption></figcaption></figure><p id="1210"><a href="https://www.rainbowkit.com/">Rainbow Kit</a> take the stepper modal and invert it, so that “What is a Wallet?” actually become the primary focus, and the wallet CTAs are relegated to the left-hand side.</p><p id="27f0">Not convinced. I like the idea, but surely the wallets themselves should take priority? I don’t think this really helps you log in. It looks like “Get a Wallet” is the only CTA on the page.</p><h1 id="f062">3. Provide as much feedback as possible within the connect modal</h1><p id="9a11"><i>ref. <a href="https://app.enzyme.finance/discover">Enzyme</a></i></p><figure id="cb23"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*k73nsTFSB4P6E7NyA9Iq7g.gif"><figcaption>A little hard to see, but there is a nice waveform used as a loading animation</figcaption></figure><p id="e5fd">One of the biggest issues with web3 UX is the <b>lack of feedback</b>. I’ve watched users try DeFi apps and one of the first things you notice is people looking confused or concerned about whether anything is happening. Because most web3 interactions are <b>actually transactions of some kind</b>, there is often a short delay while they go through. The user should be reassured at every stage that something is happening.</p><p id="91ad">Enzyme add some nice feedback to their connect flow that I’ve not seen anywhere else. There is a little micro-animation while you’re connecting, and you can also manage the connecti
Options
on from the same modal. So if you connect to the wrong network, you can do it there and then, instead of closing this screen and having a different one pop up.</p><h1 id="5a22">4. Use chips/tags to highlight important info. Hide less popular options behind a show more button.</h1><p id="8f28"><i>ref. <a href="https://opensea.io/">OpenSea</a></i></p><figure id="a463"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*usuVgexW9QHNSI9CjNTM7w.png"><figcaption></figcaption></figure><p id="b804">The list of wallets can potentially grow even longer if the app is multi-chain. OpenSea make nice use of chips to highlight the Solana options, and draw attention to the obvious choice Metamask. I don’t have the data but I’m guessing MetaMask is by far the most popular choice.</p><h1 id="c865">5. Use Tabs to organise multiple networks</h1><p id="e967"><i>ref. <a href="https://rarible.com/">Rarible</a></i></p><figure id="cb85"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*O32pWlHXUjNfnnNjpxJHtw.png"><figcaption></figcaption></figure><p id="3d56">Rarible combines the ideas presented above with some simple tab navigation for the different networks.</p><p id="9aa8">This is a pretty nice interface. You get a small number of options (<a href="https://lawsofux.com/en/millers-law/">Miller’s Law</a>), the top one is tagged “popular”, the rest are hidden behind a show more button. The other networks are kept behind tabs.</p><p id="5d69">The other thing to notice on this is, is that it’s not actually a modal at all. This is integrated into the main page, and the image on the left changes periodically to show off different NFTs available on the platform. It’s a very well-integrated flow and probably one of the best that I’ve seen.</p><h1 id="f0c6">6. If all else fails: Keep it Simple!</h1><p id="de84"><i>ref. <a href="https://www.lensfrens.xyz/">Lens Frens</a></i></p><figure id="738d"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*S0wZqwnbsmHV_sE2xg_DTw.png"><figcaption></figcaption></figure><p id="d6c8">Maybe the ultimate option.</p><p id="7969">This gives you just two giant buttons. If you click browser it will load your browser’s default web3 wallet. If you click wallet connect, it will take you into the mobile connect flow and you can scan the QR code, or open the link in your mobile wallet of choice.</p><p id="42f3">This is a very elegant solution to the wall of icons you normally see.</p><p id="5500">It’s simple, the UI is on-brand, the buttons are big and clickable.</p><p id="7448">Do you really need anything else?</p><h2 id="fd49">BONUS: I have early access to DALL•E 2, so here are some other images I generated to illustrate this article:</h2><figure id="7ff0"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*WzBxBvnfdxDsGO7KiL7PTA.png"><figcaption>DALL·E 2022–08–28 11.04.58 — a confused unicorn using a computer for the first time pencil drawing</figcaption></figure><figure id="2b87"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*n2EOBiLI1NSjWbkJFvq3_g.png"><figcaption>DALL·E 2022–08–28 11.09.28 — a laptop that is a portal to another dimension sci-fi art</figcaption></figure><h1 id="b69c">👋 About Me</h1><p id="2b28"><i>I am a product designer and UX consultant specialising in web3. I enjoy scaling and leading design teams, and helping web3 companies at all stages of their development.</i></p><p id="6c3b"><i>If you’re after some more insights, you might want to check <a href="https://readmedium.com/dex-ux-a-competitive-analysis-of-crypto-exchanges-3818b6c856ba">my competitive analysis on DEXes</a>, my case study for a project I did with <a href="https://bootcamp.uxdesign.cc/designing-a-zero-knowledge-airdrop-for-element-finance-c19e80d76260">Element Finance</a>, or my series on <a href="https://readmedium.com/defi-design-tips-vol-7-a432968ee3d1">DeFi Design Tips</a>.</i></p><p id="a9cc"><a href="https://twitter.com/JonCrabb">https://twitter.com/JonCrabb</a>
<a href="https://www.linkedin.com/in/jon-crabb/">https://www.linkedin.com/in/jon-crabb/</a></p></article></body>
DeFi Design Tips Vol. 8 — How to Connect Wallets
A Connecting Wallets Special Edition
An ongoing series in which I record UX/UI improvements I have noticed in DeFi. This is my own competitive analysis, as I collect things I find interesting, useful, or delightful. As a DeFi designer myself, I want a bunch of ideas to test.
I generated this with DALL·E 2: “an astronaut plugging a wallet into an obelisk digital art:
If you want to try a decentralised application (dApp), the first thing you ever do is connect your wallet.
This is the thing that takes you from the relatively familiar world of Chrome and cookies to the strange land of Metamask and signatures. One minute you’re loading a webpage, the next minute you’re choosing from a panoply of wallets and authorising random transactions. It’s possible, nay probable, that you’ll also be confronted by an image of Pepe the frog and/or a unicorn. If you’re not already familiar with this world, you may feel lost before you even begin. As the poet wrote…
I, a stranger and afraid
In a world I never made.
As this world is relatively new, there are no standards for entering it, and the connection flow usually caters for experienced users who want as much control as possible.
Here is an example of the connect screen from Zapper, with commentary from ChainLinkGod:
I mean just look at this wallet connect page, WTF is this, imagine you’re a completely new user, just thrown in the deep end “good luck”
1Inch is even worse, because they make you choose network first. They literally just add an extra step to confuse you:
The curse of too many options
I like Nielsen’s Usability Maturity Model because it’s a good way of judging your project’s overall approach to UX. A lot of web3 apps are somewhere around the “developer-centred usability” step. The tendency is to give as much control as possible, even if that creates information overload for the less experienced. There’s nothing wrong with catering for the experts, but as the industry progresses, this flexibility should be in the form of hidden shortcuts, not overwhelming customisability.
I’ve been doing a lot of research on the connect flow recently and I’ve found a few different options for improving it. As with everything, this needs extensive user testing, but in the interest of open-sourcing my findings, this is what I’ve discovered so far.
This article is a bit different from my other tips because it’s less of a “do this, don’t do this” piece, and more of a “here’s the situation, and here are some things that might make it better” piece.
There are basically three types of Connect Wallet screen
GMX
1. The “We did this as an afterthought, pick a wallet” option
You get a choice of a few wallets, and that’s it. No text, no links, no nothing. To be honest, I actually prefer this kind of minimalism if the alternative is Zapper. It looks a bit stark, but at least it’s easy to scan.
Gnosis Safe
2. “Powered by Blocknative”, a bit of explanatory text
You see this one a lot. There’s usually a title, a choice of wallets with big icons, and a “what is a wallet?” link. Fine. Except some projects overdo it and add every single wallet they can think of.
Alchemix
3. “Get Started” three-step process
This is becoming a bit more popular. Probably the best out the box option.
Now that we know the standards, here are some variations I’ve seen.
Rainbow Kit take the stepper modal and invert it, so that “What is a Wallet?” actually become the primary focus, and the wallet CTAs are relegated to the left-hand side.
Not convinced. I like the idea, but surely the wallets themselves should take priority? I don’t think this really helps you log in. It looks like “Get a Wallet” is the only CTA on the page.
3. Provide as much feedback as possible within the connect modal
A little hard to see, but there is a nice waveform used as a loading animation
One of the biggest issues with web3 UX is the lack of feedback. I’ve watched users try DeFi apps and one of the first things you notice is people looking confused or concerned about whether anything is happening. Because most web3 interactions are actually transactions of some kind, there is often a short delay while they go through. The user should be reassured at every stage that something is happening.
Enzyme add some nice feedback to their connect flow that I’ve not seen anywhere else. There is a little micro-animation while you’re connecting, and you can also manage the connection from the same modal. So if you connect to the wrong network, you can do it there and then, instead of closing this screen and having a different one pop up.
4. Use chips/tags to highlight important info. Hide less popular options behind a show more button.
The list of wallets can potentially grow even longer if the app is multi-chain. OpenSea make nice use of chips to highlight the Solana options, and draw attention to the obvious choice Metamask. I don’t have the data but I’m guessing MetaMask is by far the most popular choice.
Rarible combines the ideas presented above with some simple tab navigation for the different networks.
This is a pretty nice interface. You get a small number of options (Miller’s Law), the top one is tagged “popular”, the rest are hidden behind a show more button. The other networks are kept behind tabs.
The other thing to notice on this is, is that it’s not actually a modal at all. This is integrated into the main page, and the image on the left changes periodically to show off different NFTs available on the platform. It’s a very well-integrated flow and probably one of the best that I’ve seen.
This gives you just two giant buttons. If you click browser it will load your browser’s default web3 wallet. If you click wallet connect, it will take you into the mobile connect flow and you can scan the QR code, or open the link in your mobile wallet of choice.
This is a very elegant solution to the wall of icons you normally see.
It’s simple, the UI is on-brand, the buttons are big and clickable.
Do you really need anything else?
BONUS: I have early access to DALL•E 2, so here are some other images I generated to illustrate this article:
DALL·E 2022–08–28 11.04.58 — a confused unicorn using a computer for the first time pencil drawingDALL·E 2022–08–28 11.09.28 — a laptop that is a portal to another dimension sci-fi art
👋 About Me
I am a product designer and UX consultant specialising in web3. I enjoy scaling and leading design teams, and helping web3 companies at all stages of their development.