In the previous article, we discussed EIP1193 and EIP6963. Today, we will talk about the WalletConnect protocol.

What is WalletConnect

WalletConnect is an open-source protocol used to establish secure connections between decentralized applications (DApps) and cryptocurrency wallets, enabling cross-device communication.

It allows users to connect and sign transactions with desktop or web-based DApps through mobile wallets (such as MetaMask Mobile, Trust Wallet, etc.) via an end-to-end encrypted communication channel, without exposing private keys or sensitive information, providing a more secure and convenient authentication method for Web3 applications.

WalletConnect is a chain-agnostic protocol ecosystem focused on providing seamless connectivity services across wallets and applications.

Origins and Development

WalletConnect was initially launched in 2018, aiming to address a user experience (UX) and developer experience (DX) issue: at that time, decentralized applications (dApps) were primarily designed for desktop users, but many end-users wanted to use wallets on mobile devices. Developers needed a unified way to support all users’ wallets. Thus, WalletConnect's relay and QR code scanning features were born, enabling millions of Web3 users to connect their wallets to the applications they wanted to use, restoring choice and composability to the industry.

Over time, WalletConnect has continued to solve more UX/DX problems:

Allowing users to use their wallets in mobile applications/mobile browsers

Enabling users to utilize multiple browser extension wallets

Creating a simpler one-click "Ethereum login" (SIWE) experience

Expanding these features to all networks beyond EVM

Key milestones of WalletConnect include:

Expansion to over 40,000 applications and more than 600 wallets

As of 2024, facilitated over 150 million connections

Sustained growth in daily remote connections, demonstrating widespread adoption

Transitioning to a permissioned decentralized database supported by third-party node operators

#walletconecct $WCT @WalletConnect