Skip to main content
These models mirror the public types and serializers used by the current @primevault/js-api-sdk. Optional properties are marked with ?. Unless explicitly stated otherwise, IDs and decimal amounts are strings.

Models on this page

Cursor list response

Transaction, vault, contact, and bank-account list methods return the same cursor envelope. See Cursor response on Filtering and Pagination for its fields and an example.

Transfer parties

A party is the sender or receiver. Its id identifies that endpoint; input.vaultId and output.vaultId select the fiat accounts. Use IDs from your organization. Parties do not accept subOrgId.

TransferPartyType

TransferPartyData

BankDetails

Asset and chain

details is chain-specific. Use symbol plus blockChain to identify an asset representation.

Asset

ChainData

Vaults

A vault is like an account. asset: "NGN" means it holds NGN. Set input.vaultId or output.vaultId to that account’s ID. A null or missing asset does not identify a currency account. walletsGenerated describes blockchain-wallet readiness after creation and approval; use returned bank deposit instructions for fiat funding.

VaultType

Vault

Contacts

ContactStatus

Contact

Bank accounts

Bank-account fields can contain sensitive financial data. Avoid including them in application logs or analytics payloads.

BankAccountStatus

BankAccount

Transactions

Transaction

TransactionType

TransactionCategory

TransactionSubCategory

TransactionStatus

Transaction operations and balance changes

Use operation sequence to preserve workflow order. Operation-level balanceChanges describes that leg; top-level transaction balanceChanges describes the aggregate transaction view when present.

TransactionOperationType

TransactionOperationStatus

TransactionOperationBalanceChange

TransactionOperationBalanceChanges

TransactionOperation

Intent and quote

Think of an intent as a payment order: input is what you spend; output is what you receive. For a quote, supply both assets and exactly one amount, as a decimal string. Set chain or paymentRail on the source or destination. Get a quote with getQuote({ intent }), then execute its quoteId with createTransactionFromIntent({ quoteId, externalId, memo }). Quotes may include input and output amounts. Do not send category, routeAccounts, or subOrgId. Omitted fields stay omitted; quote-only execution sends intent: null.

IntentAsset

TransactionIntentRequest

GetQuoteRequest

TransactionExecuteIntentRequest

Fees

QuoteResponseItem

QuoteResponse

Deposit instructions

Deposit instructions are like bank transfer details. Request asset plus exactly one of paymentRail or chain. Vault instructions return a results list; transaction instructions return one optional object. Quotes do not include them. Use the returned details exactly.

DepositInstructions

GetVaultDepositInstructionsRequest

VaultDepositInstructionsResponse

Fees and balances

FeeData

EstimatedFeeResponse

BalanceResponse

DetailedBalance

DetailedBalanceResponse

Approval models

ApprovalAction

GetApprovalMessageResponse

ApprovalActionResponse

Webhook event envelope

WebhookEvent