List transactions with filters
List transactions with filters.
Results are ordered newest-first (by createdAt desc, id desc). limit defaults to 50 and is capped at 100.
Date filters createdAfter and createdBefore are inclusive (treated as >= and <= against createdAt).
Pagination returns opaque nextCursor / previousCursor tokens in the response whenever the page is non-empty: use startingAfter=nextCursor to fetch the next page, or endingBefore=previousCursor to page backward. hasMore tells the client whether more rows exist in the current direction of travel; an empty response in the other direction signals the start of the list.
Authorizations
Token from POST /auth/token
Query Parameters
Page size, supported range 1-100. The default and maximum are per-resource (see each endpoint's description; most endpoints default to 50) and are resolved at runtime from configuration. Values outside the range are clamped to the nearest bound rather than rejected. The range is published machine-readably via the x-minimum/x-maximum OpenAPI extensions below — deliberately NOT via @minValue/@maxValue, which emit JSON-Schema minimum/maximum and make the generated SDK (Zod) reject values the server accepts and clamps. See PaginatedList.limit for the effective value applied.
Filter by status.
Lifecycle of a transaction. processing: funds in motion. awaitingAction: non-terminal, blocked on developer/upstream/compliance (see hold); returns to processing once cleared. completed: delivered. failed: terminal failure, except a deposit the provider reports failed and then completed, which returns to processing.
processing, awaitingAction, completed, failed Filter by corridor (source/destination category composite).
Composite of source and destination instrument categories, inferred from each side. The cash corridors (cryptoToCash, cashToCrypto) are derived from a cash-pickup destination / cash-in source respectively; the rest map straight from the internal corridor type.
cryptoToCrypto, cryptoToCash, cryptoToFiatAccount, cashToCrypto, fiatAccountToCrypto, fiatAccountToFiatAccount Scope to a customer. Matches rows where the customer is on either side: the sender (quote owner) or the recipient. cst_ prefix.
Transactions where this wallet is the source or destination instrument, crypto or fiat alike. Accepts the canonical wlt_ prefix plus the older acc_ and wlt_fiat_ forms.
Filter to the transaction's originating virtual account. va_ prefix.
Filter to the transaction's originating deposit address. da_ prefix.
Filter to the transaction's originating cash-in. ci_ prefix.
Filter by the kind of precursor that originated the transaction. Matches transactions where ANY leg carries a precursor of this type (consistent with the id filters above). This may differ from the single precursor object rendered on the transaction: when a leg has several precursor sources, the rendered precursor reports one winner by fixed precedence (depositAddress > virtualAccount > cashIn > quote), so a transaction can match e.g. precursorType=quote while its rendered precursor.type is depositAddress. manual matches a transaction with no known origin resource and no recognized out-of-band arrival — this includes a future operator-initiated transaction (rendered {type: manual}). A recognized custodial-wallet deposit, the one out-of-band arrival current data produces, renders {type: walletDeposit} instead; filter on precursorType=walletDeposit to match those rows. reversal is deferred until reversal automation lands.
The kind of resource that originated a transaction: quote for a transaction created by accepting a quote, and depositAddress / virtualAccount / cashIn for one created automatically by that resource. walletDeposit covers a custodial-wallet deposit with no originating OMS resource; its id is always null. manual covers a transaction with no known origin resource and does not include wallet deposits; the manual arm (id: null) is reserved for a future operator-initiated transaction and is not emitted yet.
quote, depositAddress, virtualAccount, cashIn, manual, walletDeposit Inclusive lower bound on createdAt.
Inclusive upper bound on createdAt.
Free-text search. Matches transaction id, customer id, or customer email.
Alias for search.
Filters to payments where ANY leg's underlying status is in the given set (e.g. failed surfaces outbound-failed-funds-held payments whose derived overall status is still processing). Values are leg-level statuses, a superset of TransactionStatus. Only applied under the grouped read model; ignored otherwise.
Response
The request has succeeded.
A paginated list of transactions.
Resource type discriminator.
The effective page size applied to this response, after clamping an out-of-range or unset requested limit into the supported bound.
True when more rows exist beyond this page in the direction of travel (forward by default, backward when endingBefore was supplied).
Opaque cursor pointing at the last item in this page. Present when data is non-empty. Pass as startingAfter to fetch the next page; hasMore=false signals no more pages forward.
Opaque cursor pointing at the first item in this page. Present when data is non-empty. Pass as endingBefore to page backward; when this yields an empty response the client is at the start of the list.
The page of results.