Skip to content
Last updated

All notable changes to this project will be documented in this file.

1.1.6 (2026-11-02)

Added

  • Added OKX as an RFQ settlement option for inverse (coin-settled) products, for settlementOptions, settlementCredentials and makers on POST /rfq, and for settlementOption on quotes
  • Added expiresIn to the POST /rfq request, setting how long the RFQ stays open in minutes (5 to 1440, default 120)
  • Added tradeSettlementOption, filledAmount, publishedAt, expiresIn and instrumentMap to the RFQ responses and the rfq.maker and rfq.taker WebSocket responses
  • Added the filledPartial and deleted RFQ statuses
  • Added rfqId to the DELETE /rfq/quote request as a third way to identify the quote
  • Added quoteCurrency to the POST /rfq/calculate-leg-prices request
  • Added settlementOption and quoteCurrency to each quote in the GET /rfq/{id}/quote response
  • Documented the message envelope of WebSocket channel updates
  • Declared the Authorization, X-FIG-Signature and X-FIG-Timestamp headers on every REST operation, so the generated code samples include them

Changed

  • Removed POST /block-trade/bulk, which is no longer available
  • Removed the Quickstart and Errors pages; error responses are documented on each endpoint and in the Authentication guide
  • GET /rfq/quote now reads startTime and endTime as unix timestamps in milliseconds, as documented
  • PUT and DELETE /rfq/quote now return 404 for a label that matches none of your quotes
  • Makers who were not part of a trade now receive the filled update with role maker and no trade fields
  • 404 and 403 error responses now include code
  • An X-FIG-Timestamp more than 60 seconds ahead of the server's clock is now refused with 401, and each signature can be used only once
  • Documented that DELETE /rfq/{id} deletes only cancelled or expired RFQs and returns a success response
  • Made settlementCredentials required on the POST and PUT /rfq/quote requests, and legs required on the POST /rfq request
  • Removed markPrice, bidPrice, askPrice and quotes from the rfq.maker and rfq.taker WebSocket responses, which never sent them
  • Corrected the 420 exchange error response to document reason and the normalised exchangeError
  • Rewrote the Rate Limiting guide: REST requests are counted per IP address in a fixed 1 minute window, with the real 429 body and the WebSocket error code -32006
  • Updated the Authentication guide to read the token lifetime from expires_in, and documented the WebSocket heartbeat timeout and failed authentication limit
  • Documented that IP whitelisting is optional and how a refused IP address is reported

1.1.5 (2026-10-27)

Added

  • Added blockTradeApproval to the GET /account/exchange-credentials and GET /account/exchange-credentials/{id} responses, marking credentials whose exchange requires each block trade to be approved; RFQs and RFQ quotes cannot use these credentials
  • Added isExchangeDefault to the exchange credentials responses, showing which credentials are your default for their exchange
  • Added the optional isExchangeDefault field to the POST /account/exchange-credentials and PUT /account/exchange-credentials/{id} requests; setting it to true clears the default from your other credentials on that exchange, and leaving it out of an update keeps the current setting

1.1.4 (2026-10-24)

Added

  • Added settlementCredentials to the rfq_quote.maker WebSocket response, giving the exchangeCredentialsId each of your quotes settles against

1.1.3 (2026-10-23)

Changed

  • Documented that a WebSocket connection that has not authenticated within 30 seconds of opening is closed, and that a refused auth is retried with auth rather than auth/refresh

1.1.2 (2026-10-22)

Changed

  • Corrected the rfq_quote.maker WebSocket response: it includes makers, legs, hedge and event, and does not include settlementCredentials
  • Corrected the rfq_quote.taker WebSocket response: it includes makers, legs and hedge
  • Documented the cancelled and filled events on the rfq_quote.maker channel and the cancelled event on the rfq_quote.taker channel
  • Corrected the legs and hedge of RFQ quote responses: they do not include amount

1.1.1 (2026-10-21)

