Skip to main content

Request

// Limit Order
{
  "message": "createOrder",
  "content": {
    "clientRequestId": "3e2c3bb4-be3f-4d05-9133-51d3a27b74ef",
    "market": "BTC-3JUL26-55000-C",
    "price": "6400",
    "quantity": "1",
    "orderType": "buy",
    "tradeType": "limit",
    "postOnly": false
  }
}
// Market Order
{
  "message": "createOrder",
  "content": {
    "clientRequestId": "3e2c3bb4-be3f-4d05-9133-51d3a27b74ef",
    "market": "BTC-3JUL26-55000-C",
    "price": "6400",
    "quantity": "1",
    "orderType": "buy",
    "tradeType": "market",
    "maxSlippage": "0.02"
  }
}
FieldTypeRequiredDescription
messagestringYescreateOrder
content.clientRequestIdstringNoClient-generated UUID for correlation
content.marketstringNoMarket name, only required when connecting with market=ALL
content.pricestringYesLimit price; for market orders, the expected price
content.quantitystringYesOrder quantity
content.orderTypestringYesOrder side: buy or sell
content.tradeTypestringYesOrder type: limit or market
content.postOnlybooleanNoMaker-only flag; limit orders only
content.reduceOnlybooleanNoRestrict the order to reducing an existing position
content.maxSlippagestringNoMarket orders only; 0 - 1 inclusive. 0 behaves as IOC

Response — Acknowledgment

{
  "resultType": "createOrder",
  "market": "BTC-3JUL26-55000-C",
  "data": {
    "statusCode": 202,
    "body": "order received",
    "order": {
      "market": "BTC-3JUL26-55000-C",
      "orderId": "01KWK47RT6A4DD1TCQE662QJ3W",
      "orderType": "buy",
      "tradeType": "limit",
      "price": "6400",
      "quantity": "1",
      "filledQuantity": "0",
      "leverage": "0",
      "orderStatus": "pending",
      "postOnly": false,
      "createdAt": 1783053411143,
      "updatedAt": 1783053411171,
      "clientRequestId": "3e2c3bb4-be3f-4d05-9133-51d3a27b74ef"
    },
    "clientRequestId": "3e2c3bb4-be3f-4d05-9133-51d3a27b74ef"
  }
}
FieldTypeRequiredDescription
resultTypestringYescreateOrder
marketstringYesContract name
data.statusCodenumberYes202
data.bodystringYesorder received
data.order.marketstringYesContract name
data.order.orderIdstringYesUnique order identifier
data.order.orderTypestringYesOrder side: buy or sell
data.order.tradeTypestringYesOrder type: limit or market
data.order.pricestringYesOrder price
data.order.quantitystringYesOrder quantity
data.order.filledQuantitystringYesQuantity filled so far
data.order.leveragestringYesLeverage — always 0 for options
data.order.orderStatusstringYespending
data.order.postOnlybooleanYesMaker-only flag
data.order.createdAtnumberYesCreation time (ms since epoch)
data.order.updatedAtnumberYesLast update time (ms since epoch)
data.order.clientRequestIdstringNoClient-generated UUID for correlation
data.clientRequestIdstringNoClient-generated UUID for correlation

Response — Confirmation

{
  "resultType": "createOrder",
  "market": "BTC-3JUL26-55000-C",
  "data": {
    "statusCode": 200,
    "body": "order placed",
    "order": {
      "market": "BTC-3JUL26-55000-C",
      "orderId": "01KWK47RT6A4DD1TCQE662QJ3W",
      "orderType": "buy",
      "tradeType": "limit",
      "price": "6400",
      "quantity": "1",
      "filledQuantity": "0",
      "leverage": "0",
      "orderStatus": "open",
      "postOnly": false,
      "createdAt": 1783053411143,
      "updatedAt": 1783053411174,
      "clientRequestId": "3e2c3bb4-be3f-4d05-9133-51d3a27b74ef"
    },
    "clientRequestId": "3e2c3bb4-be3f-4d05-9133-51d3a27b74ef"
  }
}
FieldTypeRequiredDescription
resultTypestringYescreateOrder
marketstringYesContract name
data.statusCodenumberYes200
data.bodystringYesorder placed
data.order.marketstringYesContract name
data.order.orderIdstringYesUnique order identifier
data.order.orderTypestringYesOrder side: buy or sell
data.order.tradeTypestringYesOrder type: limit or market
data.order.pricestringYesOrder price
data.order.quantitystringYesOrder quantity
data.order.filledQuantitystringYesQuantity filled so far
data.order.leveragestringYesLeverage — always 0 for options
data.order.orderStatusstringYesopen
data.order.postOnlybooleanYesMaker-only flag
data.order.createdAtnumberYesCreation time (ms since epoch)
data.order.updatedAtnumberYesLast update time (ms since epoch)
data.order.clientRequestIdstringNoClient-generated UUID for correlation
data.clientRequestIdstringNoClient-generated UUID for correlation

Response — Error

{
  "resultType": "createOrder",
  "market": "BTC-3JUL26-55000-C",
  "data": {
    "statusCode": 400,
    "body": "self trade not allowed",
    "order": {
      "market": "BTC-3JUL26-55000-C",
      "orderId": "01KWMXCQCSQC1MN9NJ30TYZPKJ",
      "orderType": "sell",
      "tradeType": "limit",
      "price": "6700",
      "quantity": "1",
      "filledQuantity": "0",
      "leverage": "0",
      "orderStatus": "rejected",
      "postOnly": true,
      "createdAt": 1783113342363,
      "updatedAt": 1783113342365,
      "clientRequestId": "3e2c3bb4-be3f-4d05-9133-51d3a27b74ef"
    },
    "error": {
      "code": "6000",
      "slug": "ORDER_REJECTED"
    },
    "clientRequestId": "3e2c3bb4-be3f-4d05-9133-51d3a27b74ef"
  }
}
FieldTypeRequiredDescription
resultTypestringYescreateOrder
marketstringYesContract name
data.statusCodenumberYesError status, e.g. 400
data.bodystringYesError description
data.orderobjectNoThe rejected order, when available (same fields as the acknowledgment, with orderStatus: rejected)
data.error.slugstringYesMachine-readable error slug
data.error.codestringYesError code
data.clientRequestIdstringNoClient-generated UUID for correlation