List merchants - WalletConnect Pay Docs
List merchants
cURL
curl --request GET \
--url 'https://api.pay.walletconnect.com/v1/merchants?limit=20' \
--header 'Api-Key: <api-key>'
Python
import requests
url = "https://api.pay.walletconnect.com/v1/merchants?limit=20"
headers = {"Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)
JavaScript (Fetch API)
const options = {method: 'GET', headers: {'Api-Key': '<api-key>'}};
fetch('https://api.pay.walletconnect.com/v1/merchants?limit=20', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, [\
CURLOPT_URL => "https://api.pay.walletconnect.com/v1/merchants?limit=20",\
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;
}
?>
Go
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.pay.walletconnect.com/v1/merchants?limit=20"
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))
}
Unirest (Java)
HttpResponse<String> response = Unirest.get("https://api.pay.walletconnect.com/v1/merchants?limit=20")
.header("Api-Key", "<api-key>")
.asString();
Ruby
require 'uri'
require 'net/http'
url = URI("https://api.pay.walletconnect.com/v1/merchants?limit=20")
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
Response Example
{
"merchants": [
{
"id": "mrch_7kBz2qR9xPvLmN4Yw",
"name": "Acme Store",
"email": "billing@acme.store",
"status": "active",
"iconUrl": "https://imagedelivery.net/example/acme-icon.png",
"createdAt": "2025-06-15T10:30:00.000Z"
},
{
"id": "mrch_Qx8fTp3YwKjR5vNm2",
"name": "Widget Co",
"email": null,
"status": "active",
"iconUrl": null,
"createdAt": "2025-07-01T08:00:00.000Z"
}
],
"totalCount": 2,
"nextCursor": null
}
Authorizations
- Api-Key: string (header)
- Required
Query Parameters
status: enum
- Filter by merchant status. Available options:
active,inactive,suspended
- Filter by merchant status. Available options:
search: string
- Search by merchant name or ID (case-insensitive). Required string length:
1 - 256
- Search by merchant name or ID (case-insensitive). Required string length:
cursor: string
- Opaque pagination cursor — use the value from
nextCursorin the previous response.
- Opaque pagination cursor — use the value from
limit: integer
- Page size (default 20, max 100). Required range:
1 <= x <= 100
- Page size (default 20, max 100). Required range:
Response
- merchants: object[] (required)
- Merchants list
- totalCount: integer (required)
- Total number of merchants matching the query (ignoring pagination)
- nextCursor: string | null (required)
- Cursor for the next page, or null if no more results.