Skip to content

Commit 3914c88

Browse files
authored
Merge pull request #20 from WalletConnectFoundation/wallet-pay
Docs Update: Creating an overview page for WalletConnect Payments
2 parents 50d619a + 7409fa3 commit 3914c88

File tree

4 files changed

+156
-96
lines changed

4 files changed

+156
-96
lines changed

docs.json

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -268,12 +268,18 @@
268268
"icon": "credit-card",
269269
"groups": [
270270
{
271-
"group": "Point of Sale (POS) SDK",
271+
"group": "WalletConnect Payments Standard",
272272
"pages": ["payments/overview"]
273273
},
274274
{
275-
"group": "Flutter",
276-
"pages": ["payments/flutter/installation"]
275+
"group": "Point of Sale (POS) SDK",
276+
"pages": [
277+
"payments/point-of-sale",
278+
{
279+
"group": "Installation",
280+
"pages": ["payments/flutter/installation"]
281+
}
282+
]
277283
}
278284
]
279285
}

payments/flutter/installation.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "WalletConnect POS SDK - Flutter Installation"
33
description: "WalletConnect for POS is an SDK that lets customers accept stablecoin payments with a checkout experience on par with NFC tap‑to‑pay. The SDK handles WalletConnect session lifecycles, building blockchain specific transactions, UI callbacks and transaction verification."
4-
sidebarTitle: "Installation"
4+
sidebarTitle: "Flutter - POS SDK"
55
---
66

77
## User flow

payments/overview.mdx

Lines changed: 32 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -1,114 +1,54 @@
11
---
2-
title: "WalletConnect Point of Sale (POS) SDK"
3-
description: "Accept stablecoin payments at point-of-sale with a universal SDK for wallets, PSPs, and merchants."
2+
title: "WalletConnect Payments Standard"
3+
metatags:
4+
description: "Overview of WalletConnect Payments and the `wallet_pay` standard — a universal protocol that enables wallets and payment applications to exchange blockchain-based payment requests in a consistent, secure, and chain-agnostic way."
45
sidebarTitle: "Overview"
56
---
67

7-
The **WalletConnect POS SDK** extends the open WalletConnect protocol into the world of **in-person payments**, enabling seamless, stablecoin-native checkout experiences at physical points of sale.
8+
Digital payments across blockchains remain inconsistent. Each wallet, merchant, and provider implements its own integration model. This fragmentation slows innovation and limits interoperability. To address this, WalletConnect introduces the **`wallet_pay`** standard. A unified protocol for initiating and processing blockchain-based payments.
89

9-
With the same universal interoperability that connects wallets and dapps, the POS SDK allows **Payment Service Providers (PSPs)** and **merchants** to accept stablecoin payments across multiple chains and wallets, no hardware changes or fragmented integrations required.
10+
## What is `wallet_pay`
1011

11-
---
12-
13-
## Overview
14-
15-
The **WalletConnect POS SDK** brings the simplicity of “tap-to-pay” to crypto. Using a QR-based flow, any wallet connected through WalletConnect can make real-world payments in seconds.
16-
17-
- **Merchant:** Selects “Crypto Payment” → POS generates a payment QR
18-
- **Customer:** Scans with their wallet → confirms transaction
19-
- **POS:** Receives instant onchain confirmation and marks payment complete
20-
21-
This SDK bridges online crypto rails with in-person commerce, making **stablecoin payments** as frictionless as any traditional payment method.
22-
23-
## Quickstart
24-
25-
<CardGroup cols={2}>
26-
<Card title="Flutter" icon="flutter" href="/payments/flutter/installation">
27-
Get started with WalletConnect POS SDK in Flutter.
28-
</Card>
29-
</CardGroup>
30-
## Why WalletConnect POS SDK?
12+
`wallet_pay` is the open standard that defines how wallets and payment applications communicate to initiate and process blockchain-based payments.
13+
It provides a consistent way to describe payment requests: who is paying, what asset is being transferred, and under what conditions; regardless of wallet, blockchain, or application context.
3114

