In-depth Explanation of WalletConnect: The Narrow Waist Protocol Between Wallets and Dapps
Original Author: Nichanan Kesonpat, Co-founder of 1kx
Original Title: 《WalletConnect: The Narrow Waist Protocol Between Wallets \& Dapps》
Compiled by: Gu Yu, Chain Catcher
In 2021, the user base of Crypto expanded from tech experts and farmers to creators, collectors, and gamers. As the number of users continues to grow, a plethora of new web3 native products and services have emerged. Today, there are over 1,000 protocols (with more than 400 protocols having a TVL value exceeding $10 million), over 100 public blockchains, and more than 200 crypto wallet applications. Clearly, the market for end-user applications (dapps) and access control (wallets) is becoming increasingly diverse and competitive.
Not long ago, dapps and wallets were very isolated from each other on different platforms. The Metamask extension was one of the earliest ways for users to interact with dapps, most of which were built for desktop browsers. Mobile-first wallet users had to connect through an in-app "dapp browser," which provided an experience below the standard compared to their accustomed regular browser applications like Chrome and Safari. On iOS wallets, this feature ultimately had to be removed to comply with App Store guidelines.
The ecosystem was fragmented. Dapp developers found it difficult to reach mobile users. Users encountered friction every time they wanted to connect to a dapp or use a mobile wallet to sign transactions.
Enter WalletConnect.
WalletConnect is a universal protocol that facilitates secure connections between any wallet and any dapp. At its core, the protocol enables end-to-end encrypted communication between two clients—similar to a "wallet signal."
Using their wallets, users can scan QR codes on their browsers or connect via deep links on mobile devices. WalletConnect generates key pairs and creates sessions between the wallet and the dapp.
With WalletConnect, users can interact with any dapp using their preferred wallet. Developers can focus on building the best products—whether dapps or wallets—without worrying about how one will communicate with the other.
We believe WalletConnect has already become, and will continue to be, an increasingly important part of the infrastructure driving web3 consumer adoption for the following reasons:
- Enabling Mobile Native UX. In 2020, mobile devices drove over 65% of global web traffic. The rise of social payment and trading applications like Robinhood and Venmo proves that users are satisfied with managing finances via their phones. To reach the next wave of users, wallets and dapps also need to provide seamless experiences on mobile devices. This time, users can truly control their funds and access through self-custody wallets and can insert any dapp without permission.
- Security. Most dapps today are native web applications, but desktop browsers are one of the least secure places to store private keys. While the Metamask extension shifts this responsibility to an extension, WalletConnect handles it on smartphones, where applications are more sandboxed and less likely to compromise each other.
- Permissionless. WalletConnect was built for the community from the start, with valuable early contributions from teams like Gnosis Safe and Rainbow. With this community-first spirit, the protocol represents a consensus among different stakeholders in the ecosystem rather than the interests of a single company. This allows WalletConnect to serve as a common point for the broadest use cases.
- Trustlessly Neutral. WalletConnect is a minimalist protocol that has no bias regarding which wallets or dapps should connect to each other. It assumes that the market will be competitive for both markets, promoting an open ecosystem where a hundred flowers can bloom.
The Narrow Waist Protocol Between Wallets and Dapps
We believe WalletConnect does for wallets and dapps what TCP/IP did for network technologies and web applications.
Before the advent of the internet, computer networking technologies were tailored to meet the needs of specific applications. ARPANET (wired) was the ground means of connecting universities and government institutions, SATNET (satellite-based) enabled transatlantic communication, and PRNET (radio-based) facilitated communication between mobile environments.
While all these networking technologies provided bandwidth, integrating them was very difficult because each network had different interfaces, packet sizes, conventions, and transmission rates. This meant that applications built for one networking technology could not easily be used on another.
If we view this ecosystem as a two-sided market of supply (bandwidth) and demand (from applications), the original internet faced a cold start problem. New networking technologies had to be designed for differentiated use cases and attract users from scratch. Applications had to choose which networks they wanted to be compatible with and make trade-offs based on network participants and capabilities. Imagine a social network or email service provider having to build different solutions for Wifi, LAN, and 5G. The ecosystem was fragmented, as were the target markets for service providers and the available bandwidth for new applications.
TCP/IP emerged and unified this ecosystem. Its minimalist, agnostic nature allowed the protocol to be universal across applications built on it and the technologies supporting it. This resulted in the famous hourglass model, where TCP/IP serves as the "narrow waist" in the middle.
By aggregating computer networking technologies and unifying them through the shared standard of TCP/IP…
- It opened the potential market of bandwidth providers for any application that might need a network connection. From day one, newcomers could enter the market and leverage the existing application ecosystem.
- It ensured that any application needing to send bits from A to B could access bandwidth, which could be provided by any computer networking technology.
This unlocked the flywheel of the internet. Applications entered and utilized bandwidth, driving demand for technology providers to increase available bandwidth. No matter how different the applications or underlying technologies were, they could leverage the network effects of the internet, resulting in the network we know today.
Similarly, by acting as a minimalist, agnostic protocol that tells any wallet and any dapp how to communicate with each other, WalletConnect facilitates innovation on both sides by decoupling the dapp ecosystem from the wallet ecosystem, allowing both markets to evolve independently while exposing the highly diverse and competitive wallet market to the highly diverse and competitive dapp market.
- Wallet developers can enter the market knowing that no matter how differentiated their product is, their users can still connect to the existing dapp ecosystem immediately.
- Dapp developers can access a broader user base, not just users of browser extensions but any wallet on any platform.
- Users have multiple options to choose the wallet that best suits their desired interaction with dapps. Regardless of their wallet preferences, they can access dapps in a way similar to how users access email over Wifi, 5G, or LAN.
Although WalletConnect is most commonly used to connect browser dapps to mobile wallets, it is platform-agnostic, as it can facilitate connections from mobile to mobile as well as desktop to desktop.
Driving Forces
The growth in weekly npm installations before the 2021 bull market shows that WalletConnect has consistently attracted steady attention from developers. With the surge in the number and usage of wallets and dapps, the latest bull market further propelled its adoption.
In the past year, weekly npm installations have grown by 900%+, from 13k to over 140k.
Source: npmtrends
This translates into an explosive growth in the number of wallets and dapps compatible with WalletConnect. From 2 wallets and 2 dapps at its founding in 2018 to today’s over 200 dapps and 100+ wallets. The top 5 crypto wallets on Android ( Trust, Metamask, Crypto.com, imToken, and bitpay ) have all integrated WalletConnect, with a cumulative installation count exceeding 20 million.
Source: WalletConnect Presentation at Liscon 2021
The larger the ecosystem of dapps and wallets compatible with WalletConnect, the more attractive it becomes for newcomers to integrate the protocol. From day one, dapps can reach potential users on any wallet, and wallets do not need to do extra work to be compatible with each new dapp.
What's New in v2.0 and WalletConnect
Multi-chain Support for Dapps
WalletConnect 2.0 adds support for Cosmos, Polkadot, Celo, Solana, and Near. Dapps can request connections across multiple chains. For example, Uniswap can inform the wallet that it operates on Optimism and Arbitrum, requesting permissions for both chains and sending transactions to different chains simultaneously. No more manual chain switching is required.
Push Notifications
Once a connection is established with the user's wallet, dapps can use WalletConnect to notify users of incoming payloads. Users can choose to receive fine-grained push notifications from different dapps, managing notification permissions directly from their wallets.
Push notifications will become a killer use case, especially for time-sensitive events, such as when a user is about to be liquidated, when they receive a bid for an NFT, or when a DAO proposal is submitted for voting.
Decentralized Messaging Backend
WalletConnect v2 uses Waku (a decentralized messaging relay network) as its primary messaging transport. This allows multiple relay servers to be instantiated, with dapps connecting to different servers and synchronizing messages through Waku.
Switching to a decentralized backend will not only improve uptime and latency but will also enable encrypted wallet-to-wallet messaging, giving users complete control over who can send them messages directly from their wallets. This can be achieved through customizable spam filters for encrypted native instant communication, such as:
- Choosing to receive official updates from projects whose tokens you hold.
- Initiating OTC trades with owners of NFTs you desire. For example, ENS domain names, art, land.
- Negotiating NFT-backed loan terms with lenders on P2P protocols like NFTfi.
WalletConnect Cloud
This is a white-glove low-latency solution that uses WalletConnect's own hosted proxy servers on the Waku network. This service will enable developers to build messaging features and monitor application usage to better understand how users interact with their applications.
WalletConnect Cloud is the precursor to the WalletConnect Network, a fully decentralized solution where anyone can join as a relayer and compete on a service supply level based on experience.
The shared ownership of the protocol helps balance the competitive environment, ensuring that other services are not subject to the whims of a single large platform.
Your Wallet is More Than Just Your Bank Account
The first generation of DeFi Lego (currency protocols like DEX, lending, insurance), organizational Lego (DAO frameworks and governance tools), and media Lego (NFT protocols) laid the groundwork for unlocking the next layer of crypto use cases, thanks to the composable nature of smart contracts on public blockchains.
As web3 native social, professional, and entertainment products mature, wallets are no longer just self-custody bank accounts and portfolio trackers. As the access point for any interaction with the blockchain, wallets will ultimately become proxies for personal identity, recording the communities they belong to (DAO memberships), what they believe in (governance activities), what they find interesting (NFT collections), and where they have been (POAP galleries).
WalletConnect bets on a healthy, competitive wallet product market. Users can freely choose how and where to manage their finances, social networks, gaming XP, and more.
WalletConnect ensures that any new dapp can reach users through any wallet, and any new wallet can plug into dapps without any UX inconsistencies. The flywheel of web3 has already begun to spin.
The Team Behind WalletConnect
WalletConnect is led by Pedro Gomes, who built the prototype in 2018 and iterated over the next three years, attending Ethereum conferences to demonstrate the protocol and gather feedback from the community. Early contributions to WalletConnect came from renowned wallet and dapp teams like Zerion, Rainbow, Trust Wallet, and Gnosis, who remain strong supporters of the protocol. The team now consists of 12 members.
If you are a developer, check out the documentation to learn how to integrate WalletConnect into your wallet or dapp, instantly plugging your product into the growing web3 ecosystem. If you are interested in exploring one of the most widely used protocols in the field, check out their open roles.