RFQs
This page explains how API clients can listen to new RFQs and RFQ updates happening on the exchange. RFQ order placement information can be found on the order placement page.
Register for RFQs
API clients, Web UI users and Mobile users can place RFQs or "indicative orders" to express their interest in a particular symbol or multi leg structure.
In API requests and responses, these orders will have a "market_id": "none"
property. More info on the order placement page.
These orders cannot be matched or executed against but provide the user with a composite tradeable_entity_id
and symbol
.
Existing Snapshots
- After the initial request to register for RFQs is sent, a list of snapshots for existing RFQs will be received.
- These snapshots contain the full indicative order books for all currently active RFQs on the exchange.
- One snapshot per symbol / structure.
Update Messages
While registered for RFQs, if an indicative RFQ order is created, an
"order_added"
message with"market_id": "none"
will be received which can be inserted to any existing RFQ book or used to create a new one.If an indicative RFQ order is deleted on the exchange an
"order_deleted"
message with"market_id": "none"
will be received so that the clients can update their book.
Register for RFQ Message
Name | Type | Comments |
---|---|---|
user_tag | string | Client defined tag used to identify the request |
Examples
Request
{
"register_for_rfqs": {
"user_tag": "unique_request_id"
}
}
Snapshot Message
{
"snapshot": {
"server_utc_timestamp": "1670228560424362",
"market_id": "none",
"tradeable_entity_id": "484",
"symbol": "ETH-USD-PERPETUAL",
"buy": [
{
"utc_timestamp": "1669643400000098",
"price": "1301.28",
"quantity": "0.1",
"order_id": "8910362"
}
],
"sell": []
}
}
Order Added Message
{
"order_added": {
"server_utc_timestamp": "1670228560847090",
"utc_timestamp": "1670228560813554",
"market_id": "none",
"tradeable_entity_id": "6",
"symbol": "PTF-USD",
"side": "buy",
"order_id": "9544537",
"price": "0",
"quantity": "10000.0"
}
}
Deregister for RFQs
This message is used stop receiving any further RFQ update messages. This does not prevent a user from quoting on any RFQ they already know about.
Deregister for RFQs Message
Name | Type | Comments |
---|---|---|
user_tag | string | Client defined tag used to identify the request |
Examples
Request
{
"deregister_for_rfqs": {
"user_tag": "unique_request_id"
}
}
Acknowledgement
A generic acknowledgement message is sent:
{
"command_response": {
"error_code": "0",
"error_text": "success",
"user_tag": "unique_request_id"
}
}
Refresh Interest
The system will time out an indicative order after a set timeout period, currently 30 minutes, so to keep a multi leg indicative order active the user must periodically send a refresh interest message.
Each time a refresh interest message is sent, the timeout period will be reset.
Refresh Interest Message
Name | Type | Comments |
---|---|---|
user_tag | string | Client defined tag used to identify the request |
order_id | string | Exchange generated order id |
client_order_id | string | Unique Order Id generated by the client |
Example
{
"refresh_interest": {
"order_id": "exchange_generated_order_id",
"client_order_id": "client_generated_order_id",
"user_tag": "unique_request_id"
}
}