List Transactions
Authentication
Basic Auth: base64(client_id:client_secret)
Basic Auth: base64(client_id:client_secret)
Lists transactions for the authenticated exchange app with optional filtering and pagination.
Authentication:
REQUIRED: Provide client_id and client_secret via:
Basic Auth: Authorization: Basic base64(client_id:client_secret)
The exchange_app_id is automatically derived from authenticated credentials (not accepted as query parameter)
Query Parameters:
status (optional): Filter by transaction status (PENDING, PROCESSING, SUCCESS, FAILED)limit (optional): Number of transactions to return (1-100, default: 50)start_after (optional): Transaction ID to start after for pagination (cursor-based pagination)start_date (optional): Start date for date range filter (ISO 8601 format, e.g., ‘2024-01-01T00:00:00Z’). Filters transactions where created_at >= start_dateend_date (optional): End date for date range filter (ISO 8601 format, e.g., ‘2024-01-31T23:59:59Z’). Filters transactions where created_at <= end_datedetail (optional): full returns the legacy wide transaction objects (full qr_data, duplicate flat recipient columns). Default is slim (smaller payload per row).Date Range Filtering:
start_date and end_date are optional and can be used independently or togetherstart_date must be before or equal to end_datecreated_at timestampResponse:
transactions: Array of transaction objectstotal: Number of transactions returnedlimit: Limit usedhas_more: Whether there are more transactions availablenext_cursor: Transaction ID to use as start_after for next page (if has_more is true)Note: Transactions are ordered by created_at in descending order (most recent first). When filtering by status, a composite index is required in Firestore. When filtering by date range with status, a composite index is required.
Decimal places for monetary fields in the response (USD amounts, fees, exchange rates). Default 2, which rounds sub-cent fees to 0. Use dp=4 or higher to reconcile against exact deducted totals: at full precision amount_usd + percentage_fee + fixed_fee equals the amount deducted from your balance. Rounding is applied to the response only; all stored values and balance deductions always use full precision.