List counterparty accounts
Lists payment accounts for a counterparty.
GET/Run in dashboard
Crypto-wallet accounts can be used by payment flows that send funds to a counterparty wallet.
Requires an API key with the counterparties.read action.
Path parameters
-
counterpartyId·string· required · min length 1 · examplecpty_exampleCounterparty identifier.
Query parameters
-
page·integer· greater than 0 · default1· example1Page number (1-based).
-
pageSize·integer· min 1 · max 100 · default20· example20Items per page (max 100).
-
includeArchived·boolean· examplefalseInclude archived counterparty accounts in results.
-
accountKind·string· alwayscrypto_wallet· examplecrypto_walletFilter accounts by account kind.
Headers
-
x-project-id·string· min length 1 · exampleprj_exampleRequired for dashboard sessions. API keys use their assigned project.
Responses
-
200Counterparty account list-
data·object· requiredPaginated list of counterparty accounts.
-
accounts·object[]· requiredCounterparty accounts.
-
id·string· required · examplecpacct_exampleCounterparty account identifier.
-
organizationId·string· required · min length 1 · exampleorg_exampleOrganization identifier.
-
projectId·string· required · min length 1 · exampleprj_exampleProject identifier.
-
counterpartyId·string· required · min length 1 · examplecpty_exampleCounterparty identifier.
-
accountKind·string· required · alwayscrypto_wallet· examplecrypto_walletCounterparty account kind.
-
label·string | null· required · exampleUSDC walletOptional human-readable account label.
-
details·object· requiredAccount details. For crypto_wallet accounts, include network: "solana" and address as a Solana wallet address.
*·any
-
providerAccountData·object· requiredProvider-specific account metadata preserved by SDP.
*·any
-
status·string· required · one ofactive,archived· exampleactiveCounterparty account status.
-
createdAt·string· required · formatdate-time· example2025-01-01T00:00:00.000ZCreation timestamp.
-
updatedAt·string· required · formatdate-time· example2025-01-02T00:00:00.000ZLast update timestamp.
-
-
total·integer· required · min 0 · example2Total counterparty accounts matching the query.
-
page·integer· required · greater than 0 · example1Current page number.
-
pageSize·integer· required · greater than 0 · example20Items per page.
-
-
meta·object· requiredResponse metadata.
-
requestId·string· required · min length 1 · examplereq_exampleRequest identifier for tracing.
-
timestamp·string· required · formatdate-time· example2025-01-01T00:00:00.000ZISO 8601 timestamp.
-
-
-
400Bad Request-
error·object· requiredStandard error payload.
-
code·string· requiredMachine-readable error code.
-
message·string· requiredHuman-readable error message.
-
details·objectOptional error details for debugging.
*·any
-
-
meta·object-
requestId·string· min length 1 · examplereq_exampleRequest identifier for tracing.
-
-
-
401UnauthorizedSame fields as
400. -
403Forbidden. Requires thecounterparties.readaction: an API key must hold it (a module'smanageorexecutealso covers itsread), and a signed-in member's organization role must include it. Without it the error is INSUFFICIENT_PERMISSIONS anderror.details.actionnames the action. Any other 403 names its own reason.Same fields as
400. -
404Not FoundSame fields as
400. -
500Internal Server ErrorSame fields as
400.
Example request
curl 'https://api.solana.com/v1/counterparties/cpty_example/accounts' \
-H "Authorization: Bearer $SDP_API_KEY"Example responses
{
"data": {
"accounts": [
{
"id": "cpacct_example",
"organizationId": "org_example",
"projectId": "prj_example",
"counterpartyId": "cpty_example",
"accountKind": "crypto_wallet",
"label": "USDC wallet",
"details": {
"network": "solana",
"address": "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU"
},
"providerAccountData": {},
"status": "active",
"createdAt": "2025-01-01T00:00:00.000Z",
"updatedAt": "2025-01-02T00:00:00.000Z"
}
],
"total": 2,
"page": 1,
"pageSize": 20
},
"meta": {
"requestId": "req_example",
"timestamp": "2025-01-01T00:00:00.000Z"
}
}Error responses use the standard error shape.