WalletConnect 2.0 Specifications

website·Indexed 39 days ago

https://specs.walletconnect.com

Technical specifications for WalletConnect 2.0, covering client and server APIs. Includes details on the Sign API for dapp-wallet sessions, Relay servers for pub-sub messaging, Notify and Push servers for subscriptions and alerts, and core modules for pairing, identity, crypto, and sync. Also documents meta-clients such as Web3Modal, Web3Wallet, and Web3Inbox.

Tokens
46.6K
Snippets
250
Records
352
Agent score
64%

What's inside WalletConnect

  1. Overview of the WalletConnect Notify API

    The Notify API enables wallet users to register subscriptions for blockchain, application, or off-chain events. This allows relevant notifications to be sent directly to the user's wallet.
  2. Overview of WalletConnect Chat API

    The Chat API enables wallet users within the WalletConnect network to engage in 1-on-1, end-to-end encrypted messaging. It uses blockchain accounts as addresses to establish peer-to-peer communication. Because the system is designed to be recoverable via a seed phrase, users can migrate between different wallet providers without losing their chat history.
  3. Overview of Web3Inbox SDK

    The Web3Inbox SDK is a unified offering that combines the functionality of the Notify and Chat clients. It provides developers with access to the Web3Inbox inner state and user interface. The SDK is designed to wrap the 'W3I proxy' state manager, enabling the implementation of Web3Inbox experiences across web, native iOS, and native Android platforms.
  4. Overview of WalletConnect Relay Webhooks

    Relay Webhooks allow the registration of HTTP watch webhooks that trigger when a specific relay client (the "watched client") is involved in a published message. Webhooks are observational and do not affect the delivery of the actual message. They are used to monitor message flow without requiring the client to maintain a constant WebSocket connection to the relay.
  5. Overview of WalletConnect Session Events

    WalletConnect emits various session-related events that Dapps and Wallets can listen to in order to perform specific actions or update their UI state.
    EventDescriptionWho Should Listen
    session_proposalNew session proposal to be responded toWallets
    session_requestWallet required to take action (e.g., signing)Wallets
    session_updateA session has been updatedDapps & Wallets
    session_deleteA session has been disconnectedDapps & Wallets
    session_eventGeneral events like accountsChangedDapps & Wallets
    session_pingPeer checking if the receiving client is onlineDapps & Wallets
    session_expireA session has expiredDapps & Wallets
    session_extendA session is being extendedDapps & Wallets
    proposal_expireA session proposal has expiredDapps & Wallets
  6. Overview of the WalletConnect Pairing API

    The Pairing API is a lightweight, protocol-agnostic communication layer used to establish an encrypted channel between peers. It serves as a secure foundation for proposing protocols or sending requests, allowing multiple protocols (such as Sign, Auth, and Push) to share a single reusable communication channel. This enables users to scan a single QR code to interact with multiple protocols simultaneously.
  7. Overview of the WalletConnect Crypto API

    The Crypto API provides a set of methods for secure key management and data protection. Its primary capabilities include:

    • Managing keys on the keychain.
    • Deriving shared symmetric keys using X25519.
    • Encrypting and decrypting payloads using ChaCha20-Poly1305 with typed envelopes.
    • Authenticating the client using ed25519 did-jwt.
  8. Understand the PubSub messaging pattern in WalletConnect 2.0

    PubSub (Publish-Subscribe) is a messaging pattern used in WalletConnect 2.0 where publishers (senders) do not send messages directly to specific receivers. Instead, messages are labeled with a topic. Subscribers receive only the messages that match the specific topics they have expressed interest in.
  9. Understand the WalletConnect Relay mechanism

    The Relay is the system, network, or mechanism responsible for sending and receiving messages between two clients in the WalletConnect ecosystem. By default, clients utilize a proxy server connected to the Waku network, which establishes connections to clients via WebSockets using the reference Relay API.
  10. Sync private data across clients using the Sync API

    The Sync API allows a wallet user to synchronize private data across multiple clients. Access to this data is granted and authenticated using a single blockchain account signature. It functions similarly to the Storage API but is specifically designed for cross-client accessibility via account signatures.