State of Ethereum Wallets, Summer 2020
When ENS launched back in 2017, the way users interacted with ENS was relatively simple, either via Metamask, MyEtherWallet(MEW), or the now-defunct Mist wallet.
Three years have passed and the environment has changed dramatically, as has ENS. While we now support nearly 20 different coin types, our Manager still only supports injected wallet providers. While we are working on new ways to connect to our ENS Manager and add more coin support, I looked into over 40 wallets that already support ENS as well as additional 20 wallets that do not. You can see my full comparison list here.
Nearly 80% of all wallets had some sort of mobile support. There are mainly three ways to interact with dapps via mobile:
- Injected: The mobile app has an embedded browser and injected web3 provider. This was a popular trend when mobile wallet first started popping up back in late 2017, but now it is getting less popular due to the rise in popularity of Wallet Connect. It is used in wallets like Status, MetaMask Mobile, and Opera browser.
- QR Code: It let users scan a QR code from the dapp’s web page via a mobile wallet, a similar experience to how you log in to WhatsApp or WeChat on desktop. This is getting popular as wallet providers no longer have to maintain their own mobile browser. WalletConnect is the leader in this area with over 20 different wallets supported by many mobile wallets such as Argent and TrustWallet. Coinbase wallet uses a similar service called WalletLink, and MEW rolled out their own solution called MEWConnect.
- Embedded: Rather than having their own app, they a provide SDK so that each dapp can integrate it. It is pioneered by Portis, and now there are multiple services such as Authereum, Torus, Magic, and UniLogin
ENS currently supports only the injected type at app.ens.domains but we are working on a solution to cater for the other two using a solution called ENSLogin, which was developed as part of EthBerlin 2019 hackathon with a group of wallet providers and Hadrien Croubois from iExec.
One of the newer trends is to use the smart contract as your vault, which became famous by Argent but is also employed by Gnosis safe, Authereum, UniLogin, Monolith, Abridged and Dapper wallet. The biggest selling point is to use a smart contract as a multi-sig wallet so that the loss of one key does not lead to the loss of the entire fund.
It also enables meta-transaction where the wallet substitutes the gas cost of sending a transaction. Authereum took the idea further with “DAI first approach” so that user pay the gas price in DAI as well as batching up many transactions to prevent annoying many confirmation pop-ups which you encounter when using Metamask. This transaction abstraction was supposed to be the savior to bridge the onboarding hurdle of users who are new to crypto, but the recent rise of transaction costs forced them to stop or cut back.
As seen in events like Mainnet 2020, Ready Layer One, 2020 is the year when all the upcoming Ethereum competitor/friends chains and layer 2 solutions launched to mainnet. Unlike chains which went mainnet in 2017~18 (Tezos, EOS, NEO, etc), many of the new chains are EVM compatible, hence you can tap into the Ethereum toolset, especially wallets.
Even though the support for different chains are still limited on most wallet providers, TrustWallet (Callisto, GoChain, ETC, POA, TomoChain, Thunder Token), Portis (Over 20 different networks), and MyCrypto (nearly 40 different networks) seem ahead of the curve supporting EVM compatible chains.
One thing these wallets still haven’t nailed is how to make interchain transactions seamless.
One of the holy grails of multi-chain support is how to make cross-chain switching seamless. Many layer 2 and EVM compatible layer 1 chains are betting that dapps and users move their assets from Ethereum mainnet to their chain to enjoy higher throughput and low/zero gas fee. However, asking users to switch networks is a UX problem.
In this example, it shows the flow of DAI on mainnet to xDAI on a different chain. Because Burner Wallet has its own wallet provider embedded, users don’t necessarily have to switch network on MetaMask.
The more recent innovation has been submitted to the Reddit scaling bake-off by Connext team using state channel to transfer assets cross-chain. It currently allows transferring asset between Optimism, Matic, and xDai though it supports any EVM compatible chain.
When moving assets to a different chain, one of the challenges would be to manage different account across chains as each network has a different key format and not all chains can share the same address. Of course, each wallet can store the mapping of cryptocurrency addresses for each user on their own database or local storage of the app/browser but storing it in on one chain (of course ENS!) would add network effect, as more people start using one chain to store the address of different chains.
One thing you have to bear in mind when doing cross-chain transactions is the gas cost.
When users move assets to different chains, the common approach is to lock the asset on theEthereum chain and mint the equivalent amount of the asset in the destination chain, which is used for https://dai-bridge.poa.network/.
This means that users have to pay gas on mainnet to move assets.
When I recently transferred $JOON personal token (issued by Roll) to xDai chain, the transfer gas cost took nearly $10. The gas price doubled since then due to the $YAM craze, so it would be impractical unless you transfer for a defi purpose to make some profit.
One approach to overcome is to skip cross-chain asset transfer and rather focusing on fiat payment.
This won’t be convenient if the use-case is defi to purchase a large amount of crypto as it requires KYC/AML, but could bypass if the target use-case is for NFT, which DapperLabs is taking on their NBATopshot NFT sale.
They recently sold over $1.2 million worth of NFT cards. They are still in a private beta stage, but what you can see from a couple of tweets is that they display the sales price in fiat and taking payments in credit card. They can do so without KYC as they are not selling cryptocurrencies but digital collectables, which Mintbase has also done in Ethereum environment. It will be interesting to see how these “NFT chains” wallet experience evolves differently to other Defi chains.
In this blog post, I described four different trends with Ethereum wallets and which wallets are leading each innovation. Days are gone to just buy/sell multiple coins via exchanges, and we are in the era where high transaction fees is driving dapps and users to cross their asset into different chains/layers, and the improvements with wallets can make a huge impact driving the trend.
In addition to adding more coin type support, ENS team is keen to work with wallet providers to improve cross-chain user experience.