Reporting Websocket

This channel allows you to keep up to date with the status of your account. You can receive updates on your balances and orders. Each request requires authentication with signatures.

Websocket Endpoints

Environments

There are two environments to access our authorized market data feeds:

  1. Live

wss://report.aquanow.io:8081/
  1. Sandbox

wss://report-staging.aquanow.io:8081/

Websocket Access and Authorization

API Authentication is done using an API key and a secret. User needs to associate the following information in the payload of the subscription message. View the Authorization page for more detail.

Request Parameters

There are three channels you can subscribe for:

  1. executionReport - all order and balance updates

  2. parentOrderReport - all order updates

  3. balanceReport - all balance updates

Example Usage

const WebSocket = require("ws");
const crypto = require("crypto");

const ws = new WebSocket("");


const apiKey = "";
const secret = "";


function subscribeToOrders() {
  const timestamp = Date.now().toString();
  const payload = {
    type: "subscribe",
    channel: "executionReport",
    nonce: timestamp
  };
  const apiSignature = crypto
    .createHmac("sha384", secret)
    .update(JSON.stringify(payload))
    .digest("hex");


  const subsOption = JSON.stringify({
    ...payload,
    apiKey,
    apiSignature
  });


  ws.send(subsOption);
}


ws.on("open", () => {
  console.log(WS tunnel opened - trade);
  subscribeToOrders({ apiKey, secret });
});


ws.on("message", data => {
  console.log("data", data);
});

Example Response

Balance Update

Returns an AuthenticateObject.

{
  "type": "balance",
  "payload": {
    "createdAt": 1554400262916,
    "symbol": "BTC",
    "totalBalance": 2.30044886,
    "depositAddress": "-",
    "usernameSymbol": "helloWorld_BTC",
    "pendingTransfer": 0,
    "itemDateTime": 1557267645512,
    "availableBalance": 2.24044886,
    "updatedAt": 1554400262916,
    "username": "helloWorld"
  }
}

Order Update

Returns an AuthenticateObject.

{
  "type": "order",
  "payload": {
    "createdAt": 1557267645477,
    "symbol": "BTC-USD",
    "totalBalance": 2.40047884,
    "depositAddress": "-",
    "usernameSymbol": "helloWorld_BTC",
    "pendingTransfer": 0,
    "itemDateTime": 1557267645646,
    "availableBalance": 2.24044886,
    "updatedAt": 1557267645477,
    "username": "helloWorld"
  }
}