Vaults
List Vaults
Retrieve a paginated list of vaults in your organization, optionally filtered by vault name.
Request example
{
"query": {
"limit": 20,
"cursor": null,
"vaultName": "Treasury"
}
}
# Sample only. Generate a new signed token for each request
# (see Authentication). Tokens expire after 120 seconds.
curl --request GET \
--url "https://api.primevault.com/api/external/vaults/?limit=20&vaultName=Treasury" \
--header "Authorization: Bearer <signed JWT>" \
--header "Api-Key: <API key>" \
--header "Accept: application/json"
getVaults(
params?: Record<string, string>,
limit?: number,
cursor?: string | null,
): Promise<VaultListResponse>
const firstPage = await apiClient.getVaults(
{ vaultName: "Treasury" },
20,
null,
);
Response example
{
"results": [
{
"id": "vault_123",
"orgId": "org_456",
"subOrgId": "sub_org_123",
"vaultName": "Treasury Vault",
"vaultType": "DEFAULT",
"wallets": [
{
"id": "wallet_123",
"blockchain": "ETHEREUM",
"address": "0x1234567890abcdef1234567890abcdef12345678",
"publicKey": "0x04abcdef"
}
],
"walletsGenerated": true,
"createdAt": "2026-08-04T10:30:00Z",
"updatedAt": "2026-08-04T10:35:00Z",
"isDeleted": false,
"asset": null
},
{
"id": "vault_ngn_business",
"orgId": "org_456",
"subOrgId": "sub_org_123",
"vaultName": "NGN Business Account",
"vaultType": "DEFAULT",
"asset": "NGN",
"wallets": [],
"walletsGenerated": false,
"createdAt": "2026-09-27T10:00:00Z",
"updatedAt": "2026-09-27T10:00:00Z",
"isDeleted": false
}
],
"nextCursor": "eyJpZCI6InZhdWx0XzEyMyJ9",
"hasNext": true
}
interface VaultListResponse {
results: Vault[];
nextCursor?: string | null;
hasNext?: boolean;
}
GET
/api/external/vaults/?limit={limit}&cursor={cursor}&{filters}
Query parameters
number
Requested page size. SDK default: 20.
string | null
First page: null/empty. Subsequent pages: the preceding
nextCursor.Record<string, string>
Resource filters, for example
vaultName.Response
Returns a page of Vault objects. See Cursor response.Vault[]
Vaults on this page. Each item is a Vault.
Show Properties
Show Properties
string
Vault ID.
string
Organization that owns the vault.
string
Vault name.
string | null
Currency of a multi-currency account vault, for example
NGN. null for self-custody vaults.object[]
boolean
Whether wallet addresses are ready. Wait for
true before using wallets.string
Creation timestamp (ISO 8601).
string
Last update timestamp (ISO 8601).
boolean
Whether the vault is deleted.
string | null
Cursor for the next page.
null on the last page.boolean
Whether another page exists.
Request example
{
"query": {
"limit": 20,
"cursor": null,
"vaultName": "Treasury"
}
}
# Sample only. Generate a new signed token for each request
# (see Authentication). Tokens expire after 120 seconds.
curl --request GET \
--url "https://api.primevault.com/api/external/vaults/?limit=20&vaultName=Treasury" \
--header "Authorization: Bearer <signed JWT>" \
--header "Api-Key: <API key>" \
--header "Accept: application/json"
getVaults(
params?: Record<string, string>,
limit?: number,
cursor?: string | null,
): Promise<VaultListResponse>
const firstPage = await apiClient.getVaults(
{ vaultName: "Treasury" },
20,
null,
);
Response example
{
"results": [
{
"id": "vault_123",
"orgId": "org_456",
"subOrgId": "sub_org_123",
"vaultName": "Treasury Vault",
"vaultType": "DEFAULT",
"wallets": [
{
"id": "wallet_123",
"blockchain": "ETHEREUM",
"address": "0x1234567890abcdef1234567890abcdef12345678",
"publicKey": "0x04abcdef"
}
],
"walletsGenerated": true,
"createdAt": "2026-08-04T10:30:00Z",
"updatedAt": "2026-08-04T10:35:00Z",
"isDeleted": false,
"asset": null
},
{
"id": "vault_ngn_business",
"orgId": "org_456",
"subOrgId": "sub_org_123",
"vaultName": "NGN Business Account",
"vaultType": "DEFAULT",
"asset": "NGN",
"wallets": [],
"walletsGenerated": false,
"createdAt": "2026-09-27T10:00:00Z",
"updatedAt": "2026-09-27T10:00:00Z",
"isDeleted": false
}
],
"nextCursor": "eyJpZCI6InZhdWx0XzEyMyJ9",
"hasNext": true
}
interface VaultListResponse {
results: Vault[];
nextCursor?: string | null;
hasNext?: boolean;
}
⌘I
Request example
{
"query": {
"limit": 20,
"cursor": null,
"vaultName": "Treasury"
}
}
# Sample only. Generate a new signed token for each request
# (see Authentication). Tokens expire after 120 seconds.
curl --request GET \
--url "https://api.primevault.com/api/external/vaults/?limit=20&vaultName=Treasury" \
--header "Authorization: Bearer <signed JWT>" \
--header "Api-Key: <API key>" \
--header "Accept: application/json"
getVaults(
params?: Record<string, string>,
limit?: number,
cursor?: string | null,
): Promise<VaultListResponse>
const firstPage = await apiClient.getVaults(
{ vaultName: "Treasury" },
20,
null,
);
Response example
{
"results": [
{
"id": "vault_123",
"orgId": "org_456",
"subOrgId": "sub_org_123",
"vaultName": "Treasury Vault",
"vaultType": "DEFAULT",
"wallets": [
{
"id": "wallet_123",
"blockchain": "ETHEREUM",
"address": "0x1234567890abcdef1234567890abcdef12345678",
"publicKey": "0x04abcdef"
}
],
"walletsGenerated": true,
"createdAt": "2026-08-04T10:30:00Z",
"updatedAt": "2026-08-04T10:35:00Z",
"isDeleted": false,
"asset": null
},
{
"id": "vault_ngn_business",
"orgId": "org_456",
"subOrgId": "sub_org_123",
"vaultName": "NGN Business Account",
"vaultType": "DEFAULT",
"asset": "NGN",
"wallets": [],
"walletsGenerated": false,
"createdAt": "2026-09-27T10:00:00Z",
"updatedAt": "2026-09-27T10:00:00Z",
"isDeleted": false
}
],
"nextCursor": "eyJpZCI6InZhdWx0XzEyMyJ9",
"hasNext": true
}
interface VaultListResponse {
results: Vault[];
nextCursor?: string | null;
hasNext?: boolean;
}