Create Trade

Execute a trade on a Block RFQ via WebSocket. For taker use only.

Request Path And Method

wss path:

/ws/private

method:

block/rfqs/trade

Parameters

Parameter Type Required Description
blockRfqId string true ID of the Block RFQ
price string true Maximum acceptable price for execution
quantity string true The size of the Quote, denominated in the clearingCurrency of the RFQ
side string true The direction of the Quote
timeInForce string true Specifies how long the order should remain active. Valid values: fill_or_kill, good_til_cancelled
legs array true List of legs used to trade Block RFQ
> instrumentName string true Instrument name
> side string true The direction of the composite leg relative to the RFQ
> ratio string true The relative multiplier applied to the quantity of the Instrument's amount relative to the amount of the RFQ. Maximum of 2 decimal places
hedge object false Hedge leg information
> instrumentName string true Instrument name
> price string true Hedge leg price
> 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 Direction of selected leg. Must match the direction of the corresponding leg in the Block RFQ

Request Example

{
  "rid": 10,
  "method": "block/rfqs/trade",
  "params": {
    "blockRfqId": "253191",
    "quantity": "25.0",
    "price": "0.2",
    "side": "sell",
    "timeInForce": "fill_or_kill",
    "legs": [
      {
        "instrumentName": "BTC-26JUN26-200000-C",
        "side": "buy",
        "ratio": "1"
      }
    ],
    "hedge": null
  }
}

Response Message

Name Type Description
rid string Request ID
result object Result object containing trade results
> results array Array of trade result objects
>> blockTradeId string Block trade id
>> timestamp long The timestamp (milliseconds since the Unix epoch)
>> trades array Array of trade detail objects
>>> tradeId string Unique (per currency) trade identifier
>>> tickDirection integer Direction of the "tick" (0 = Plus Tick, 1 = Zero-Plus Tick, 2 = Minus Tick, 3 = Zero-Minus Tick)
>>> feeCurrency string Currency, i.e "BTC", "ETH", "USDC"
>>> api boolean true if user order was created with API
>>> advanced string Advanced type of user order: "usd" or "implv" (only for options; omitted if not applicable)
>>> orderId string Id of the user order (maker or taker), i.e. subscriber's order id that took part in the trade
>>> liquidity string Describes what was role of users order: "M" when it was maker order, "T" when it was taker order
>>> postOnly boolean true if user order is post-only
>>> side string Valid values: buy, sell
>>> contracts string Trade size in contract units (optional, may be absent in historical trades)
>>> mmp boolean true if user order is MMP
>>> fee string User's fee in units of the specified feeCurrency
>>> quoteId string QuoteID of the user order (optional)
>>> indexPrice string Index Price at the moment of trade
>>> label string User defined label (presented only when previously set for order by user)
>>> blockTradeId string Block trade id - when trade was part of a block trade
>>> price string Price in base currency
>>> comboId string Optional field containing combo instrument name if the trade is a combo trade
>>> orderType string Order type: "limit", "market", or "liquidation"
>>> profitLoss string Profit and loss in base currency
>>> timestamp long The timestamp of the trade (milliseconds since the UNIX epoch)
>>> iv string Option implied volatility for the price (Option only)
>>> status string Order state: "open", "filled", "rejected", "cancelled", "untriggered" or "archive" (if order was archived)
>>> underlyingPrice string Underlying price for implied volatility calculations (Options only)
>>> blockRfqQuoteId string ID of the Block RFQ quote - when trade was part of the Block RFQ
>>> quoteSetId string QuoteSet of the user order (optional)
>>> markPrice string Mark Price at the moment of trade
>>> blockRfqId string ID of the Block RFQ
>>> comboTradeId string Optional field containing combo trade identifier if the trade is a combo trade
>>> reduceOnly boolean true if user order is reduce-only
>>> quantity string Trade amount. For perpetual and inverse futures the amount is in USD units. For options and linear futures and it is the underlying base currency coin
>>> liquidation string Optional field (only for trades caused by liquidation): "M" when maker side of trade was under liquidation, "T" when taker side was under liquidation, "MT" when both sides of trade were under liquidation
>>> tradeSeq integer The sequence number of the trade within instrument
>>> riskReducing boolean true if user order is marked by the platform as a risk reducing order (can apply only to orders placed by PM users)
>>> instrumentName string Unique instrument identifier

Response Example

{
  "rid": 10,
  "result": {
    "results": [
      {
        "blockTradeId": "BLOCK-791446",
        "timestamp": 1755156907986,
        "trades": [
          {
            "tradeId": "202981761",
            "tickDirection": 0,
            "feeCurrency": "BTC",
            "api": true,
            "orderId": "58578977647",
            "liquidity": "T",
            "postOnly": false,
            "side": "sell",
            "contracts": "25.0",
            "mmp": false,
            "fee": "0.00375",
            "indexPrice": "121706.06",
            "blockTradeId": "BLOCK-791446",
            "price": "0.2",
            "orderType": "limit",
            "profitLoss": "0.0",
            "timestamp": 1755156907985,
            "iv": "91.53",
            "status": "filled",
            "underlyingPrice": "131088.26",
            "markPrice": "0.12462113",
            "blockRfqId": "253191",
            "reduceOnly": false,
            "quantity": "25.0",
            "tradeSeq": 11,
            "riskReducing": false,
            "instrumentName": "BTC-26JUN26-200000-C"
          }
        ]
      }
    ]
  }
}

results matching ""

    No results matching ""