32-
Stablecoins have become the dominant onchain payment medium with **$4T+ monthly transaction volume**, yet real-world checkout remains fragmented:
15+
At its core, `wallet_pay` enables **interoperable, wallet-native payments** across the entire WalletConnect ecosystem and beyond.
3316

34-
- Merchants must integrate multiple wallets or blockchains individually
35-
- PSPs lack visibility into transaction states and reconciliation
36-
- Customers face confusing UX with manual address entry and gas settings
17+
## Why a Standard Matters
3718

38-
As providers like **Visa**, **PayPal**, and **Stripe** experiment with stablecoin settlements, the next step is **real-world adoption**, where crypto payments feel native at the register.
19+
Payment interactions between wallets and merchants have often been **fragmented**, each relying on custom APIs, message formats, or user flows.
3920

40-
**WalletConnect POS SDK turns that vision into reality**.
21+
This lack of alignment makes it difficult for wallets, service providers, and merchants to work together at scale.
4122

42-
## What does WalletConnect POS SDK have to offer?
23+
`wallet_pay` introduces a **shared language** for payments, allowing:
4324

44-
<Steps>
45-
<Step title="Universal Rail" icon="globe">
46-
A single SDK for PSPs and merchants to **accept stablecoin payments across any WalletConnect-compatible wallet and supported network**. No separate wallet integrations or new hardware required.
47-
</Step>
48-
<Step title="Seamless Checkout UX" icon="qrcode">
49-
Customers simply scan, confirm, and pay. Payments settle onchain in seconds with a **familiar checkout experience** similar to Apple Pay or tap-to-pay.
50-
</Step>
51-
<Step title="Multi-Chain with Full Visibility" icon="ethernet">
52-
Supports **EVM, Solana, and Tron** from day one. Provides standardized transaction statuses for reconciliation and customer support:
53-
54-
`[new, pending_onchain, confirmed, underpaid, overpaid, expired, failed]`.
55-
</Step>
56-
</Steps>
25+
- **Wallets** to interpret any standardized payment request without bespoke integration.
26+
- **Merchants and service providers** to issue payment requests compatible with any wallet that supports the standard.
27+
- **Ecosystem scalability** for new payment contexts (online checkout, recurring payments, point-of-sale, etc.) can all use the same foundation.
5728

58-
## How does it work?
29+
In short, `wallet_pay` abstracts *how* payment information is exchanged, so innovation can focus on *what* experiences are built on top.
5930

60-
<video
61-
controls
62-
className="w-full"
63-
autoPlay
64-
src="/images/videos/pos-demo.mp4"
65-
></video>
31+
## Who Should Use `wallet_pay`
6632

67-
### Merchant - Point of Sale (POS)
68-
1. Selects **Crypto** as payment method.
69-
2. Chooses **token** (e.g., USDC, USDT).
70-
3. Chooses **network** (e.g., Base, Polygon, Ethereum).
71-
4. POS **generates QR** with payment details (amount, token, network, destination).
33+
| Stakeholder | How They Benefit |
34+
|--------------|------------------|
35+
| **Wallet developers** | Implement a unified payments interface that works across merchants and ecosystems. |
36+
| **Payment Service Providers (PSPs)** | Use the standard as a bridge between wallets, merchants, and on-chain settlement logic. |
37+
| **Merchants & Platforms** | Integrate once and accept payments from any `wallet_pay`-compatible wallet. |
38+
| **Consumer Apps for Payments (POS, web checkout, invoices, subscriptions)** | Build new payment experiences using a common protocol. |
7239

73-
### Customer (Wallet)
74-
1. **Scans the QR** using a WalletConnect-compatible wallet.
75-
2. Wallet displays **payment preview**.
76-
3. Customer **confirms** the transaction.
77-
4. Transaction broadcasts onchain.
40+
<Note>
41+
While CAIP-358 primarily defines wallet-to-merchant interaction, it is extensible to PSPs that relay or implement those interactions.
42+
</Note>
7843

79-
### Completion
80-
- POS receives confirmation and displays success/receipt
81-
- Transaction hash available for tracking and reconciliation
44+
## Role in the WalletConnect Payments Ecosystem
8245

