On this page

latest contributor to this doc

Last Edit:

@gcharang

Orderbook Streaming

API-v2stream::orderbook::enable

Using this method, you can enable the orderbook stream for a given pair.

Parameter* = requiredTypeDescription
base*
string
Base currency of a pair
client_id*
integer
This ID can be used to access data (e.g. via http://localhost:7783/event-stream?id=1)
rel*
string
Related currency, also known as the "quote currency"

For this method, base and rel are essentially interchangeable, and inverting the base coin and rel coin in a request will return the same data.

Parameter* = requiredTypeDescription
streamer_id
string
Optional. An identifier for the data stream. This can be used later to disable streaming for the event with stream::disable.

Enable Orderbook Streaming

POST
stream::orderbook::enable
{
  "userpass": "RPC_UserP@SSW0RD",
  "method": "stream::orderbook::enable",
  "mmrpc": "2.0",
  "params": {
    "client_id": 1,
    "base": "DOC",
    "rel": "MARTY"
  }
}
{
  "mmrpc": "2.0",
  "result": {
      "streamer_id": "ORDERBOOK_UPDATE/orbk/DOC:MARTY"
  },
  "id": null
}

Here is an example of the stream data you should be able to see in http://localhost:7783/event-stream?id=1 for each orderbook updated event:

data: {"_type":"ORDERBOOK_UPDATE/orbk/KMD:MATIC","message":{"order_type":"NewOrUpdatedItem","order_data":{"pubkey":"026da2fc632afabbb1b86d04a9a012db25eca74db38ba2eccd88552f27f4c0b245","base":"MATIC","rel":"KMD","price":[[1,[4249903049,3]],[1,[1410065408,2]]],"max_volume":[[1,[1477927621,23427]],[1,[1783793664,116]]],"min_volume":[[1,[1223297773,7148]],[1,[552894464,46566]]],"uuid":"b18bb3ab-8476-4a06-9cf6-9744e1bf6442","created_at":1746432644}}}

Parameter* = requiredTypeDescription
ClientAlreadyListening
string
Optional. The requested events are already being sent to the client_id
UnknownClient
string
Optional. No client has an open connection using this client_id

No client has an open connection using this client_id.

{
  "mmrpc": "2.0",
  "error": "UnknownClient",
  "error_path": "orderbook",
  "error_trace": "orderbook:36]",
  "error_type": "EnableError",
  "error_data": "UnknownClient",
  "id": null
}

The requested events are already being sent to the client_id.

{
  "mmrpc": "2.0",
  "error": "ClientAlreadyListening",
  "error_path": "orderbook",
  "error_trace": "orderbook:36]",
  "error_type": "EnableError",
  "error_data": "ClientAlreadyListening",
  "id": null
}

Here is an example of the stream data you should be able to see in http://localhost:7783/event-stream?id=1 for each orderbook updated event:

data: {"_type":"ORDERBOOK_UPDATE/orbk/KMD:MATIC","message":{"order_type":"NewOrUpdatedItem","order_data":{"pubkey":"026da2fc632afabbb1b86d04a9a012db25eca74db38ba2eccd88552f27f4c0b245","base":"MATIC","rel":"KMD","price":[[1,[4249903049,3]],[1,[1410065408,2]]],"max_volume":[[1,[1477927621,23427]],[1,[1783793664,116]]],"min_volume":[[1,[1223297773,7148]],[1,[552894464,46566]]],"uuid":"b18bb3ab-8476-4a06-9cf6-9744e1bf6442","created_at":1746432644}}}