List Counterparties
The saved withdrawal destinations of the workspace or of one account, newest first. Beneficiaries saved through v2 are listed too. Deleted counterparties are not.
Part of crypto v3, in beta. This endpoint is open whether or not crypto v3 is enabled for the workspace.
A workspace-scoped key lists every counterparty in the workspace, or one account's with customer_id; an account-scoped key lists its own account's.
Replaces GET /api/v2/crypto/beneficiaries.
Authorization:
Every request is signed with your API key: a short-lived JWT, signed with your private key, sent in one header on /v3/* and /api/v2/* alike.
Headers:
Authorization: APIKey {SIGNED_JWT}
How to build and sign the JWT: Authentication.
Endpoint
/v3/crypto/counterparties
Query parameters
| Parameter | Type | Description |
|---|---|---|
customer_id | string (cst_…) | Only this account's counterparties. An account-scoped key may omit it; naming another account is refused. |
coin | string | Only counterparties for this coin, for example USDC. Any casing. |
status | string | Only counterparties in this status: active, inactive, pending or issue. |
q | string | At least 3 characters. Matched, ignoring case, against the address and label and the holder's name, email and reference. A counterparty id (wlt_…) or an account id (cst_…) finds exactly that counterparty, or that account's counterparties. |
created_at_gte | string (date-time) | Created at or after this time. RFC 3339, or a date (2026-10-01) for midnight UTC at its start. |
created_at_lt | string (date-time) | Created before this time, in the same forms. |
include | string | customer adds the holder's customer object to each row. Counterparties whose account was deleted are then left out of data and total_items. |
page | integer | Page number, from 1. Default 1. |
limit | integer | Rows per page. Default 25, at most 100. |
Response Sample
{
"data": [
{
"id": "wlt_01k8z6b8c0d2e4f6g8h0j2k4m6",
"customer_id": "cst_01h455vb4pex5vsknk084sn02q",
"coin": "XRP",
"address": "rPq7kM2nX9cV4bT6yH8jW3dZ5fL1sR4uE",
"tag": "381234",
"label": "Exchange account",
"status": "active",
"created_at": "2026-10-20T16:02:51Z",
"updated_at": "2026-10-20T16:02:51Z"
},
{
"id": "wlt_01k8z5q7r9s1t3v5w7x9y1z3a5",
"customer_id": "cst_01h455vb4pex5vsknk084sn02q",
"coin": "USDC",
"address": "0x8f3b2c1d0e9a7b6c5d4e3f2a1b0c9d8e7f6a5b4c",
"label": "Supplier payouts",
"network": "ERC20",
"reference": "supplier-17",
"status": "active",
"created_at": "2026-10-20T15:40:00Z",
"updated_at": "2026-10-20T15:40:00Z"
}
],
"page": 1,
"limit": 25,
"total_items": 2,
"total_pages": 1
}
Response Schema
| Field | Type | Description |
|---|---|---|
data | array | The counterparties on this page. |
data[].id | string (wlt_…) | The counterparty: the id a withdrawal names as counterparty_id. v2's beneficiary id, as a TypeID. |
data[].customer_id | string (cst_…) | The account it belongs to. |
data[].coin | string | The coin sent to it, upper case. |
data[].address | string | The destination, without the memo. |
data[].tag | string | The memo, on chains that route by one. Absent elsewhere. |
data[].label | string | Your name for it. Absent when it has none. |
data[].network | string | The chain note given when it was saved. Absent when none was given. |
data[].reference | string | Your own string, as sent when it was saved through v3. Absent when none was given, and on beneficiaries saved through v2. |
data[].status | string | active, inactive, pending or issue. A counterparty saved through v3 is active. |
data[].customer | object | The holder: id (cst_…), name, email. Only with include=customer. |
data[].created_at / updated_at | string (date-time) | RFC 3339, UTC. |
page, limit, total_items, total_pages | integer | Pagination, as described in the API v3 overview. next_cursor and prev_cursor are not returned yet. |
Errors
| Status | message | When |
|---|---|---|
400 | failed to parse request | A parameter has the wrong form: page or limit is not an integer, coin is not a ticker, status is not one of the listed values, customer_id is not a cst_… id, a date is neither RFC 3339 nor YYYY-MM-DD, or include is not customer. |
400 | coin_not_crypto | coin is a fiat currency, such as USD. |
401 | unauthorized | Missing or invalid signature. |
403 | forbidden | An account-scoped key named another account. |
422 | Validation failed | q is shorter than 3 characters; details names it. |
Coming from v2
v2 (GET /api/v2/crypto/beneficiaries) | v3 |
|---|---|
accountId, coinId | customer_id, coin |
search | q |
startDate, endDate | created_at_gte, created_at_lt |
page, limit (default 100) | page, limit (default 25, at most 100) |
the owner always embedded as customer | customer only with include=customer |
memo inside address | address and tag apart |
total | total_items, total_pages |
Support and Resources
If you need assistance or have any questions, our support team is here to help. You can contact our support team at support@blockwyre.com.
Stay Updated
Stay up-to-date with the latest news, updates, and features from BlockWyre by following us on social media:
- Instagram: BlockWyre Instagram
- Twitter: BlockWyre Twitter
- Facebook: BlockWyre Facebook
- LinkedIn: BlockWyre LinkedIn
We are excited to have you on board and look forward to seeing how you leverage BlockWyre's powerful tools to enhance your financial operations. Happy integrating!