curl --request GET \
--url https://api.pay.walletconnect.com/v1/payments \
--header 'Api-Key: <api-key>'import requests
url = "https://api.pay.walletconnect.com/v1/payments"
headers = {"Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'Api-Key': '<api-key>'}};
fetch('https://api.pay.walletconnect.com/v1/payments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.pay.walletconnect.com/v1/payments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.pay.walletconnect.com/v1/payments"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.pay.walletconnect.com/v1/payments")
.header("Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pay.walletconnect.com/v1/payments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"paymentId": "pay_a1a2ecc101KGF210FP7PN3BK08PZARS1CZ",
"merchant": {
"id": "acme-store-1",
"name": "Acme Store",
"iconUrl": "https://imagedelivery.net/example/icon.png"
},
"referenceId": "a1b2cad4e5f2783012345678axcdea90",
"status": "succeeded",
"isTerminal": true,
"fiatAmount": {
"unit": "iso4217/USD",
"value": "500",
"display": {
"assetSymbol": "USD",
"assetName": "US Dollar",
"decimals": 2
}
},
"tokenAmount": {
"unit": "caip19/eip155:8453/erc20:0x0000000000000000000000000000000000000000",
"value": "5000000",
"display": {
"assetSymbol": "USDC",
"assetName": "USD Coin",
"decimals": 6,
"networkName": "Base",
"iconUrl": "https://api.walletconnect.com/assets/v1/image/token/USDC/md",
"networkIconUrl": "https://api.walletconnect.com/assets/v1/image/network/eip155%3A8453/md"
}
},
"buyer": {
"accountCaip10": "eip155:8453:0x0000000000000000000000000000000000000000",
"accountProviderName": "MetaMask",
"accountProviderIcon": "https://api.walletconnect.com/assets/v1/image/wallet/metamask/md"
},
"transaction": {
"networkId": "8453",
"hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"nonce": 42
},
"settlement": {
"amount": {
"unit": "caip19/eip155:8453/erc20:0x0000000000000000000000000000000000000000",
"value": "4840000",
"display": {
"assetSymbol": "USDC",
"assetName": "USD Coin",
"decimals": 6,
"iconUrl": "https://api.walletconnect.com/assets/v1/image/token/USDC/md",
"networkName": "Base",
"networkIconUrl": "https://api.walletconnect.com/assets/v1/image/network/eip155%3A8453/md"
}
},
"settled": true,
"txHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
"fees": {
"total": {
"unit": "caip19/eip155:8453/erc20:0x0000000000000000000000000000000000000000",
"value": "160000",
"display": {
"assetSymbol": "USDC",
"assetName": "USD Coin",
"decimals": 6,
"iconUrl": "https://api.walletconnect.com/assets/v1/image/token/USDC/md",
"networkName": "Base",
"networkIconUrl": "https://api.walletconnect.com/assets/v1/image/network/eip155%3A8453/md"
}
},
"fixed": {
"unit": "caip19/eip155:8453/erc20:0x0000000000000000000000000000000000000000",
"value": "140000",
"display": {
"assetSymbol": "USDC",
"assetName": "USD Coin",
"decimals": 6,
"iconUrl": "https://api.walletconnect.com/assets/v1/image/token/USDC/md",
"networkName": "Base",
"networkIconUrl": "https://api.walletconnect.com/assets/v1/image/network/eip155%3A8453/md"
}
},
"percentage": "0.4"
},
"createdAt": "2024-01-01T12:00:00.000Z",
"lastUpdatedAt": "2024-01-01T12:00:00.000Z",
"settledAt": "2024-01-01T12:00:00.000Z"
}
],
"nextCursor": null,
"stats": {
"totalRevenue": [
{
"amount": 1000,
"currency": "USD"
}
],
"totalTransactions": 100,
"totalCustomers": 25
}
}List payments
Retrieve paginated payments with optional filters.
curl --request GET \
--url https://api.pay.walletconnect.com/v1/payments \
--header 'Api-Key: <api-key>'import requests
url = "https://api.pay.walletconnect.com/v1/payments"
headers = {"Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'Api-Key': '<api-key>'}};
fetch('https://api.pay.walletconnect.com/v1/payments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.pay.walletconnect.com/v1/payments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.pay.walletconnect.com/v1/payments"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.pay.walletconnect.com/v1/payments")
.header("Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pay.walletconnect.com/v1/payments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"paymentId": "pay_a1a2ecc101KGF210FP7PN3BK08PZARS1CZ",
"merchant": {
"id": "acme-store-1",
"name": "Acme Store",
"iconUrl": "https://imagedelivery.net/example/icon.png"
},
"referenceId": "a1b2cad4e5f2783012345678axcdea90",
"status": "succeeded",
"isTerminal": true,
"fiatAmount": {
"unit": "iso4217/USD",
"value": "500",
"display": {
"assetSymbol": "USD",
"assetName": "US Dollar",
"decimals": 2
}
},
"tokenAmount": {
"unit": "caip19/eip155:8453/erc20:0x0000000000000000000000000000000000000000",
"value": "5000000",
"display": {
"assetSymbol": "USDC",
"assetName": "USD Coin",
"decimals": 6,
"networkName": "Base",
"iconUrl": "https://api.walletconnect.com/assets/v1/image/token/USDC/md",
"networkIconUrl": "https://api.walletconnect.com/assets/v1/image/network/eip155%3A8453/md"
}
},
"buyer": {
"accountCaip10": "eip155:8453:0x0000000000000000000000000000000000000000",
"accountProviderName": "MetaMask",
"accountProviderIcon": "https://api.walletconnect.com/assets/v1/image/wallet/metamask/md"
},
"transaction": {
"networkId": "8453",
"hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"nonce": 42
},
"settlement": {
"amount": {
"unit": "caip19/eip155:8453/erc20:0x0000000000000000000000000000000000000000",
"value": "4840000",
"display": {
"assetSymbol": "USDC",
"assetName": "USD Coin",
"decimals": 6,
"iconUrl": "https://api.walletconnect.com/assets/v1/image/token/USDC/md",
"networkName": "Base",
"networkIconUrl": "https://api.walletconnect.com/assets/v1/image/network/eip155%3A8453/md"
}
},
"settled": true,
"txHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
"fees": {
"total": {
"unit": "caip19/eip155:8453/erc20:0x0000000000000000000000000000000000000000",
"value": "160000",
"display": {
"assetSymbol": "USDC",
"assetName": "USD Coin",
"decimals": 6,
"iconUrl": "https://api.walletconnect.com/assets/v1/image/token/USDC/md",
"networkName": "Base",
"networkIconUrl": "https://api.walletconnect.com/assets/v1/image/network/eip155%3A8453/md"
}
},
"fixed": {
"unit": "caip19/eip155:8453/erc20:0x0000000000000000000000000000000000000000",
"value": "140000",
"display": {
"assetSymbol": "USDC",
"assetName": "USD Coin",
"decimals": 6,
"iconUrl": "https://api.walletconnect.com/assets/v1/image/token/USDC/md",
"networkName": "Base",
"networkIconUrl": "https://api.walletconnect.com/assets/v1/image/network/eip155%3A8453/md"
}
},
"percentage": "0.4"
},
"createdAt": "2024-01-01T12:00:00.000Z",
"lastUpdatedAt": "2024-01-01T12:00:00.000Z",
"settledAt": "2024-01-01T12:00:00.000Z"
}
],
"nextCursor": null,
"stats": {
"totalRevenue": [
{
"amount": 1000,
"currency": "USD"
}
],
"totalTransactions": 100,
"totalCustomers": 25
}
}Authorizations
Headers
Optional WalletConnect Pay API version override. If omitted, the partner's pinned version is used.
"2026-02-18"
"2026-02-19.preview"
Query Parameters
RFC3339 timestamp, inclusive
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$"2026-01-06T00:00:00Z"
RFC3339 timestamp, exclusive
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$"2026-01-07T00:00:00Z"
Filter by token symbol (e.g. USDC). CAIP-19 identifiers are not supported. Accepts a single value or multiple repeated params:
- Single:
?token_symbol=USDC - Multiple:
?token_symbol=USDC&token_symbol=EURC
1Deprecated. This parameter will be removed in a future API version. Use token_symbol param instead.
Field to sort by
date, amount Sort direction
asc, desc Opaque pagination cursor — use the value from nextCursor in the previous response.
Page size (default 50, max 200)
1 <= x <= 200Filter by payment status. Accepts a single value or multiple repeated params:
- Single:
?status=succeeded - Multiple:
?status=succeeded&status=processing
requires_action, processing, succeeded, failed, expired Substring search on the merchant-provided reference ID. Between 3 and 35 characters. Allowed characters: ASCII letters, digits, and /-:.,+.
3 - 35^[A-Za-z0-9 /:.,+-]+$"order-42"
Filter by merchant ID. Accepts a single value or multiple repeated params:
- Single:
?merchantId=acme-store-1 - Multiple:
?merchantId=acme-store-1&merchantId=widget_co
1["acme-store-1"]
["acme-store-1", "widget_co"]