# /rfq Get all RFQs with optional filtering and pagination Endpoint: GET /rfq Version: 1.0 ## Query parameters: - `startTime` (integer) Return RFQs created after this time (unix timestamp in milliseconds) Example: 1753897938346 - `endTime` (integer) Return RFQs created before this time (unix timestamp in milliseconds) Example: 1753897938346 - `cursor` (string) The cursor reference from the previous page of results, used to return the next page of results Example: "12345" - `limit` (integer) Limit the number of results to return per page - default , max Example: 10 - `role` (string) Filter by role - or Example: "taker" - `baseCurrency` (string) Filter by base currency Example: "BTC" - `status` (string) Filter by status - , , , Example: "open,expired" ## Response 200 fields (application/json): - `totalResults` (integer, required) Total number of results available Example: 3 - `cursor` (integer, required) Cursor for pagination - used to get the next page of results Example: 351 - `results` (array, required) Array of results for the current page - `results.rfqId` (integer) Unique identifier for the RFQ - `results.productId` (integer) Internal FIG ID for the associated product - `results.label` (string) Customer-provided identifier for the RFQ Only returned if you are the taker of the RFQ - `results.kind` (string) Type of RFQ (e.g., option, future) - `results.strategy` (string) Strategy short name (e.g., IFly, Fut Spd, Collar) - `results.description` (string) FIG generated description of the RFQ - `results.status` (string) Current status of the RFQ Enum: "open", "filled", "cancelled", "expired" - `results.baseCurrency` (string) Base currency for the trade - `results.quoteCurrency` (string) When an RFQ is created a quote currency is provided which is used to determine the list of available for each . For example, if a BTC option RFQ is created with , then the for will be and the for will be . If it is created with , then the for and will be . This is because supports both and options while only supports options. When quoting please use the appropriate quote currency from the list that is relevant to the chosen for the quote. - `results.quoteCurrencies` (object) Lists for each settlement option the expected quote currency. The keys are settlement option identifiers (e.g. , ) and the values are the quote currency codes (e.g. , ). - `results.amount` (number) Trade amount in base currency units for and quote currency units for - `results.anonymous` (boolean) Whether the taker is anonymous - `results.role` (string) Your role in the trade, either or Enum: "taker", "maker" - `results.markPrice` (number) Mark price for the RFQ - `results.tradeDirection` (string) Direction of the trade (buy or sell) Only returned if the RFQ has been traded and you are the or in the trade. Enum: "buy", "sell" - `results.tradePrice` (number) Price of the trade Only returned if the RFQ has been traded and you are the or in the trade. - `results.tradeAmount` (number) Amount traded in the RFQ's base currency (e.g. BTC) Only returned if the RFQ has been traded and you are the or in the trade. - `results.tradeCreatedAt` (integer) Timestamp when the trade was executed (unix timestamp in milliseconds) Only returned if the RFQ has been traded and you are the or in the trade. - `results.tradeId` (integer) Unique identifier for the trade Only returned if the RFQ has been traded and you are the or in the trade. - `results.legs` (array) - `results.legs.instrumentId` (integer) Instrument ID for the leg - `results.legs.instrumentName` (string) Full instrument name - `results.legs.direction` (string) Direction of the trade/leg/quote (buy or sell) Enum: "buy", "sell" - `results.legs.ratio` (number) Ratio for the leg to a max of 2 decimal places - `results.legs.expiry` (string) Expiry date of the leg in format "18Jul25" - `results.legs.amount` (number) Amount of the leg - `results.hedge` (object) The RFQ hedge - `results.hedge.amount` (number, required) Amount of the hedge in the hedge item's quote currency - `results.hedge.direction` (string, required) Direction of the hedge - `results.hedge.expiry` (string) Expiry date for the hedge - `results.hedge.instrumentId` (integer) Instrument ID for the hedge - `results.hedge.price` (number, required) Price for the hedge in the hedge item's quote currency - `results.settlementCredentials` (object) For each of the provided , a corresponding must be provided. The credentials must have read/write access for BlockRFQ and BlockTrade on the settlement venue. - `results.settlementOptions` (array) A list of available settlement options allowed for the RFQ. Currently and are supported. - `results.quotes` (array) - `results.quotes.rfqQuoteId` (integer) Unique identifier for the RFQ quote - `results.quotes.price` (number) Price of the asset/leg/quote - `results.quotes.amount` (number) Amount of the asset being traded/quoted - `results.quotes.makers` (array) Array of makers - `results.quotes.createdAt` (integer) Timestamp when the object was created (unix timestamp in milliseconds) - `results.trades` (array) - `results.trades.direction` (string) Direction of the trade (buy or sell) Only returned if the RFQ has been traded and you are the or in the trade. Enum: "buy", "sell" - `results.trades.price` (number) Price paid in the RFQ's quote currency Only returned if the RFQ has been traded and you are the or in the trade. Example: 0.02 - `results.trades.amount` (number) Amount traded in the RFQ's base currency (e.g. BTC) Only returned if the RFQ has been traded and you are the or in the trade. Example: 12 - `results.trades.exchangeTradeId` (string) Unique identifier for the trade on the exchange Only returned if the RFQ has been traded and you are the or in the trade. Example: "BLOCK-792841" - `results.trades.createdAt` (integer) Timestamp when the trade was executed (unix timestamp in milliseconds) Only returned if the RFQ has been traded and you are the or in the trade. Example: 1756802862567 - `results.createdAt` (integer) Timestamp when the RFQ was created (unix timestamp in milliseconds) - `results.expiresAt` (integer) Expiration timestamp for the RFQ (unix timestamp in milliseconds) ## Response 400 fields (application/json): - `code` (integer) Example: 400 - `message` (string) Example: "Bad Request" - `reason` (array) Example: ["Invalid input"]