WalletConnect: The Narrow Waist Protocol Between Wallets & Dapps

Nichanan Kesonpat
1kxnetwork
Published in
9 min readMar 9, 2022

--

In 2021, crypto’s user base expanded from technologists and yield farmers to creators, collectors, and gamers. Along with this widening user demographic came a plethora of new web3-native products and services. Today, there are over 1,000 protocols (400+ of which have $10M+ in TVL), over 100 public blockchains, and over 200 crypto wallet applications. Evidently, the market is becoming increasingly diverse and competitive for both end user applications (dapps) and access control (wallets).

Not long ago, dapps and wallets were very siloed from each other across different platforms. The Metamask extension was one of the earliest ways users could interact with dapps, most of which were built for Desktop browsers. Mobile-first wallet users had to go through in-app “dapp browsers” that offered sub-par experience compared to the regular browser apps they were used to, such as Chrome and Safari. On iOS wallets, this feature eventually had to be removed to comply with App Store guidelines.

The ecosystem was fragmented. Dapp developers had a hard time reaching mobile users. Users experienced friction everytime they wanted to connect to a dapp or sign transactions using mobile wallets.

Along came WalletConnect.

WalletConnect is a generalised protocol to facilitate a secure connection between any wallet and any dapp. Under the hood, the protocol facilitates end-to-end encrypted communication between two clients — akin to a “Signal for wallets”.

With their wallets, users can either scan a QR code on the browser or connect on mobile through deep-linking. WalletConnect generates a key pairing, and creates a session between the wallet and the dapp.

Thanks to WalletConnect, users can interact with any dapp using their favorite wallets. Developers can focus on building the best products — whether it be dapps or wallets — without worrying about how one will communicate with the other.

We believe WalletConnect has been and will be an increasingly crucial piece of infrastructure driving web3 consumer adoption for several reasons:

  • Enables mobile-native UX. In 2020, mobile drove over 65% of global web traffic. The rise of social payments and trading apps like Robinhood and Venmo has been testament that users are comfortable with managing their finances on their phones. For crypto to reach the next wave of users, wallets and dapps need to offer seamless experience on mobile as well. This time, users truly control their funds and access with self-custody wallets, and can permissionlessly plug into any dapp.
  • Secure. Most dapps today are native web apps, but desktop browsers are one of the least secure places to store private keys. While the Metamask plug-in moves this responsibility to an extension, WalletConnect handles it on the smartphone, where apps are more sandboxed and less able to compromise one another.
  • Permissionless. WalletConnect was built for and by the community from day one, with valuable early contributions from teams such as Gnosis Safe and Rainbow. With this community-first ethos, the protocol represents consensus among different stakeholders in the ecosystem as opposed to a single company’s interest. This allows WalletConnect to act as the common denominator for the widest range of use cases.
  • Credibly Neutral. WalletConnect is a minimalist protocol, unopinionated about which wallet or dapp should connect with each other. It assumes the market will be competitive for both markets, facilitating an open ecosystem that lets a thousand flowers bloom.

The Narrow Waist Protocol between Wallets and Dapps

We believe that what WalletConnect enables for wallets and dapps is analogous to what TCP/IP did for networking technologies and web applications.

Before the internet, computer networking technologies were custom-built to meet the needs of specific applications. ARPANET (cable-based) was a terrestrial means of connecting universities and government institutions, SATNET (satellite-based) enabled transatlantic communication, and PRNET (radio-based) enabled communication between mobile environments.

While all these networking technologies supplied bandwidth, uniting them was very difficult as each network had different interfaces, packet sizes, conventions and transmission rates. This meant that applications built for one networking technology couldn’t readily be used on another. [1]

If we consider this ecosystem as a 2-sided market of supply (of bandwidth) and demand (from applications), the proto-internet faced a cold start problem. New networking technologies would have had to design for differentiated use cases and get users from scratch. Applications would have to select which network they wanted to be compatible with, and weigh trade-offs depending 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, and so too was the addressable market for service providers and available bandwidth for new applications.

TCP/IP came along and unified this ecosystem. Its minimalist, unopinionated nature made the protocol generalisable across the applications that built on top of it and the technologies that supported it. This gave rise to the famous hourglass model with TCP/IP acting as a “Narrow Waist” in the middle.

By aggregating computer networking technologies and unifying them through a shared standard, TCP/IP…

  • Opened up the addressable market for bandwidth providers to any application that might need network connectivity. New entrants could enter the market and tap into an existing ecosystem of applications from day one.
  • Ensured that any application that needed to send bits from A to B had access to bandwidth, which could be supplied by any computer networking technology.

This unlocked the internet’s flywheel. Applications came in and made use of the bandwidth, driving demand for technology vendors to increase available bandwidth. No matter how differentiated the applications or underlying technologies were from one another, they could tap into the internet’s network effect, resulting in the web as we know it today.

Similarly, by acting as an minimalistic, unopinionated protocol that tells any wallet and any dapp how to communicate with each other. WalletConnect fosters innovation on both sides by decoupling the dapp ecosystem from the wallet ecosystem, allowing both markets to evolve independently while exposing a highly diverse, competitive market of wallets to a highly diverse, competitive market of dapps.

  • Wallet developers can enter the market knowing that no matter how differentiated their product is, their users can still instantly connect to the existing ecosystem of dapps.
  • Dapp developers have access to a wider user base, not just those who use browser extensions, but any wallet on any platform.
  • Users have a wide range of options to select what wallet is most suitable for how they want to interact with dapps. They will have access to dapps regardless of their wallet preference, akin to how users have access to email whether they are using Wifi, 5G, or LAN.

