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.
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. Replaces the retired GET /customers/{id}/transactions. cst_ prefix.
Transactions where this wallet is the source or destination instrument. Accepts a crypto wallet (wlt_ prefix, legacy acc_ also accepted) or a fiat wallet (wlt_fiat_ prefix).
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 — this includes both a genuine out-of-band arrival (rendered precursor: null) and a future operator-initiated transaction (rendered {type: manual}), since today's actual data only ever produces the former. 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. manual covers a transaction with no known origin resource: today that is always an out-of-band arrival, which renders precursor: null. The {type: manual} form is reserved for an operator-initiated transaction and is not emitted yet, so filtering on precursorType=manual returns out-of-band arrivals only.
quote, depositAddress, virtualAccount, cashIn, manual 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.