Below are the available REST API endpoints for Fig Markets REST API
Fig Markets REST API (1.0)
https://api.test.figmarkets.com/v1/
https://api.figmarkets.com/v1/
Return RFQs created after this time (unix timestamp in milliseconds)
Return RFQs created before this time (unix timestamp in milliseconds)
The cursor reference from the previous page of results, used to return the next page of results
Limit the number of results to return per page - default 100, max 1000
- Test API
https://api.test.figmarkets.com/v1/rfq
- Production API
https://api.figmarkets.com/v1/rfq
- curl
- JavaScript
- Go
- Java
- Python
curl -i -X GET \
https://api.test.figmarkets.com/v1/rfq \
-H 'Content-Type: application/json' \
-d '{}'Paginated list of RFQs
Array of results for the current page
Customer-provided identifier for the RFQ
Only returned if you are the taker of the RFQ
When an RFQ is created a quote currency is provided which is used to determine the list of available quoteCurrencies for each settlementOption.
For example, if a BTC option RFQ is created with quoteCurrency: BTC, then the quoteCurrency for DBT will be BTC and the quoteCurrency for BULL will be USDC.
If it is created with quoteCurrency: USDC, then the quoteCurrency for DBT and BULL will be USDC.
This is because DBT supports both BTC and BTC_USDC options while BULL only supports BTC_USDC options.
When quoting please use the appropriate quote currency from the quoteCurrencies list that is relevant to the settlementOption chosen for the quote.
Lists for each settlement option the expected quote currency.
The keys are settlement option identifiers (e.g. DBT, BULL) and the values are the quote currency codes (e.g. BTC, USDC).
Trade amount in base currency units for options and quote currency units for futures
Direction of the trade (buy or sell)
Only returned if the RFQ has been traded and you are the maker or taker in the trade.
Price of the trade
Only returned if the RFQ has been traded and you are the maker or taker in the trade.
Amount traded in the RFQ's base currency (e.g. BTC)
Only returned if the RFQ has been traded and you are the maker or taker in the trade.
Timestamp when the trade was executed (unix timestamp in milliseconds)
Only returned if the RFQ has been traded and you are the maker or taker in the trade.
Unique identifier for the trade
Only returned if the RFQ has been traded and you are the maker or taker in the trade.
For each of the provided settlementOptions, a corresponding exchangeCredentialsId must be provided.
The credentials must have read/write access for BlockRFQ and BlockTrade on the settlement venue.
A list of available settlement options allowed for the RFQ.
Currently BULL and DBT are supported.
{ "totalResults": 3, "cursor": 351, "results": [ { … } ] }
- Test API
https://api.test.figmarkets.com/v1/rfq/{id}
- Production API
https://api.figmarkets.com/v1/rfq/{id}
- curl
- JavaScript
- Go
- Java
- Python
curl -i -X GET \
'https://api.test.figmarkets.com/v1/rfq/{id}'RFQ details
Customer-provided identifier for the RFQ
Only returned if you are the taker of the RFQ
When an RFQ is created a quote currency is provided which is used to determine the list of available quoteCurrencies for each settlementOption.
For example, if a BTC option RFQ is created with quoteCurrency: BTC, then the quoteCurrency for DBT will be BTC and the quoteCurrency for BULL will be USDC.
If it is created with quoteCurrency: USDC, then the quoteCurrency for DBT and BULL will be USDC.
This is because DBT supports both BTC and BTC_USDC options while BULL only supports BTC_USDC options.
When quoting please use the appropriate quote currency from the quoteCurrencies list that is relevant to the settlementOption chosen for the quote.
Lists for each settlement option the expected quote currency.
The keys are settlement option identifiers (e.g. DBT, BULL) and the values are the quote currency codes (e.g. BTC, USDC).
Trade amount in base currency units for options and quote currency units for futures
Direction of the trade (buy or sell)
Only returned if the RFQ has been traded and you are the maker or taker in the trade.
Price of the trade
Only returned if the RFQ has been traded and you are the maker or taker in the trade.
Amount traded in the RFQ's base currency (e.g. BTC)
Only returned if the RFQ has been traded and you are the maker or taker in the trade.
Timestamp when the trade was executed (unix timestamp in milliseconds)
Only returned if the RFQ has been traded and you are the maker or taker in the trade.
Unique identifier for the trade
Only returned if the RFQ has been traded and you are the maker or taker in the trade.
For each of the provided settlementOptions, a corresponding exchangeCredentialsId must be provided.
The credentials must have read/write access for BlockRFQ and BlockTrade on the settlement venue.
A list of available settlement options allowed for the RFQ.
Currently BULL and DBT are supported.
{ "rfqId": 12345, "productId": 67890, "label": "MyRFQ-12345", "kind": "option", "strategy": "RR", "description": "20Aug25 4200/4300/4400 CFly 1:2:1 (Wings+)", "status": "open", "baseCurrency": "BTC", "quoteCurrency": "DBT", "quoteCurrencies": { "DBT": "BTC", "BULL": "USDC" }, "amount": 1.5, "anonymous": false, "role": "taker", "markPrice": 49500, "tradeDirection": "buy", "tradePrice": 0.02, "tradeAmount": 25, "tradeCreatedAt": 1756802862567, "tradeId": 12345, "legs": [ { … } ], "hedge": { "amount": 112534.56, "direction": "buy", "expiry": "29Aug25", "instrumentId": 12345, "instrumentName": "BTC-8AUG25-110000-C", "price": 115750.45 }, "settlementCredentials": { "DBT": 57, "BULL": 65 }, "settlementOptions": [ "BULL", "DBT" ], "quotes": [ { … } ], "trades": [ { … } ], "createdAt": 1756802862567, "expiresAt": 1753898238346000 }
RFQ creation request
When an RFQ is created a quote currency is provided which is used to determine the list of available quoteCurrencies for each settlementOption.
For example, if a BTC option RFQ is created with quoteCurrency: BTC, then the quoteCurrency for DBT will be BTC and the quoteCurrency for BULL will be USDC.
If it is created with quoteCurrency: USDC, then the quoteCurrency for DBT and BULL will be USDC.
This is because DBT supports both BTC and BTC_USDC options while BULL only supports BTC_USDC options.
When quoting please use the appropriate quote currency from the quoteCurrencies list that is relevant to the settlementOption chosen for the quote.
Trade amount in base currency units for options and quote currency units for futures
A list of available settlement options allowed for the RFQ.
Currently BULL and DBT are supported.
For each of the provided settlementOptions, a corresponding exchangeCredentialsId must be provided.
The credentials must have read/write access for BlockRFQ and BlockTrade on the settlement venue.
For each of the selected settlementOptions, a list of the Fig makers needs to be provided who will be recipients of the RFQ.
The list of available makers can be obtained from the /exchange/maker endpoint.
- Test API
https://api.test.figmarkets.com/v1/rfq/{id}
- Production API
https://api.figmarkets.com/v1/rfq/{id}
- curl
- JavaScript
- Go
- Java
- Python
curl -i -X POST \
'https://api.test.figmarkets.com/v1/rfq/{id}' \
-H 'Content-Type: application/json' \
-d '{
"baseCurrency": "BTC",
"quoteCurrency": "DBT",
"amount": 1.5,
"anonymous": false,
"settlementOptions": [
"BULL",
"DBT"
],
"settlementCredentials": {
"DBT": 57,
"BULL": 65
},
"makers": {
"DBT": [
"SIS",
"TE2",
"TLY"
],
"BULL": [
"TLY"
]
},
"legs": [
{
"direction": "buy",
"instrumentName": "BTC-8AUG25-110000-C",
"ratio": 1.5,
"price": 0.08
}
],
"hedge": {
"direction": "buy",
"instrumentName": "BTC-8AUG25-110000-C",
"amount": 112534.56,
"price": 115750.45
}
}'{ "rfqId": 12345 }
- Test API
https://api.test.figmarkets.com/v1/rfq/{id}
- Production API
https://api.figmarkets.com/v1/rfq/{id}
- curl
- JavaScript
- Go
- Java
- Python
curl -i -X DELETE \
'https://api.test.figmarkets.com/v1/rfq/{id}'{ "rfqId": 12345 }
- Test API
https://api.test.figmarkets.com/v1/rfq/{id}/quote
- Production API
https://api.figmarkets.com/v1/rfq/{id}/quote
- curl
- JavaScript
- Go
- Java
- Python
curl -i -X GET \
'https://api.test.figmarkets.com/v1/rfq/{id}/quote'[ { "rfqId": 12345, "bids": [ … ], "asks": [ … ] } ]
- Test API
https://api.test.figmarkets.com/v1/rfq/cancel
- Production API
https://api.figmarkets.com/v1/rfq/cancel
- curl
- JavaScript
- Go
- Java
- Python
curl -i -X POST \
https://api.test.figmarkets.com/v1/rfq/cancel \
-H 'Content-Type: application/json' \
-d '{
"rfqId": 12345
}'{ "id": 123 }
- Test API
https://api.test.figmarkets.com/v1/rfq/trade
- Production API
https://api.figmarkets.com/v1/rfq/trade
- curl
- JavaScript
- Go
- Java
- Python
curl -i -X POST \
https://api.test.figmarkets.com/v1/rfq/trade \
-H 'Content-Type: application/json' \
-d '{
"rfqQuoteId": 12345
}'{ "rfqTradeId": 12345, "rfqId": 12345, "trades": [ { … } ] }
Start time - return Quotes created after this time (unix timestamp in milliseconds)
End time - return Quotes created before this time (unix timestamp in milliseconds)
The cursor reference from the previous page of results, used to return the next page of results
- Test API
https://api.test.figmarkets.com/v1/rfq/quotes
- Production API
https://api.figmarkets.com/v1/rfq/quotes
- curl
- JavaScript
- Go
- Java
- Python
curl -i -X GET \
https://api.test.figmarkets.com/v1/rfq/quotes \
-H 'Content-Type: application/json' \
-d '{}'List of quotes
Array of results for the current page
Price offered for the quote in the respective quote currency for the settlementOption as defined by the quoteCurrencies property for the RFQ.
The chosen settlement option for the quote.
Currently BULL and DBT are supported.
You can only send a value that matches one of the available settlementOptions for the RFQ.
The exchangeCredentialsId of the exchange credentials to use for the settlement of the trade for the chosen settlementOption.
The credentials must be for the same exchange defined in settlementOption.
Your credentials must have read/write access for BlockRFQ and BlockTrade on the settlement venue.
The quote currency for the quote, as determined by the chosen settlementOption and the RFQ's quoteCurrencies mapping.
This is the currency in which the quote price is denominated.
The breakdown of the quotes against each leg
Only displayed for quotes received via FIG directly. Any quotes from third party exchanges will not include the breakdown.
The hedge for the RFQ quote
Only displayed for quotes received via FIG directly. Any quotes from third party exchanges will not include the hedge.
[ { "totalResults": 3, "cursor": 351, "results": [ … ] } ]
Request
Create a new quote against an existing RFQ.
The RFQ must be in the open state and the leg and hedge information must be set and match that of the RFQ being quoted against.
You can use the Calculate leg prices endpoint to help you get the leg prices for your quote.
Quote update request
The chosen settlement option for the quote.
Currently BULL and DBT are supported.
You can only send a value that matches one of the available settlementOptions for the RFQ.
The exchangeCredentialsId of the exchange credentials to use for the settlement of the trade for the chosen settlementOption.
The credentials must be for the same exchange defined in settlementOption.
Your credentials must have read/write access for BlockRFQ and BlockTrade on the settlement venue.
Array of legs; the breakdown of the quote price across each of the RFQ's legs
- Test API
https://api.test.figmarkets.com/v1/rfq/quote
- Production API
https://api.figmarkets.com/v1/rfq/quote
- curl
- JavaScript
- Go
- Java
- Python
curl -i -X POST \
https://api.test.figmarkets.com/v1/rfq/quote \
-H 'Content-Type: application/json' \
-d '{
"rfqId": 12345,
"label": "Quote-1234",
"amount": 1.5,
"direction": "buy",
"settlementOption": "DBT",
"settlementCredentials": 57,
"legs": [
{
"instrumentName": "BTC-8AUG25-110000-C",
"price": 0.08
}
]
}'{ "id": 123 }
Quote update request
Array of legs; the breakdown of the quote price across each of the RFQ's legs
The exchangeCredentialsId of the exchange credentials to use for the settlement of the trade for the chosen settlementOption.
The credentials must be for the same exchange defined in settlementOption.
Your credentials must have read/write access for BlockRFQ and BlockTrade on the settlement venue.
- Test API
https://api.test.figmarkets.com/v1/rfq/quote
- Production API
https://api.figmarkets.com/v1/rfq/quote
- curl
- JavaScript
- Go
- Java
- Python
curl -i -X PUT \
https://api.test.figmarkets.com/v1/rfq/quote \
-H 'Content-Type: application/json' \
-d '{
"rfqQuoteId": 12345,
"label": "Quote-1234",
"amount": 1.5,
"direction": "buy",
"legs": [
{
"instrumentName": "BTC-8AUG25-110000-C",
"price": 0.08
}
],
"settlementCredentials": 57,
"settlementOption": "DBT"
}'{ "rfqQuoteId": 12345, "rfqId": 12345, "label": "MyRFQ-12345", "direction": "buy", "price": 0.026 }
- Test API
https://api.test.figmarkets.com/v1/rfq/quote
- Production API
https://api.figmarkets.com/v1/rfq/quote
- curl
- JavaScript
- Go
- Java
- Python
curl -i -X DELETE \
https://api.test.figmarkets.com/v1/rfq/quote \
-H 'Content-Type: application/json' \
-d '{
"label": "MyRFQ-12345",
"rfqQuoteId": 12345
}'{ "message": "Quote deleted successfully" }
- Test API
https://api.test.figmarkets.com/v1/rfq/quote/cancel-all
- Production API
https://api.figmarkets.com/v1/rfq/quote/cancel-all
- curl
- JavaScript
- Go
- Java
- Python
curl -i -X POST \
https://api.test.figmarkets.com/v1/rfq/quote/cancel-all \
-H 'Content-Type: application/json' \
-d '{
"rfqId": 12345
}'{ "message": "Open quotes have been cancelled" }
Leg prices calculation request
The strategy legs to calculate the leg prices for
- Test API
https://api.test.figmarkets.com/v1/rfq/leg-prices
- Production API
https://api.figmarkets.com/v1/rfq/leg-prices
- curl
- JavaScript
- Go
- Java
- Python
curl -i -X POST \
https://api.test.figmarkets.com/v1/rfq/leg-prices \
-H 'Content-Type: application/json' \
-d '{
"rfqId": 12345,
"price": 0.026,
"legs": [
{
"direction": "buy",
"instrumentName": "BTC-8AUG25-110000-C",
"ratio": 1.5
}
]
}'{ "legs": [ { … } ] }