Subscribe to Market Data

The value of action specifies how the message should be handled; each action type is outlined in following sections with an example message. There are 5 action types.

  • Partial
  • Insert
  • Update
  • Delete
  • Heartbeat

Partial Message

Action partial means the message is a new snapshot message, the client should remove the existing view of the order book and replace it with prices and sizes specified in the body of the message.

{
  "table": "orderBookL2",
  "action": "partial",
  "symbol": "BTCUSD",
  "bookVersionId": 1,
  "sendTime": 1632330416488,
  "keys": [
    "symbol",
    "id",
    "side"
  ],
  "data": [
    {
      "symbol": "BTCUSD",
      "side": "Buy",
      "size": "1.0",
      "price": "43000.0"
    }
  ]
}

Insert Message

Action insert means insert or replace the current value of that price level with the new value; the value is the new absolute position for that price level. Only the size will be changed in the event of an order's price being amended the appropriate combination of insert/append and delete messages will be published to amend the appropriate levels.

{
  "table": "orderBookL2",
  "action": "insert",
  "symbol": "BTCUSD",
  "bookVersionId": 206,
  "sendTime": 1632335161128,
  "publishTime": 1632335161441,
  "data": [
    {
      "symbol": "BTCUSD",
      "side": "Sell",
      "size": "177.0",
      "price": "47228.0"
    },
    {
      "symbol": "BTCUSD",
      "side": "Sell",
      "size": "102.0",
      "price": "48935.0"
    }
  ]
}

Update Message

Action update means insert or replace the current value of that price level; the value is the new absolute position for that price level.

{
  "table": "orderBookL2",
  "action": "update",
  "symbol": "BTCUSD",
  "bookVersionId": 207,
  "sendTime": 1632335161128,
  "publishTime": 1632335161441,
  "data": [
    {
      "symbol": "BTCUSD",
      "side": "Sell",
      "size": "177.0",
      "price": "47228.0"
    },
    {
      "symbol": "BTCUSD",
      "side": "Sell",
      "size": "102.0",
      "price": "48935.0"
    }
  ]
}

Delete Message

Action delete means remove the price level; if the price level does not exist the message should be ignored.

{
  "table": "orderBookL2",
  "action": "delete",
  "symbol": "BTCUSD",
  "bookVersionId": 208,
  "sendTime": 1632335161128,
  "publishTime": 1632335161441,
  "data": [
    {
      "symbol": "BTCUSD",
      "side": "Sell",
      "price": "46823.0"
    }
  ]
}

Heartbeat Message

Action heartbeat is a keep alive message sent every 30 seconds for each instrument if there are no updates in that time interval.

{
  "table": "orderBookL2",
  "timestamp": 1632334653163,
  "action": "heartbeat",
  "symbol": "BTCUSD"
}