WalletConnect Documentation

repository·main·Indexed 20 days ago

https://github.com/walletconnect/walletconnect-docs

Official documentation for the WalletConnect chain-agnostic protocol. Includes guides on SignClient initialization, Pairing and Session sequences, and namespace configuration for chains, methods, and events. Features detailed integration instructions for Polkadot dapps using @walletconnect/universal-provider and @walletconnect/modal, including CAIP-13 chain IDs and transaction signing workflows.

Tokens
276K
Snippets
741
Records
1.1K
Agent score
69%

What's inside WalletConnect

  1. Overview of AppKit

    main

    AppKit is a layered feature stack designed to enable developers to build comprehensive web3 experiences. It provides a seamless integration for various stages of the user journey, including onboarding, transactions, and messaging.

    Key features include:

    • Multi-framework support: Integration for React, Vue, Svelte, and vanilla JavaScript.
    • EIP-6963 support: Native support for browser extension wallets.
    • Email Wallets: Enables users to connect to dapps using their email addresses.
    • On-Ramp: Facilitates buying crypto with fiat currency.
    • Customizable UI: Supports light/dark modes, accent colors, and custom branding.
    • Multi-chain readiness: Easy setup for any EVM chain.
    • Extensive Wallet Support: Connects with hundreds of wallets like MetaMask, Rainbow, and Coinbase.
    • Transaction History: Provides visibility into all transactions within the account view.
  2. Overview of the WalletConnect Notify API

    main

    The WalletConnect Notify API allows wallet developers to implement a dynamic notification system within their wallets. It enables users to opt-in to notifications, ensuring they stay informed about critical events and interactions from dapps. The API is cross-platform, supporting both iOS and Android.

    Note for Pairing and Sign Requests: If you are specifically integrating notifications related to wallet pairing or sign requests, refer to the Push documentation instead of this overview.

  3. Overview of WalletConnect Notify

    main

    WalletConnect Notify is a push notification protocol designed to notify users of both off-chain and on-chain events.

    Through the Notify API, wallet users can register subscriptions for specific events relevant to them. Once a subscribed event occurs, the notification is sent directly to the user's respective wallet.

  4. Overview of Push Server options

    main

    The Push Server is responsible for sending WalletConnect protocol activity to users via FCM (Firebase Cloud Messaging) or APNs (Apple Push Notifications). It is compatible with the WalletKit SDK.

    You have three primary ways to implement a Push Server:

    1. WalletConnect Cloud (Recommended): The simplest and easiest integration method. Use this unless you have regulatory requirements that prevent your FCM or APNs credentials from being hosted on a third-party platform.
    2. Self-host the Push Server: You can host your own instance using the official repository.
    3. Custom Implementation: You can write your own implementation by following the Push Server spec.
  5. Overview of WalletConnect Notifications

    main

    WalletConnect Notifications enable web3-native communication between applications and their users. Notifications are sent directly to a user's wallet address, allowing projects to engage communities through multiple touchpoints:

    • In-app notifications: Notifications appearing within the application interface.
    • In-wallet notifications: Notifications appearing directly within the user's wallet.
    • Web3Inbox: Notifications accessible via the Web3Inbox application.
  6. Introduction to AppKit Notifications

    main

    AppKit Notifications is a toolkit for integrating Web3 notification features into applications. It allows apps to send notifications directly to users' wallets or via the Web3Inbox.com app.

    Key capabilities include:

    • Device push notifications: Sent to wallets supporting the Notify API or the Web3Inbox app.
    • Notification history: Persistent storage accessible across multiple devices.
    • Spam protection: Users can opt-out of specific notification types.
    • Read status tracking: Synchronized read status across different devices.

    Note: AppKit Notifications is the SDK for developers to send notifications; Web3Inbox.com is the consumer application used by end-users to receive and manage them.

  7. Overview of WalletKit Notify API

    main

    The WalletKit Notify API allows wallet developers to implement a dynamic notification system within their React Native wallets. It enables users to opt-in to notifications, ensuring they stay informed about critical events and interactions from dapps.

    Key characteristics:

    • Cross-platform: Supports both iOS and Android.
    • Chain Agnostic: Built to be compatible with any blockchain. Currently, the Notify Server and Clients support EVM chains, with plans to extend to non-EVM chains in the future.
    • Spam Protection: Users can control which dapps are allowed to send notifications and can fine-tune preferences to receive only specific notification types.
    • Integration: Works alongside AppKit Notifications to provide a complete toolkit for web3 communication.

    Note: If you are integrating notifications specifically related to wallet pairing and sign requests, use the Push documentation instead.

  8. Enable Swaps in AppKit

    main
    AppKit Swaps allow users to securely swap crypto assets directly within your application via the AppKit Modal. This feature enables seamless token switching without requiring users to leave your app. Implementation is designed to be minimal, typically requiring only a single line of code to enable the functionality within your AppKit configuration.
  9. Understand the WalletConnect Notify API

    main

    The WalletConnect Notify API allows wallet developers to implement a dynamic notification system within their applications. It enables users to opt-in to notifications, ensuring they are informed about critical events and interactions.

    Key characteristics include:

    • Cross-platform support: Works on both iOS and Android.
    • Chain Agnostic: Built to be compatible with any blockchain. As of November 2023, it supports EVM chains, with plans to extend to non-EVM chains.
    • Spam Protection: Users can control which dapps send notifications and fine-tune preferences for specific notification types.
    • Push Notifications: Supports sending vital notifications from dapps to user wallets on both desktop and native platforms.

    Note: If you are integrating notifications specifically related to wallet pairing and sign requests, you should refer to the Push documentation instead of this Notify API guide.

  10. Key features of WalletKit

    main

    WalletKit provides several core capabilities for wallet developers:

    • Sign API: Enables dapps to request that a user signs a transaction or a message.
    • Auth API: Enables dapps to verify ownership of a wallet address via a single signature request, allowing for streamlined user login.
    • Chain agnostic: Designed to work with any blockchain, allowing support for multiple chains without requiring separate integration code for each.
  11. Key features of AppKit Notifications

    main

    AppKit Notifications provides the following capabilities for Web3 applications:

    • Device push notifications: Sends alerts to the user's wallet (if Notify API compatible) or the Web3Inbox.com app.
    • Notification history: Stores notifications so they can be accessed across different devices.
    • Spam protection and subscription control: Allows users to opt-out of specific notification types to manage their preferences.
    • Cross-device read status: Tracks whether a notification has been read across all user devices.
  12. Explore WalletConnect community and testing resources

    main

    Use these external resources to find tools, test integrations, or access the core repository:

    • Awesome WalletConnect: A community-curated list of WalletConnect-enabled wallets, libraries, and tools.
    • AppKit Laboratory: A testing environment to validate your wallet integrations against different AppKit configurations.
    • WalletKit GitHub: The source repository for WalletKit.