Create RFQ
Create a new Block RFQ for takers via WebSocket.
Request Path And Method
wss path:
/ws/private
method:
block/rfqs/create_rfq
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| label | string | false | User defined label for the Block RFQ (maximum 64 characters) |
| makers | array | false | The exchange Desk Names the RFQ was directed towards |
| disclosed | boolean | false | Determines whether the RFQ is non-anonymous |
| legs | array | true | The individual legs of the RFQ |
| > instrumentName | string | true | Instrument name |
| > quantity | string | true | This value multiplied by the ratio of a leg gives trade size on that leg |
| > side | string | true | The direction of the leg. Valid values include buy and sell |
| hedge | object | false | Hedge leg of the Block RFQ. There is only one hedge leg allowed per Block RFQ |
| > instrumentName | string | true | Instrument name |
| > quantity | string | true | It represents the requested trade size. For perpetual and inverse futures the amount is in USD units. For options and linear futures and it is the underlying base currency coin |
| > side | string | true | The direction of the leg |
| > price | string | true | Price of a quote |
| tradeAllocations | array | false | List of allocations for Block RFQ pre-allocation |
| > amount | string | true | Amount allocated to this user or client |
| > userId | int | false | User ID (subaccount or main account) to allocate part of the RFQ amount |
| > clientInfo | object | false | Client allocation info for brokers |
| >> clientId | int | false | ID of a client; available to broker. Represents a group of users under a common name |
| >> clientLinkId | int | false | ID assigned to a single user in a client; available to broker |
Request Example
{
"rid": 3,
"method": "block/rfqs/create_rfq",
"params": {
"label": "V2 Integration Test RFQ",
"makers": [
"SPMAKERTEST"
],
"disclosed": true,
"legs": [
{
"instrumentName": "BTC-26JUN26-200000-C",
"quantity": "25.0",
"side": "buy"
}
],
"hedge": {
"instrumentName": "BTC-PERPETUAL",
"quantity": "14720.0",
"side": "sell",
"price": "121842.0"
}
}
}
Response Message
| Name | Type | Description |
|---|---|---|
| rid | string | Request ID |
| result | object | Result object containing RFQ details |
| > quantity | string | This value multiplied by the ratio of a leg gives trade size on that leg |
| > blockRfqId | string | The exchange created unique identifier of the RFQ |
| > comboId | string | Unique combo identifier |
| > createdAt | long | The time in UNIX milliseconds since the epoch when the RFQ was created |
| > expiresAt | long | The time in UNIX milliseconds since the epoch when the RFQ expires |
| > makers | array | The exchange Desk Names the RFQ was directed towards. An empty array is returned if role == maker |
| > role | string | The role of the user to the RFQ. Valid values include taker, maker |
| > legs | array | The composite Instrument legs of the RFQ |
| >> instrumentName | string | Instrument name |
| >> ratio | string | The relative multiplier applied to the quantity of the Instrument's amount relative to the amount of the RFQ. Maximum of 2 decimal places |
| >> side | string | The direction of the composite leg relative to the RFQ |
| > hedge | object | Hedge leg of the Block RFQ. There is only one hedge leg allowed per Block RFQ |
| >> instrumentName | string | Instrument name |
| >> quantity | string | It represents the requested trade size. For perpetual and inverse futures the amount is in USD units. For options and linear futures and it is the underlying base currency coin |
| >> side | string | The direction of the leg |
| >> price | string | Hedge price |
| > disclosed | boolean | Indicates whether the RFQ was created as non-anonymous, meaning taker and maker aliases are visible to counterparties |
| > label | string | RFQ creator label of the RFQ |
| > status | string | The availability of the RFQ to trade. (created,open,filled,traded,cancelled,expired,closed,failed) |
| > closedReason | string | The reason the RFQ is no longer available. null if the RFQ's status == open |
| > minTradeAmount | string | Minimum amount for trading |
| > includedInTakerRating | boolean | Indicates whether the RFQ is included in the taker's rating calculation. Present only for closed RFQs created by the requesting taker |
| > tradeAllocations | array | List of allocations for Block RFQ pre-allocation |
| >> amount | string | Amount allocated to this user or client |
| >> userId | int | User ID (subaccount or main account) to allocate part of the RFQ amount |
| >> clientInfo | object | Client allocation info for brokers |
| >>> clientId | int | ID of a client; available to broker. Represents a group of users under a common name |
| >>> clientLinkId | int | ID assigned to a single user in a client; available to broker |
| >>> name | int | Name of the linked user within the client; available to broker |
Response Example
{
"rid": 3,
"result": {
"blockRfqId": "253123",
"quantity": "25.0",
"comboId": "BTC-26JUN26-200000-C",
"createdAt": 1755153834916,
"expiresAt": 1755154134916,
"makers": [
"SPMAKERTEST"
],
"role": "taker",
"legs": [
{
"instrumentName": "BTC-26JUN26-200000-C",
"side": "buy",
"ratio": "1"
}
],
"hedge": {
"instrumentName": "BTC-PERPETUAL",
"quantity": "14720.0",
"side": "sell",
"price": "121842.0"
},
"status": "created",
"label": "V2 Integration Test RFQ",
"disclosed": true,
"minTradeAmount": "0.1"
}
}