83-
**This flow can also be simplified to a one-step scan for pre-filled requests.** This is coming soon and more information will be available shortly.
46+
Within WalletConnect, `wallet_pay` serves as the **foundational protocol** that powers all payment-related features.
8447

85-
## Who is it for?
48+
Every SDK or product, such as the **POS SDK**, implements or extends `wallet_pay` to handle request creation, signing, and transaction tracking in a consistent way.
8649

87-
### Payment Service Providers & POS Integrators
88-
89-
**DTC Pay**, Square-like or Ingenico-style providers are examples of PSPs that can use the POS SDK to accept stablecoin payments.
90-
91-
- Reduce cost and complexity of integrating stablecoin payments
92-
- Gain transaction lifecycle visibility for **refunds and reconciliation**
93-
- Stay competitive as stablecoin adoption enters mainstream retail
94-
95-
<Warning>
96-
WalletConnect POS SDK does not handle refunds or reconciliation directly. It is the responsibility of the PSP to handle these. However, the SDK provides the necessary standardized callbacks to allow the PSP to handle the refund and reconciliation process.
97-
</Warning>
98-
99-
### Merchants
100-
- Accept stablecoins from any wallet with no new hardware
101-
- Offer customers a **fast, modern checkout** experience
102-
- Maintain compliance and reporting via PSP dashboards
103-
104-
---
50+
This means that any wallet or merchant integrating `wallet_pay` is automatically compatible with the full WalletConnect Payments ecosystem, present and future.
10551

106-
## Supported Environments
52+
## Specification Reference
10753

