Skip to main content

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.

Beta

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

GET

/v3/crypto/counterparties

Query parameters​

ParameterTypeDescription
customer_idstring (cst_…)Only this account's counterparties. An account-scoped key may omit it; naming another account is refused.
coinstringOnly counterparties for this coin, for example USDC. Any casing.
statusstringOnly counterparties in this status: active, inactive, pending or issue.
qstringAt 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_gtestring (date-time)Created at or after this time. RFC 3339, or a date (2026-10-01) for midnight UTC at its start.
created_at_ltstring (date-time)Created before this time, in the same forms.
includestringcustomer adds the holder's customer object to each row. Counterparties whose account was deleted are then left out of data and total_items.
pageintegerPage number, from 1. Default 1.
limitintegerRows 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​

FieldTypeDescription
dataarrayThe counterparties on this page.
data[].idstring (wlt_…)The counterparty: the id a withdrawal names as counterparty_id. v2's beneficiary id, as a TypeID.
data[].customer_idstring (cst_…)The account it belongs to.
data[].coinstringThe coin sent to it, upper case.
data[].addressstringThe destination, without the memo.
data[].tagstringThe memo, on chains that route by one. Absent elsewhere.
data[].labelstringYour name for it. Absent when it has none.
data[].networkstringThe chain note given when it was saved. Absent when none was given.
data[].referencestringYour own string, as sent when it was saved through v3. Absent when none was given, and on beneficiaries saved through v2.
data[].statusstringactive, inactive, pending or issue. A counterparty saved through v3 is active.
data[].customerobjectThe holder: id (cst_…), name, email. Only with include=customer.
data[].created_at / updated_atstring (date-time)RFC 3339, UTC.
page, limit, total_items, total_pagesintegerPagination, as described in the API v3 overview. next_cursor and prev_cursor are not returned yet.

Errors​

StatusmessageWhen
400failed to parse requestA 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.
400coin_not_cryptocoin is a fiat currency, such as USD.
401unauthorizedMissing or invalid signature.
403forbiddenAn account-scoped key named another account.
422Validation failedq is shorter than 3 characters; details names it.

Coming from v2​

v2 (GET /api/v2/crypto/beneficiaries)v3
accountId, coinIdcustomer_id, coin
searchq
startDate, endDatecreated_at_gte, created_at_lt
page, limit (default 100)page, limit (default 25, at most 100)
the owner always embedded as customercustomer only with include=customer
memo inside addressaddress and tag apart
totaltotal_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:

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!