curl --request GET \
--url https://sandbox.zapyd.com/cms/api/v1/customer/wallet/list \
--header 'X-API-KEY: <api-key>' \
--header 'X-SIGNATURE: <api-key>' \
--header 'X-TIMESTAMP: <api-key>'import requests
url = "https://sandbox.zapyd.com/cms/api/v1/customer/wallet/list"
headers = {
"X-API-KEY": "<api-key>",
"X-TIMESTAMP": "<api-key>",
"X-SIGNATURE": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'X-API-KEY': '<api-key>',
'X-TIMESTAMP': '<api-key>',
'X-SIGNATURE': '<api-key>'
}
};
fetch('https://sandbox.zapyd.com/cms/api/v1/customer/wallet/list', 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://sandbox.zapyd.com/cms/api/v1/customer/wallet/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>",
"X-SIGNATURE: <api-key>",
"X-TIMESTAMP: <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://sandbox.zapyd.com/cms/api/v1/customer/wallet/list"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("X-TIMESTAMP", "<api-key>")
req.Header.Add("X-SIGNATURE", "<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://sandbox.zapyd.com/cms/api/v1/customer/wallet/list")
.header("X-API-KEY", "<api-key>")
.header("X-TIMESTAMP", "<api-key>")
.header("X-SIGNATURE", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.zapyd.com/cms/api/v1/customer/wallet/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
request["X-TIMESTAMP"] = '<api-key>'
request["X-SIGNATURE"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": true,
"message": "Wallets listed successfully",
"data": {
"wallets": [
{
"id": 42,
"wallet_address": "0x1234567890123456789012345678901234567890",
"network": "Ethereum",
"label": "Main wallet",
"status": "ACTIVE",
"is_visible": true,
"created_at": "2026-09-30T10:00:00Z"
}
],
"pagination": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"page_size": 10,
"has_next": false,
"has_previous": false
}
}
}{
"status": false,
"message": "Bad Request",
"data": null,
"errors": {
"date_range": [
"Start date must be before end date."
]
},
"err_code": "UNKNOWN_ERROR"
}{
"status": false,
"message": "Internal Server Error",
"data": null,
"errors": {},
"err_code": "SYS_INTERNAL_ERROR"
}List Wallets
Lists active, labelled wallets (the address book), with filters and pagination.
curl --request GET \
--url https://sandbox.zapyd.com/cms/api/v1/customer/wallet/list \
--header 'X-API-KEY: <api-key>' \
--header 'X-SIGNATURE: <api-key>' \
--header 'X-TIMESTAMP: <api-key>'import requests
url = "https://sandbox.zapyd.com/cms/api/v1/customer/wallet/list"
headers = {
"X-API-KEY": "<api-key>",
"X-TIMESTAMP": "<api-key>",
"X-SIGNATURE": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'X-API-KEY': '<api-key>',
'X-TIMESTAMP': '<api-key>',
'X-SIGNATURE': '<api-key>'
}
};
fetch('https://sandbox.zapyd.com/cms/api/v1/customer/wallet/list', 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://sandbox.zapyd.com/cms/api/v1/customer/wallet/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>",
"X-SIGNATURE: <api-key>",
"X-TIMESTAMP: <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://sandbox.zapyd.com/cms/api/v1/customer/wallet/list"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("X-TIMESTAMP", "<api-key>")
req.Header.Add("X-SIGNATURE", "<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://sandbox.zapyd.com/cms/api/v1/customer/wallet/list")
.header("X-API-KEY", "<api-key>")
.header("X-TIMESTAMP", "<api-key>")
.header("X-SIGNATURE", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.zapyd.com/cms/api/v1/customer/wallet/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
request["X-TIMESTAMP"] = '<api-key>'
request["X-SIGNATURE"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": true,
"message": "Wallets listed successfully",
"data": {
"wallets": [
{
"id": 42,
"wallet_address": "0x1234567890123456789012345678901234567890",
"network": "Ethereum",
"label": "Main wallet",
"status": "ACTIVE",
"is_visible": true,
"created_at": "2026-09-30T10:00:00Z"
}
],
"pagination": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"page_size": 10,
"has_next": false,
"has_previous": false
}
}
}{
"status": false,
"message": "Bad Request",
"data": null,
"errors": {
"date_range": [
"Start date must be before end date."
]
},
"err_code": "UNKNOWN_ERROR"
}{
"status": false,
"message": "Internal Server Error",
"data": null,
"errors": {},
"err_code": "SYS_INTERNAL_ERROR"
}List Wallets
Authorizations
API Key for authentication
Current timestamp in seconds since epoch
HMAC SHA256 signature of the request encoded in Base64
Query Parameters
Filter by customer
Filter by network (case-insensitive)
Filter by status
ACTIVE, INACTIVE Created on or after (ISO 8601)
Created on or before (ISO 8601)
Page number
x >= 1Results per page
1 <= x <= 100Response
Success
true
"Wallets listed successfully"
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
Wallet ID (integer). Use it in the fetch and delete paths.
42
Wallet address
"0x1234567890123456789012345678901234567890"
Canonical network name
Ethereum, Polygon, Arbitrum, Bsc, Sepolia, Solana, Tron "Ethereum"
Label shown in the address book. Only labelled wallets are returned by List Wallets.
"Main wallet"
Wallet status
ACTIVE, INACTIVE "ACTIVE"
True when the wallet has a non-empty label
true
Creation time (ISO 8601)
"2026-09-30T10:00:00Z"