Added

  • Added a Glossary guide listing exchange IDs, exchange short codes and RFQ settlement options
  • Documented DRV (Derive) as an RFQ settlement option for settlementOptions, settlementCredentials and makers on POST /rfq, and for settlementOption on quotes

Changed

  • Clarified that DRV, like BULL, quotes options in USDC in an RFQ's quoteCurrencies
  • Listed the allowed values of exchangeId and exchangeShortCode on the exchange credentials endpoints
  • Corrected the rfq.maker and rfq.taker WebSocket responses: they include settlementOptions and quoteCurrencies, and do not include settlementExchange
  • Corrected the Signing Requests guide: the signed request URI includes the /v1 prefix, and the JavaScript, Python and Go examples now sign the timestamp and use the current POST /rfq request body
  • Corrected the API reference to list the create RFQ endpoint as POST /rfq rather than POST /rfq/{id}

1.1.0 (2026-10-19)

Added

  • Added POST /account/exchange-credentials to add exchange credentials; the response returns the added credentials without the exchange API key
  • Added PUT /account/exchange-credentials/{id} to change the alias or exchange API key of exchange credentials
  • Added DELETE /account/exchange-credentials/{id} to delete exchange credentials
  • Added PUT /account/exchange-credentials/{id}/allowed-tokens to set the tokens exchange credentials may trade
  • Added an includeCredentials query parameter to GET /account/exchange-credentials/{id} to return the decrypted exchange API key
  • Added network, allowedTokens and exchangeAccess fields to the exchange credentials responses
  • Adding, changing or deleting exchange credentials, or setting includeCredentials=true, requires an API key created by a trader admin

Changed

  • GET /account/exchange-credentials/{id} no longer returns the decrypted exchange API key unless includeCredentials=true is set
  • Corrected the GET /account/exchange-credentials/{id} response: the exchange API key is returned in a credentials object whose fields depend on the exchange
  • Removed isExchangeDefault from the exchange credentials responses
  • Removed GET /account/otc-counterparty from the documentation

1.0.0 (2026-05-30)

First stable release of the Fig Markets API documentation.

Added

  • Added a baseCurrency filter to the cancel-all quotes endpoint (POST /rfq/quote/cancel-all). When provided, only quotes linked to an RFQ with that base currency are cancelled; the response now returns a cancelledCount of how many quotes were cancelled.
  • Documented WebSocket token refresh via the auth/refresh method, allowing a session to be extended before its access token expires to maintain long-lived connections.

Changed

  • Corrected the request rate limit from 100 to 1000.

0.0.4 (2026-01-16)

Changed

  • Updated PUT /rfq/quote endpoint (RFQQuoteUpdateRequest):
    • Removed direction field from the request
    • Changed rfqQuoteId from required to optional - either rfqQuoteId or label must now be provided to identify the quote to update

0.0.3 (2025-12-22)

Changed

  • Removed quoteCurrency parameter from POST /rfq request (CreateRFQRequest)

0.0.2 (2025-12-09)

Added

  • Added GET /exchange/maker endpoint - returns a list of available Fig makers and their supported settlement options
  • Added makers parameter to CreateRFQRequest - an object mapping settlement options to arrays of Fig maker IDs who will receive the RFQ
  • Added settlementOption and quoteCurrency fields to quote responses (GET /rfq/quote endpoint and quote websocket channels)
  • Added quoteCurrencies field to RFQ responses - an object mapping settlement options to their expected quote currencies

Changed

  • Updated settlementCredentials in CreateRFQRequest to be an object mapping settlement options to exchangeCredentialsId values (previously a single integer)
  • Updated settlementOptions in CreateRFQRequest to include full description and example
  • Updated settlementOption and settlementCredentials descriptions for POST /rfq/quote endpoint (singular versions with updated descriptions)
  • Replaced settlementExchange with settlementOptions array in RFQ websocket channels (rfq.maker and rfq.taker)
  • Updated RFQ websocket examples to include quoteCurrencies object

0.0.1 (2025-08-20)

  • Initial pre-release of the Fig Markets API documentation