WalletConnect Pay - Wallet Integration - WalletConnect Pay Docs

WalletConnect Pay Overview

Your users hold crypto and stablecoins. WalletConnect Pay gives them somewhere to spend it. One integration connects your wallet to a global network of PSPs and merchants — online and in-store. You control the experience. WalletConnect Pay handles the rest: payment execution, compliance, settlement, and gas.

What’s included

Integration Approaches

WalletConnect provides three integration approaches for enabling WalletConnect Pay in your wallet:

Integrate using the Wallet SDK (Recommended)

If your wallet already uses the WalletConnect Wallet SDK (WalletKit), WalletConnect Pay is automatically available when you initialize WalletKit. This is the recommended approach as it provides a unified API and automatic configuration.

Standalone Integration

For wallets that don’t currently use the WalletConnect Wallet SDK, you can integrate the standalone Pay SDK directly. This approach requires configuring the SDK with your WalletConnect Project ID.

API-First Integration

For wallets that prefer direct API integration without using an SDK, you can use the Gateway API directly.

Getting Started

To get started with WalletConnect Pay integration:

  1. Get a Project ID: Create a wallet project at the WalletConnect Dashboard to obtain your Project ID.
  2. Choose your integration approach: Select either the WalletKit integration (if you already use WalletKit) or the standalone Pay SDK integration.
  3. Follow the platform-specific guide: Use the documentation for your platform to implement the payment flow.

Payment Flow Overview

Regardless of which integration approach you choose, the payment flow follows the same pattern:

  1. Detect Payment Link: Identify when a user scans or opens a WalletConnect Pay link
  2. Get Payment Options: Fetch available payment options based on user’s accounts
  3. Collect User Data (if required for selected option): If the selected payment option requires compliance information, display a WebView for the user to provide it. This must happen before fetching the required actions — the WebView submits the data directly to the backend
  4. Get Required Actions: Retrieve the signing actions for the selected payment option
  5. Sign Actions: Sign the required permits/transactions using your wallet’s signing infrastructure
  6. Confirm Payment: Submit signatures and complete the payment

Testing

Test your WalletConnect Pay integration with the Point-of-Sale app in the WalletConnect Dashboard. To enable the app, configure a mock-merchant recipient address. Payments will arrive to this address and you won’t lose any testing funds.

Earn Revenue

Wallets can earn interchange-like revenue on eligible WalletConnect Pay payments. To activate, make sure to complete a successful payment with your integration, then submit the Form found in the WalletConnect Dashboard. We will review the submission and confirm the results to the submitted contact email.

User Information FAQs

Does the user need to enter their information for every transaction?
No. The process is optimized so users don’t have to re-enter information for each transaction. Once collected, the information will be reused.

What if my wallet already has the required data?
Wallets that already have verified user PII can prefill the WebView form by appending a ?prefill=<base64url-json> query parameter to the WebView URL. The required list from the collectDataAction.schema tells you which fields the form expects (e.g., fullName, dob, pobAddress).

Why is user information required?
WalletConnect Pay complies with Travel Rule regulations to ensure the payment flow is scalable and future-proof across all regions. This requires capturing some user information like name and date of birth.

Can wallets implement custom UI instead of the WebView form?
Yes, with a caveat. Wallets that choose to implement custom UI assume responsibility for keeping their forms in sync with these changes. When changes are rolled out, wallets must implement them immediately.