Although WalletConnect is most commonly used to connect browser dapps to mobile wallets, it is platform agnostic in that it can facilitate not only desktop-to-mobile, but also mobile-to-mobile, and desktop-to-desktop connections as well.

Traction

WalletConnect has been gaining steady traction by developers, as seen by the growth in weekly npm installs from prior to the 2021 bull run. The latest bull market has propelled its adoption even further as wallets and dapps proliferated in number and usage.

In the past year, weekly npm install has grown 900%+ from 13k to over 140k.

Source: npmtrends

This translated to an explosion in the number of WalletConnect-compatible wallets and dapps. From 2 wallets and 2 dapps at its inception in 2018 to over 200 dapps and over 100 wallets today. The 5 most popular crypto wallets on Android devices alone (Trust, Metamask, Crypto.com, imToken, and bitpay) all integrate WalletConnect, and cumulatively have over 20 million installs.

Source: WalletConnect presentation at Liscon 2021

The bigger the ecosystem of WalletConnect-compatible dapps and wallets become, the more enticing it will be for new entrants to integrate the protocol. Dapps can reach potential users on any wallet from day one, and wallets don’t have to do additional work to be compatible with every new dapp.

v2.0 and What’s in store for WalletConnect

Multichain Support for Dapps

WalletConnect 2.0 adds support for Cosmos, Polkadot, Celo, Solana, and Near. Dapps can request a connection on multiple chains. For example, Uniswap can tell the wallet that it runs on Optimism and Arbitrum, requesting permissions for both chains, and send transactions to different chains at the same time. No more manual chain switching.

Push Notifications

Dapps can use WalletConnect to notify users of incoming payloads once a connection has been established with a user’s wallet. Users can opt in to receive push notifications from different dapps at a granular level, managing notifications permissions right from their wallet.

Push notifications will be a killer use case especially for time-sensitive events, such as when a user is close to being liquidated, when they’ve received a bid on their NFTs, or when a DAO proposal goes up for voting.

Decentralised Messaging Backend

WalletConnect v2 uses Waku — a decentralized message relay network — as its primary transport for messages. This enables multiple relay servers to be instantiated, with dapps wallets connecting to different servers and sync messages through Waku.

The switch to a decentralized backend will not only improve uptime and latency, but will enable encrypted, wallet-to-wallet messaging that gives users complete control over who can send them messages right from their wallets. This enables, crypto-native instant communication with customizable spam filters such as:

  • Opt in to receive official updates from projects you hold tokens for.
  • Initiating OTC trades with the owner of an NFT you want. For example, ENS domains, art, land.
  • Negotiate terms with a lender for an NFT-backed loan on a P2P protocol like NFTfi.

WalletConnect Cloud

A whiteglove, low latency solution using WalletConnect’s own hosted proxy servers on the Waku network. The service will enable developers to build messaging features, and monitor usage for their applications to have a better understanding of how users interact with them.

WalletConnect Cloud is a predecessor to WalletConnect Network, a fully decentralised solution where anybody could come in as a relayer, build on the experience, and compete at the service provisioning level.

The shared ownership of the protocol can help to level the playing field such that other services are not subject to the whim of one large platform.

Your wallet is more than your bank account

The first generation of DeFi legos (money protocols like DEXs, lending, insurance), organization legos (DAO frameworks and governance tooling), and media legos (NFT protocols) has laid the groundwork for unlocking the next layer of cryptonative use cases thanks to the combinatorial nature of composable smart contracts on public blockchains.

As web3-native social, professional, and entertainment products mature, wallets become much more than a self-custodial bank accounts and portfolio trackers. As the access point to any interaction with the blockchain, wallets will eventually be proxies for an individual’s identity, a central hub that documents what communities they belong to (DAO memberships), what they believe in (governance activity), what they find interesting (NFT collection), and where they’ve been (POAP gallery).

WalletConnect is a bet on a healthy, competitive market of wallet products. One where users have the freedom to choose how and where they want to manage their finances, social networks, gaming XP, and much more.

By being radically unopinionated, WalletConnect ensures any new dapp can reach users on any wallet, and any new wallet can be plugged into dapps without any UX inconsistencies. The flywheel of web3 has begun spinning. Except this time, users are in control.

The team behind WalletConnect

WalletConnect is led by Pedro Gomes, who built the prototype in 2018 and spent the next 3 years iterating and going to Ethereum conferences demoing the protocol and sourcing feedback from the community. WalletConnect had early contributions from prominent wallet and dapp teams at Zerion, Rainbow, Trust Wallet, and Gnosis, who continue to be strong proponents of the protocol. The team is now 12 people strong.

If you’re a developer, check out the documentation to learn how to integrate WalletConnect to your wallet or dapp, instantly plugging your product into the growing web3 ecosystem. If you’re interested in working on one of the most widely used protocols in the space, check out their open roles.

[1] CSNET, a network of university computer science departments, built a dial-up based “Phonenet” as an email relay service for hosts who weren’t connected to the more established ARPANET.

--

--

Nichanan Kesonpat
1kxnetwork

Platform & Content @1kxnetwork | Co-Founder @lastofours | Smart Contracts @upstate-interactive @mochi.game | 🏠. nichanank.com