Transactions
List Transactions
Retrieve a paginated list of transactions, filtered by status, category, vault, asset, or external ID.
Request example
{
"query": {
"limit": 20,
"cursor": null,
"status": "COMPLETED",
"vaultId": "vault_123"
}
}
# 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/transactions/?limit=20&status=COMPLETED&vaultId=vault_123" \
--header "Authorization: Bearer <signed JWT>" \
--header "Api-Key: <API key>" \
--header "Accept: application/json"
getTransactions(
params?: Record<string, string>,
limit?: number,
cursor?: string | null,
): Promise<TransactionListResponse>
Response example
{
"results": [
{
"id": "transaction_123",
"orgId": "org_456",
"vaultId": "vault_123",
"status": "COMPLETED",
"transactionType": "OUTGOING",
"category": "TRANSFER",
"subCategory": "EXTERNAL_TRANSFER",
"createdAt": "2026-08-04T10:40:00Z",
"updatedAt": "2026-08-04T10:42:15Z",
"isDeleted": false,
"externalId": "invoice-1001",
"memo": "Vendor payout #1001",
"source": {
"type": "VAULT",
"id": "vault_123",
"subOrgId": "sub_org_123",
"name": "Treasury Vault"
},
"destination": {
"type": "CONTACT",
"id": "contact_456",
"name": "Operations Wallet",
"address": "0xAbC1234567890abcdef1234567890abcdef1234",
"chain": "ETHEREUM"
},
"blockChain": "ETHEREUM",
"asset": "ETH",
"amount": "0.50",
"txHash": "0x9f4e6c1b7a2d3e4f",
"balanceChanges": {
"changes": [
{
"party": {
"type": "VAULT",
"id": "vault_123",
"subOrgId": "sub_org_123",
"name": "Treasury Vault"
},
"asset": "ETH",
"amount": "-0.50",
"chain": "ETHEREUM"
},
{
"party": {
"type": "CONTACT",
"id": "contact_456",
"name": "Operations Wallet",
"address": "0xAbC1234567890abcdef1234567890abcdef1234",
"chain": "ETHEREUM"
},
"asset": "ETH",
"amount": "0.50",
"chain": "ETHEREUM"
}
]
}
}
],
"nextCursor": "eyJpZCI6InRyYW5zYWN0aW9uXzEyMyJ9",
"hasNext": true
}
interface TransactionListResponse {
results: Transaction[];
nextCursor?: string | null;
hasNext?: boolean;
}
GET
/api/external/transactions/?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>
Transaction filters such as status, category, vaultId, asset, or externalId when supported.
Response
Returns a page of Transaction objects. See Cursor response.Transaction[]
Transactions on this page. Each item is a Transaction.
Show Properties
Show Properties
string
Transaction ID. Use it with Retrieve Transaction to track status.
string
Organization that owns the transaction.
string
Vault the transaction runs from.
string
Lifecycle status. Track it until
COMPLETED, FAILED, or DECLINED. See TransactionStatus.string
See TransactionType.
string
For example
TRANSFER or CONTRACT_CALL. See TransactionCategory.string
string
Creation timestamp (ISO 8601).
string
Last update timestamp (ISO 8601).
boolean
Whether the transaction is deleted.
string
Your own reference, if you set one.
string
Memo you attached, if any.
TransferPartyData
Where the funds come from. Which fields are present depends on
type. See TransferPartyData.TransferPartyData
Where the funds go. Same fields as
source. See TransferPartyData.string
Chain the transaction runs on.
string
Asset moved.
string
Amount as a decimal string.
string
On-chain transaction hash, once broadcast.
string | null
Cursor for the next page.
null on the last page.boolean
Whether another page exists.
Request example
{
"query": {
"limit": 20,
"cursor": null,
"status": "COMPLETED",
"vaultId": "vault_123"
}
}
# 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/transactions/?limit=20&status=COMPLETED&vaultId=vault_123" \
--header "Authorization: Bearer <signed JWT>" \
--header "Api-Key: <API key>" \
--header "Accept: application/json"
getTransactions(
params?: Record<string, string>,
limit?: number,
cursor?: string | null,
): Promise<TransactionListResponse>
Response example
{
"results": [
{
"id": "transaction_123",
"orgId": "org_456",
"vaultId": "vault_123",
"status": "COMPLETED",
"transactionType": "OUTGOING",
"category": "TRANSFER",
"subCategory": "EXTERNAL_TRANSFER",
"createdAt": "2026-08-04T10:40:00Z",
"updatedAt": "2026-08-04T10:42:15Z",
"isDeleted": false,
"externalId": "invoice-1001",
"memo": "Vendor payout #1001",
"source": {
"type": "VAULT",
"id": "vault_123",
"subOrgId": "sub_org_123",
"name": "Treasury Vault"
},
"destination": {
"type": "CONTACT",
"id": "contact_456",
"name": "Operations Wallet",
"address": "0xAbC1234567890abcdef1234567890abcdef1234",
"chain": "ETHEREUM"
},
"blockChain": "ETHEREUM",
"asset": "ETH",
"amount": "0.50",
"txHash": "0x9f4e6c1b7a2d3e4f",
"balanceChanges": {
"changes": [
{
"party": {
"type": "VAULT",
"id": "vault_123",
"subOrgId": "sub_org_123",
"name": "Treasury Vault"
},
"asset": "ETH",
"amount": "-0.50",
"chain": "ETHEREUM"
},
{
"party": {
"type": "CONTACT",
"id": "contact_456",
"name": "Operations Wallet",
"address": "0xAbC1234567890abcdef1234567890abcdef1234",
"chain": "ETHEREUM"
},
"asset": "ETH",
"amount": "0.50",
"chain": "ETHEREUM"
}
]
}
}
],
"nextCursor": "eyJpZCI6InRyYW5zYWN0aW9uXzEyMyJ9",
"hasNext": true
}
interface TransactionListResponse {
results: Transaction[];
nextCursor?: string | null;
hasNext?: boolean;
}
⌘I
Request example
{
"query": {
"limit": 20,
"cursor": null,
"status": "COMPLETED",
"vaultId": "vault_123"
}
}
# 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/transactions/?limit=20&status=COMPLETED&vaultId=vault_123" \
--header "Authorization: Bearer <signed JWT>" \
--header "Api-Key: <API key>" \
--header "Accept: application/json"
getTransactions(
params?: Record<string, string>,
limit?: number,
cursor?: string | null,
): Promise<TransactionListResponse>
Response example
{
"results": [
{
"id": "transaction_123",
"orgId": "org_456",
"vaultId": "vault_123",
"status": "COMPLETED",
"transactionType": "OUTGOING",
"category": "TRANSFER",
"subCategory": "EXTERNAL_TRANSFER",
"createdAt": "2026-08-04T10:40:00Z",
"updatedAt": "2026-08-04T10:42:15Z",
"isDeleted": false,
"externalId": "invoice-1001",
"memo": "Vendor payout #1001",
"source": {
"type": "VAULT",
"id": "vault_123",
"subOrgId": "sub_org_123",
"name": "Treasury Vault"
},
"destination": {
"type": "CONTACT",
"id": "contact_456",
"name": "Operations Wallet",
"address": "0xAbC1234567890abcdef1234567890abcdef1234",
"chain": "ETHEREUM"
},
"blockChain": "ETHEREUM",
"asset": "ETH",
"amount": "0.50",
"txHash": "0x9f4e6c1b7a2d3e4f",
"balanceChanges": {
"changes": [
{
"party": {
"type": "VAULT",
"id": "vault_123",
"subOrgId": "sub_org_123",
"name": "Treasury Vault"
},
"asset": "ETH",
"amount": "-0.50",
"chain": "ETHEREUM"
},
{
"party": {
"type": "CONTACT",
"id": "contact_456",
"name": "Operations Wallet",
"address": "0xAbC1234567890abcdef1234567890abcdef1234",
"chain": "ETHEREUM"
},
"asset": "ETH",
"amount": "0.50",
"chain": "ETHEREUM"
}
]
}
}
],
"nextCursor": "eyJpZCI6InRyYW5zYWN0aW9uXzEyMyJ9",
"hasNext": true
}
interface TransactionListResponse {
results: Transaction[];
nextCursor?: string | null;
hasNext?: boolean;
}