Abstract
Ever opened a dapp directly from your wallet, and struggled to connect as you were confronted with a laundry list of wallet choices? When it’s crystal clear which wallet is being used. It’s a real buzzkill, and it’s causing a whopping 70% drop-off rate. We’re all about simplifying the process, aiming for one-click (or even zero-click) connections. Join us in this workshop as we explore solutions to this and garner support for drafting an Ethereum Improvement Proposal (EIP) to make dapp connections a breeze. Inspired by EIP-6963, but not confined to injected providers.
Notes
User starts a journey in a dapp browser, they click on e.g. Uniswap and their page might look confusing because they need to connect again, they open the connection modal, click on WalletConnect — see another WC connection popup, and they search for the wallet they started a journey in.
Once it’s connected, Uniswap still shows prompts to download their wallet.
There is 70% users drop-off.
So the question is: how to go from the Dapp browser page to the successful connection screen in less steps?
Discussion:
- Switching back and forth between dapps to connect is very confusing.
- Logging in e.g. Portfolio from Metamask wallet is principal: making a boundary between being neutral and having such a power.
- Sometimes the connection simply doesn’t work, after the request is initiated.
- Interaction may be very different based on what you’re doing as a user and where you are (e.g. sometimes we do things while commuting, etc.)
- We can remember the last connected wallet ideally
- It would be a dapp developers’ responsibility to recommend what to connect to
- First time you interact with a dapp they don’t know your identity just yet, but once it’s a common interaction
- There needs to be an agreement between the connection libraries and wallets
- Strategic mapping of partners is important to understand who’s responsible for what sort of control — in order to make structural change
- EIP-6963 could help but only works for injected providers. And doesn’t (yet?) support autoconnect.
- On iOS, some wallets offering a section to explore dapps have to open them in the external browser, to comply with Apple’s review guidelines. So injected providers can’t be used, unless these wallets build a mobile safari extension.
- We could pass the wallet details and connection method (injected provider, WalletConnect, or a future connection mechanism) to the dapp being opened (via URL parameters or User-Agent). Connection libraries (Web3Modal, RainbowKit, Blocknative) could use this information to either directly connect the specified wallet (autoconnect) or show only the wallet when the user taps the connect button.
Solution:
- Create a collaborative effort to create a better onboarding, that would pick the preferred wallet, etc.
- Collaborative funding (grant?)
- Build dapps to align with what other wallets