108-
| Category | Support |
109-
|-----------|----------|
110-
| **POS SDKs** | Flutter, Kotlin, JavaScript |
111-
| **Assets** | Stablecoins (e.g., USDC, USDT) |
112-
| **Networks at Launch** | EVM chains (Ethereum, Optimism, Base, etc.), Solana, Tron |
113-
| **Wallet Coverage** | 500+ WalletConnect-compatible wallets |
114-
| **Transaction Lifecycle** | Standardized callbacks -> `PaymentSuccessfulEvent`, `PaymentFailedEvent` |
54+
The `wallet_pay` standard is defined in [CAIP-358: Universal Payment Request Method](https://eip.tools/caip/358). It specifies how payment requests are structured and exchanged between merchants and wallets. Lifecycle management and status tracking (e.g., pending, confirmed, failed) are implementation details defined by [WalletConnect’s POS SDK](/payments/point-of-sale).

payments/point-of-sale.mdx

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
---
2+
title: "WalletConnect Point of Sale (POS) SDK"
3+
description: "Accept stablecoin payments at point-of-sale with a universal SDK for wallets, PSPs, and merchants."
4+
sidebarTitle: "Overview"
5+
---
6+
7+
The **WalletConnect POS SDK** extends the open WalletConnect protocol into the world of **in-person payments**, enabling seamless, stablecoin-native checkout experiences at physical points of sale.
8+
9+
With the same universal interoperability that connects wallets and dapps, the POS SDK allows **Payment Service Providers (PSPs)** and **merchants** to accept stablecoin payments across multiple chains and wallets, no hardware changes or fragmented integrations required.
10+
11+
---
12+
13+
## Overview
14+
15+
The **WalletConnect POS SDK** brings the simplicity of “tap-to-pay” to crypto. Using a QR-based flow, any wallet connected through WalletConnect can make real-world payments in seconds.
16+
17+
- **Merchant:** Selects “Crypto Payment” → POS generates a payment QR
18+
- **Customer:** Scans with their wallet → confirms transaction
19+
- **POS:** Receives instant onchain confirmation and marks payment complete
20+
21+
This SDK bridges online crypto rails with in-person commerce, making **stablecoin payments** as frictionless as any traditional payment method.
22+
23+
## Quickstart
24+
25+
<CardGroup cols={2}>
26+
<Card title="Flutter" icon="flutter" href="/payments/flutter/installation">
27+
Get started with WalletConnect POS SDK in Flutter.
28+
</Card>
29+
</CardGroup>
30+
## Why WalletConnect POS SDK?
31+
32+
Stablecoins have become the dominant onchain payment medium with **$4T+ monthly transaction volume**, yet real-world checkout remains fragmented:
33+
34+
- Merchants must integrate multiple wallets or blockchains individually
35+
- PSPs lack visibility into transaction states and reconciliation
36+
- Customers face confusing UX with manual address entry and gas settings
37+
38+
As providers like **Visa**, **PayPal**, and **Stripe** experiment with stablecoin settlements, the next step is **real-world adoption**, where crypto payments feel native at the register.
39+
40+
**WalletConnect POS SDK turns that vision into reality**.
41+
42+
## What does WalletConnect POS SDK have to offer?
43+
44+
<Steps>
45+
<Step title="Universal Rail" icon="globe">
46+
A single SDK for PSPs and merchants to **accept stablecoin payments across any WalletConnect-compatible wallet and supported network**. No separate wallet integrations or new hardware required.
47+
</Step>
48+
<Step title="Seamless Checkout UX" icon="qrcode">
49+
Customers simply scan, confirm, and pay. Payments settle onchain in seconds with a **familiar checkout experience** similar to Apple Pay or tap-to-pay.
50+
</Step>
51+
<Step title="Multi-Chain with Full Visibility" icon="ethernet">
52+
Supports **EVM, Solana, and Tron** from day one. Provides standardized transaction statuses for reconciliation and customer support:
53+
54+
`[new, pending_onchain, confirmed, underpaid, overpaid, expired, failed]`.
55+
</Step>
56+
</Steps>
57+
58+
## How does it work?
59+
60+
<video
61+
controls
62+
className="w-full"
63+
autoPlay
64+
src="/images/videos/pos-demo.mp4"
65+
></video>
66+
67+
### Merchant - Point of Sale (POS)
68+
1. Selects **Crypto** as payment method.
69+
2. Chooses **token** (e.g., USDC, USDT).
70+
3. Chooses **network** (e.g., Base, Polygon, Ethereum).
71+
4. POS **generates QR** with payment details (amount, token, network, destination).
72+
73+
### Customer (Wallet)
74+
1. **Scans the QR** using a WalletConnect-compatible wallet.
75+
2. Wallet displays **payment preview**.
76+
3. Customer **confirms** the transaction.
77+
4. Transaction broadcasts onchain.
78+
79+
### Completion
80+
- POS receives confirmation and displays success/receipt
81+
- Transaction hash available for tracking and reconciliation
82+
83+
**This flow can also be simplified to a one-step scan for pre-filled requests.** This is coming soon and more information will be available shortly.
84+
85+
## Who is it for?
86+
87+
### Payment Service Providers & POS Integrators
88+
89+
**DTC Pay**, Square-like or Ingenico-style providers are examples of PSPs that can use the POS SDK to accept stablecoin payments.
90+
91+
- Reduce cost and complexity of integrating stablecoin payments
92+
- Gain transaction lifecycle visibility for **refunds and reconciliation**
93+
- Stay competitive as stablecoin adoption enters mainstream retail
94+
95+
<Warning>
96+
WalletConnect POS SDK does not handle refunds or reconciliation directly. It is the responsibility of the PSP to handle these. However, the SDK provides the necessary standardized callbacks to allow the PSP to handle the refund and reconciliation process.
97+
</Warning>
98+
99+
### Merchants
100+
- Accept stablecoins from any wallet with no new hardware
101+
- Offer customers a **fast, modern checkout** experience
102+
- Maintain compliance and reporting via PSP dashboards
103+
104+
---
105+
106+
## Supported Environments
107+
108+
| Category | Support |
109+
|-----------|----------|
110+
| **POS SDKs** | Flutter, Kotlin, JavaScript |
111+
| **Assets** | Stablecoins (e.g., USDC, USDT) |
112+
| **Networks at Launch** | EVM chains (Ethereum, Optimism, Base, etc.), Solana, Tron |
113+
| **Wallet Coverage** | 500+ WalletConnect-compatible wallets |
114+
| **Transaction Lifecycle** | Standardized callbacks -> `PaymentSuccessfulEvent`, `PaymentFailedEvent` |

0 commit comments

Comments
 (0)