NAV Navbar
shell python
Request API Key

Introduction

Welcome to the NovaDAX API

NovaDAX provides a series of API documents aiming to deliver a faster, more secure and professional trading experience to customers. You can use our API to access all market data, trading, order history and account management endpoints.

NovaDAX API endpoints can be accessed by customers in an easy and practical way and we are optimizing our SDK continuously.

Before You Start

Create An Account on NovaDAX

If you haven't signed up on NovaDAX, please click here to create an account to start your exclusive trading experience on NovaDAX.

Create An API key

Before being able to sign any requests, you should first acquire an API AccessKey and the corresponding SecretKey. After login on NovaDAX, you can find the user icon at the top menu bar and click on "API Key and Sub Account" to create you API Key.

API Access

NovaDAX API endpoints are divided into public endpoints and private endpoints.

Public endpoints

Public endpoints don't require authentication for: * Market data * Basic information

PRIVATE endpoints

Private endpoint can only be accessed with authentication for: * Orders * Account

Access URLs

https://api.novadax.com

Endpoint Rate Limits

Signature

To protect API communication from unauthorized changes, all private endpoints calls are required to be signed with your API AccessKey.

A valid request should follow the rules below:

Steps to sign a GET request

1. Query string is

queryStr = "name=joao&cpf=123456&birthday=2017-08-01"

2. Encode the query string and sort parameter name following ASCII order.

sort(urlencode(queryStr)) // birthday=2017-08-01&cpf=123456&name=joao

3. Generate the "Query String" as format {Request Method}\n{Request URL}\n{Sorted Query Parameters}\n{TimeStamp}

signStr = GET\n/v1/orders/get\nbirthday=2017-08-01&cpf=123456&name=joao\n1564988445199

4. Use the string generated in step 3 and your "SecretKey" to create a signature

sign = hmac_sha256(signStr,SecretKey)

5. Add Accesskey, Signature and TimeStamp to the header of quest

request.header.add("X-Nova-Access-Key",AccessKey)

request.header.add("X-Nova-Signature",Sign)

request.header.add("X-Nova-Timestamp",TimeStamp)

6. Example of authentication GET in Java

Tux, the Linux mascot

Steps to sign a POST request

1. The request body is

body = {"name":"joao","cpf":"123456","birthday":"2017-08-01"} // MD5 value is 7d8f374d786079cfade9d1c2a358137c

2. Generate the MD5 hashed "Request body" as format "{Request Method}\n{Request URL}\n{MD5 Request Body}\n{TimeStamp}"

signStr = POST\n/v1/order/create\n7d8f374d786079cfade9d1c2a358137c\n1564988445199

3. Use "Request String" generated in step 2 and your "SecretKey" to create a signature

sign = hmac_sha256(signStr,SecretKey)

4. Add Accesskey, Signature and TimeStamp to the header of quest

request.header.add("X-Nova-Access-Key",AccessKey)

request.header.add("X-Nova-Signature",Sign)

request.header.add("X-Nova-Timestamp",TimeStamp)

5. Example of authentication POST in Java

Tux, the Linux mascot

Response Format

All response will be returned in JSON format. The top level JSON is a wrapper object which provides three meta data in "code", "data" and "message". The actual per API response is in "data" field.

Response to successful request

{
    "code": "A10000",
    "data": {...},
    "message": "Success"
}

Response to failed request

{
    "code": "A99999",
    "data": {...},
    "message": "fail."
}

Response Format:

Field Data Type Description
code string The status returned by API endpoint
message string The simplified response
data object The data content if available

Response Code Details

Code HTTP Status Code Message Description
A99999 500 Failed Internal error
A10000 200 Success Successful request
A10001 400 Params error Parameter is invalid
A10002 404 Api not found API used is irrelevant
A10003 403 Authentication failed Authentication is failed
A10004 429 Too many requests Too many requests are made
A10005 403 Kyc required Need to complete KYC firstly
A10006 403 Customer canceled Account is canceled
A10007 400 Account not exist Sub account does not exist
A10011 400 Symbol not exist Trading symbol does not exist
A10012 400 Symbol not trading Trading symbol is temporarily not available
A10013 503 Symbol maintain Trading symbol is in maintain
A30001 400 Order not found Queried order is not found
A30002 400 Order amount is too small Order amount is too small
A30003 400 Order amount is invalid Order amount is invalid
A30004 400 Order value is too small Order value is too small
A30005 400 Order value is invalid Order value is invalid
A30006 400 Order price is invalid Order price is invalid
A30007 400 Insufficient balance The balance is insufficient
A30008 400 Order was closed The order has been executed
A30009 400 Order canceled The order has been cancelled
A30010 400 Order cancelling The order is being cancelled
A30011 400 Order price too high The order price is too high
A30012 400 Order price too low The order price is too low

FAQ

Failure in authentication

SDK and Video Tutorial

If needed, you can access our SDK in github.

In addition to our own SDK, the CCXT library has also integrated NovaDAX. It is our authorized SDK provider, and you may access the NovaDAX API through CCXT. For more information, please visit https://ccxt.trade.

Changelog

2023-09-12

2021-01-30

2020-12-17

2020-11-11

2020-10-12

2020-05-20

2020-03-05

2019-12-05

2019-09-18

Basic Information

Get One Supported Trading Symbol

This endpoint returns one NovaDAX's supported trading symbol

curl "https://api.novadax.com/v1/common/symbol?symbol=BTC_BRL"
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key(optional)', 'your secret key(optional)')

result = nova_client.get_symbol("BTC_BRL")

print(result)

Response Content

{
    "code": "A10000",
    "data": {
        "symbol": "BTC_BRL",
        "baseCurrency": "BTC",
        "quoteCurrency": "BRL",
        "amountPrecision": 4,
        "pricePrecision": 2,
        "valuePrecision": 4,
        "minOrderAmount": "0.001",
        "minOrderValue": "5"
    },
    "message": "Success"
}

Request URL

GET /v1/common/symbol

Weight: 1

Request Parameter

Field Mandatory Data Type Description
symbol true string Trading symbol

Response Details

Field Data Type Description
symbol string Trading symbol
baseCurrency string Base currency in a trading symbol
quoteCurrency string Quote currency in a trading symbol
pricePrecision number Price precision
amountPrecision number Amount precision
valuePrecision number Value precision
minOrderAmount string Minimum order amount
minOrderValue string Minimum order value

Get All Supported Trading Symbol

This endpoint returns all NovaDAX's supported trading symbols

curl "https://api.novadax.com/v1/common/symbols"
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key(optional)', 'your secret key(optional)')

result = nova_client.list_symbols()

print(result)

Response Content

{
    "code": "A10000",
    "data": [
        {
            "symbol": "BTC_BRL",
            "baseCurrency": "BTC",
            "quoteCurrency": "BRL",
            "amountPrecision": 4,
            "pricePrecision": 2,
            "valuePrecision": 4,
            "minOrderAmount": "0.001",
            "minOrderValue": "5",
        },
        {
            "symbol": "ETH_BRL",
            "baseCurrency": "ETH",
            "quoteCurrency": "BRL",
            "amountPrecision": 4,
            "pricePrecision": 2,
            "valuePrecision": 4,
            "minOrderAmount": "0.01",
            "minOrderValue": "5"
        }
    ],
    "message": "Success"
}

Request URL

GET /v1/common/symbols

Weight: 1

Request Parameters

No parameter is needed for this endpoint.

Response Details

Field Data Type Description
symbol string Trading symbol
baseCurrency string Base currency in a trading symbol
quoteCurrency string Quote currency in a trading symbol
pricePrecision number Price precision
amountPrecision number Amount precision
valuePrecision number Value precision
minOrderAmount string Minimum order amount
minOrderValue string Minimum order value

Get Current System Time

This endpoint returns the current system time in milliseconds adjusted to UTC time zone.

curl "https://api.novadax.com/v1/common/timestamp"
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key(optional)', 'your secret key(optional)')

result = nova_client.get_timestamp()

print(result)

Response Content

{
    "code": "A10000",
    "data": 1565080348983,
    "message": "Success"
}

Request URL

GET /v1/common/timestamp

Weight: 1

Request Parameters

No parameter is needed for this endpoint.

Response Details

System time milliseconds adjusted to UTC time zone.

Market Data

Get Latest Tickers for All Trading Pairs

This endpoint returns the latest ticker for all supported trading pairs with important 24h aggregated market data.

curl 'https://api.novadax.com/v1/market/tickers'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key(optional)', 'your secret key(optional)')

result = nova_client.list_tickers()

print(result)

Response Content

{
    "code": "A10000",
    "data": [
        {
            "ask": "34708.15",
            "baseVolume24h": "34.08241488",
            "bid": "34621.74",
            "high24h": "35079.77",
            "lastPrice": "34669.81",
            "low24h": "34330.64",
            "open24h": "34492.08",
            "quoteVolume24h": "1182480.09502814",
            "symbol": "BTC_BRL",
            "timestamp": 1571112216346
        }
    ],
    "message": "Success"
}

Request URL

GET /v1/market/tickers

Weight: 5

Request Parameters

No parameters are needed for this endpoint.

Response Details

Field Data Type Description
symbol string Trading symbol
lastPrice string The price of last trade
bid string The current best bid price
ask string The current best ask price
open24h string The opening price of last 24 hours
high24h string The highest price of last 24 hours
low24h string The lowest price of last 24 hours
baseVolume24h string The trading volume in base currency of last 24 hours
quoteVolume24h string The trading volume of quote currency of last 24 hours
timestamp number The current system time in UTC time zone

Get Latest Ticker for Specific Pair

The endpoint retrieves the latest ticker of a specific trading pair.

curl 'https://api.novadax.com/v1/market/ticker?symbol=BTC_BRL'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key(optional)', 'your secret key(optional)')

result = nova_client.get_ticker('BTC_BRL')

print(result)

Response Content

{
    "code": "A10000",
    "data": {
        "ask": "34708.15",
        "baseVolume24h": "34.08241488",
        "bid": "34621.74",
        "high24h": "35079.77",
        "lastPrice": "34669.81",
        "low24h": "34330.64",
        "open24h": "34492.08",
        "quoteVolume24h": "1182480.09502814",
        "symbol": "BTC_BRL",
        "timestamp": 1571112216346
    },
    "message": "Success"
}

Request URL

GET /v1/market/ticker

Weight: 1

Request Parameter

Field Mandatory Data Type Description
symbol true string Trading symbol

Response Details

Field Data Type Description
symbol string Trading symbol
lastPrice string The price of last trade
bid string The current best bid price
ask string The current best ask price
open24h string The opening price of last 24 hours
high24h string The highest price of last 24 hours
low24h string The lowest price of last 24 hours
baseVolume24h string The trading volume in base currency of last 24 hours
quoteVolume24h string The trading volume of quote currency of last 24 hours
timestamp number The current system time in UTC time zone

Get Market Depth

This endpoint retrieves the current order book of a specific pair.

curl 'https://api.novadax.com/v1/market/depth?symbol=BTC_BRL&limit=10'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key(optional)', 'your secret key(optional)')

result = nova_client.get_depth('BTC_BRL', limit = 10)

print(result)

Response Content

{
    "code": "A10000",
    "data": {
        "asks": [
            ["43687.16", "0.5194"],
            ["43687.2", "1.3129"]
        ],
        "bids": [
            ["43657.57", "0.6135"],
            ["43657.46", "0.0559"]
        ],
        "timestamp": 1565057338020
    },
    "message": "Success"
}

Request URL

GET /v1/market/depth

Weight: 1

Request Parameters

Field Mandatory Data Type Description
symbol true string Trading symbol
limit false number The number of asks and bids to return , max 50

Response Details

Field Data Type Description
asks array All current asks
asks[][0] string Sell price
asks[][1] string Sell amount
bids array All current bids
bids[][0] string Buy price
bids[][1] string Buy amount
timestamp number The current system time in UTC time zone

Get Recent Trades

This endpoint returns most recent trades data.

curl 'https://api.novadax.com/v1/market/trades?symbol=BTC_BRL&limit=10'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key(optional)', 'your secret key(optional)')

result = nova_client.list_trades('BTC_BRL', limit = 10)

print(result)

Response Content

{
    "code": "A10000",
    "data": [
        {
            "price": "43657.57",
            "amount": "1",
            "side": "SELL",
            "timestamp": 1565007823401
        },
        {
            "price": "43687.16",
            "amount": "0.071",
            "side": "BUY",
            "timestamp": 1565007198261
        }
    ],
    "message": "Success"
}

Request URL

GET /v1/market/trades

Weight: 5

Request Parameters

Field Mandatory Data Type Description
symbol true string Trading symbol
limit false number The number of trades to return , default 100

Response Details

Field Data Type Description
price string The trading price
amount string The trading volume
side string The trading direction (SELL or BUY)
timestamp number The time when the trade occurred

Get Kline Data

curl 'https://api.novadax.com/v1/market/kline/history?symbol=BTC_BRL&from=1567619280&to=1567620000&unit=ONE_MIN'
from novadax import RequestClient as NovaClient

result = nova_client.get_kline('BTC_BRL', unit = 'ONE_WEE',from='1567619280 ', to='1567620000 ')

print(result)

Response Content

{
    "code": "A10000",
    "data": [
        {
            "amount": 8.25709100,
            "closePrice": 62553.20,
            "count": 29,
            "highPrice": 62592.87,
            "lowPrice": 62553.20,
            "openPrice": 62554.23,
            "score": 1602501480,
            "symbol": "BTC_BRL",
            "vol": 516784.2504067500
        }
    ],
    "message": "Success"
}

Request URL

GET /v1/market/kline/history

Weight: 5

Request Parameters

Field Mandatory Data Type Description
symbol true string Trading symbol
unit true string ONE_MIN,FIVE_MIN, FIFTEEN_MIN,HALF_HOU,ONE_HOU,ONE_DAY,ONE_WEE,ONE_MON;
from true number The start time All time units only save the latest 3000 data
to true number The end time All time units only save the latest 3000 data

Response Details

Field Data Type Description
unit string Time unit
amount string The trading amount
count string The trading count
openPrice string The open Price
closePrice string The close Price
highPrice string The high Price
lowPrice string The low Price
symbol string The trading symbol
score string The time
vol string The trading volume

Orders

Order Introduction

Order type(order.type)

Operator of stop order (order.operator)

Order direction(order.side)

Order status(order.status)

Order’s role(order.role)

Place A New Limit Order To Buy

This endpoint places a new limit order to buy and submits it to the exchange to be matched.

curl -X POST \
  'https://api.novadax.com/v1/orders/create' \
  -H 'Content-Type: application/json' \
  -H 'X-Nova-Access-Key: your access key' \
  -H 'X-Nova-Signature: signature' \
  -H 'X-Nova-Timestamp: timestamp now' \
  -d '{
    "symbol": "BTC_BRL",
    "type": "LIMIT",
    "side": "BUY",
    "price": "35000.00",
    "amount": "0.001"
  }'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')

result = nova_client.create_order('BTC_BRL', 'LIMIT', 'BUY', price = '35000.00', amount = '0.001')

print(result)

Response Content

{
    "code": "A10000",
    "data": {
        "amount": "0.001",
        "averagePrice": null,
        "filledAmount": "0",
        "filledFee": "0",
        "filledValue": "0",
        "id": "633679992971251712",
        "price": "35000",
        "side": "BUY",
        "status": "PROCESSING",
        "symbol": "BTC_BRL",
        "timestamp": 1571122683535,
        "type": "LIMIT",
        "value": "35"
    },
    "message": "Success"
}

Request URL

POST /v1/orders/create

Weight: 5

Request Parameters

Field Mandatory Data Type Description
symbol true string The trading symbol to trade, like BTC_BRL
type true string The type of order, single option: LIMIT
side true string The direction of order, single option: BUY
amount true string The amount of base currency, like BTC amount for buy of BTC_BRL
price true string Buy price
accountId false string Sub account ID, if not informed, the order will be created under master account

Response Details

Field Data Type Description
id string Order ID
symbol string The trading symbol
type string The type of order
side string The direction of order
price string The price of order
averagePrice string The average price of order
amount string The amount of base currency
filledAmount string The executed amount of base currency
value string The amount of quote currency
filledValue string The executed amount of quote currency
filledFee string Transaction fee paid
status string The status of order, can be found in order introduction
timestamp number The time when the order was created

Place A New Limit Order To Sell

This endpoint places a new limit order to sell and submits it to the exchange to be matched.

curl -X POST \
  'https://api.novadax.com/v1/orders/create' \
  -H 'Content-Type: application/json' \
  -H 'X-Nova-Access-Key: your access key' \
  -H 'X-Nova-Signature: signature' \
  -H 'X-Nova-Timestamp: timestamp now' \
  -d '{
    "symbol": "BTC_BRL",
    "type": "LIMIT",
    "side": "SELL",
    "price": "35000.00",
    "amount": "0.001"
  }'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')

result = nova_client.create_order('BTC_BRL', 'LIMIT', 'SELL', price = '35000.00', amount = '0.001')

print(result)

Response Content

{
    "code": "A10000",
    "data": {
        "amount": "0.001",
        "averagePrice": null,
        "filledAmount": "0",
        "filledFee": "0",
        "filledValue": "0",
        "id": "633680805433102336",
        "price": "35000",
        "side": "SELL",
        "status": "PROCESSING",
        "symbol": "BTC_BRL",
        "timestamp": 1571122877244,
        "type": "LIMIT",
        "value": "35"
    },
    "message": "Success"
}

Request URL

POST /v1/orders/create

Weight: 5

Request Parameters

Field Mandatory Data Type Description
symbol true string The trading symbol to trade, like BTC_BRL
type true string The type of order, single option: LIMIT
side true string The direction of order, single option: SELL
amount true string The amount of base currency, like BTC amount for sell of BTC_BRL
price true string Sell price
accountId false string Sub account ID, if not informed, the order will be created under master account

Response Details

Field Data Type Description
id string Order ID
symbol string The trading symbol
type string The type of order
side string The direction of order
price string The price of order
averagePrice string The average price of order
amount string The amount of base currency
filledAmount string The executed amount of base currency
value string The amount of quote currency
filledValue string The executed amount of quote currency
filledFee string Transaction fee paid
status string The status of order, can be found in order introduction
timestamp number The time when the order was created

Place A New Market Order To Buy

This endpoint places a new market order to buy and submits it to the exchange to be matched.

curl -X POST \
  'https://api.novadax.com/v1/orders/create' \
  -H 'Content-Type: application/json' \
  -H 'X-Nova-Access-Key: your access key' \
  -H 'X-Nova-Signature: signature' \
  -H 'X-Nova-Timestamp: timestamp now' \
  -d '{
    "symbol": "BTC_BRL",
    "type": "MARKET",
    "side": "BUY",
    "value": "10.00"
  }'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')

result = nova_client.create_order('BTC_BRL', 'MARKET', 'BUY', value = '10.00')

print(result)

Response Content

{
    "code": "A10000",
    "data": {
        "amount": null,
        "averagePrice": null,
        "filledAmount": "0",
        "filledFee": "0",
        "filledValue": "0",
        "id": "633681498843828224",
        "price": null,
        "side": "BUY",
        "status": "PROCESSING",
        "symbol": "BTC_BRL",
        "timestamp": 1571123042566,
        "type": "MARKET",
        "value": "10"
    },
    "message": "Success"
}

Request URL

POST /v1/orders/create

Weight: 5

Request Parameters

Field Mandatory Data Type Description
symbol true string The trading symbol to trade, like BTC_BRL
type true string The type of order, single option: MARKET
side true string The direction of order, single option: BUY
value true string The amount of quote currency, like BRL amount for buy of BTC_BRL
accountId false string Sub account ID, if not informed, the order will be created under master account

Response Details

Field Data Type Description
id string Order ID
symbol string The trading symbol
type string The type of order
side string The direction of order
price string The price of order
averagePrice string The average price of order
amount string The amount of base currency
filledAmount string The executed amount of base currency
value string The amount of quote currency
filledValue string The executed amount of quote currency
filledFee string Transaction fee paid
status string The status of order, can be found in order introduction
timestamp number The time when the order was created

Place A New Market Order To Sell

This endpoint places a new market order to sell and submits it to the exchange to be matched.

curl -X POST \
  'https://api.novadax.com/v1/orders/create' \
  -H 'Content-Type: application/json' \
  -H 'X-Nova-Access-Key: your access key' \
  -H 'X-Nova-Signature: signature' \
  -H 'X-Nova-Timestamp: timestamp now' \
  -d '{
    "symbol": "BTC_BRL",
    "type": "MARKET",
    "side": "SELL",
    "amount": "0.001"
  }'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')

result = nova_client.create_order('BTC_BRL', 'MARKET', 'SELL', amount = '0.001')

print(result)

Response Content

{
    "code": "A10000",
    "data": {
        "amount": "0.001",
        "averagePrice": null,
        "filledAmount": "0",
        "filledFee": "0",
        "filledValue": "0",
        "id": "633682053058187264",
        "price": null,
        "side": "SELL",
        "status": "PROCESSING",
        "symbol": "BTC_BRL",
        "timestamp": 1571123174702,
        "type": "MARKET",
        "value": null
    },
    "message": "Success"
}

Request URL

POST /v1/orders/create

Weight: 5

Request Parameters

Field Mandatory Data Type Description
symbol true string The trading symbol to trade, like BTC_BRL
type true string The type of order, single option: MARKET
side true string The direction of order, single option: SELL
amount true string The amount of base currency, like BTC amount for sell of BTC_BRL
accountId false string Sub account ID, if not informed, the order will be created under master account

Response Details

Field Data Type Description
id string Order ID
symbol string The trading symbol
type string The type of order
side string The direction of order
price string The price of order
averagePrice string The average price of order
amount string The amount of base currency
filledAmount string The executed amount of base currency
value string The amount of quote currency
filledValue string The executed amount of quote currency
filledFee string Transaction fee paid
status string The status of order, can be found in order introduction
timestamp number The time when the order was created

Place A New Stop Limit Order To Buy

This endpoint places a new stop limit order to buy and submits it to the exchange to be matched.

curl -X POST \
  'https://api.novadax.com/v1/orders/create' \
  -H 'Content-Type: application/json' \
  -H 'X-Nova-Access-Key: your access key' \
  -H 'X-Nova-Signature: signature' \
  -H 'X-Nova-Timestamp: timestamp now' \
  -d '{
    "symbol": "BTC_BRL",
    "type": "STOP_LIMIT",
    "side": "BUY",
    "price": "35000.00",
    "amount": "0.001",
    "operator: "GTE",
    "stopPrice: "211000"
  }'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')

result = nova_client.create_order('BTC_BRL', 'STOP_LIMIT', 'BUY', price='210000', amount='0.001', operator='GTE', stop_price="211000")

print(result)

Response Content

{
    "code": "A10000",
    "data": {
        "amount": "0.001",
        "averagePrice": null,
        "filledAmount": "0",
        "filledFee": "0",
        "filledValue": "0",
        "id": "870613508008464384",
        "operator": "GTE",
        "price": "210000",
        "side": "BUY",
        "status": "SUBMITTED",
        "stopPrice": "211000",
        "symbol": "BTC_BRL",
        "timestamp": 1627612035528,
        "type": "STOP_LIMIT",
        "value": "210"
    },
    "message": "Success"
}

Request URL

POST /v1/orders/create

Weight: 5

Request Parameters

Field Mandatory Data Type Description
symbol true string The trading symbol to trade, like BTC_BRL
type true string The type of order, single option: STOP_LIMIT
side true string The direction of order, single option: BUY
amount true string The amount of base currency, like BTC amount for buy of BTC_BRL
price true string Buy price
operator true string Operator of stop order, can be found in order introduction
stopPrice true string Stop price
accountId false string Sub account ID, if not informed, the order will be created under master account

Response Details

Field Data Type Description
id string Order ID
symbol string The trading symbol
type string The type of order
side string The direction of order
price string The price of order
averagePrice string The average price of order
amount string The amount of base currency
filledAmount string The executed amount of base currency
value string The amount of quote currency
filledValue string The executed amount of quote currency
filledFee string Transaction fee paid
operator string Operator of stop order, can be found in order introduction
stopPrice string Stop price
status string The status of order, can be found in order introduction
timestamp number The time when the order was created

Place A New Stop Limit Order To Sell

This endpoint places a new stop limit order to sell and submits it to the exchange to be matched.

curl -X POST \
  'https://api.novadax.com/v1/orders/create' \
  -H 'Content-Type: application/json' \
  -H 'X-Nova-Access-Key: your access key' \
  -H 'X-Nova-Signature: signature' \
  -H 'X-Nova-Timestamp: timestamp now' \
  -d '{
    "symbol": "BTC_BRL",
    "type": "STOP_LIMIT",
    "side": "SELL",
    "price": "180000",
    "stopPrice":"190000",
    "operator":"LTE",
    "amount": "0.001"
  }'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')

result = nova_client.create_order('BTC_BRL', 'STOP_LIMIT', 'SELL', price='180000', amount='0.001', operator='LTE', stop_price="190000")

print(result)

Response Content

{
    "code": "A10000",
    "data": {
        "amount": "0.001",
        "averagePrice": null,
        "filledAmount": "0",
        "filledFee": "0",
        "filledValue": "0",
        "id": "870616419635580928",
        "operator": "LTE",
        "price": "180000",
        "side": "SELL",
        "status": "SUBMITTED",
        "stopPrice": "190000",
        "symbol": "BTC_BRL",
        "timestamp": 1627612729713,
        "type": "STOP_LIMIT",
        "value": "180"
    },
    "message": "Success"
}

Request URL

POST /v1/orders/create

Weight: 5

Request Parameters

Field Mandatory Data Type Description
symbol true string The trading symbol to trade, like BTC_BRL
type true string The type of order, single option: STOP_LIMIT
side true string The direction of order, single option: SELL
amount true string The amount of base currency, like BTC amount for sell of BTC_BRL
price true string Sell price
operator true string Operator of stop order, can be found in order introduction
stopPrice true string Stop price
accountId false string Sub account ID, if not informed, the order will be created under master account

Response Details

Field Data Type Description
id string Order ID
symbol string The trading symbol
type string The type of order
side string The direction of order
price string The price of order
averagePrice string The average price of order
amount string The amount of base currency
filledAmount string The executed amount of base currency
value string The amount of quote currency
filledValue string The executed amount of quote currency
filledFee string Transaction fee paid
operator string Operator of stop order, can be found in order introduction
stopPrice string Stop price
status string The status of order, can be found in order introduction
timestamp number The time when the order was created

Place A New Stop Market Order To Buy

This endpoint places a new stop market order to buy and submits it to the exchange to be matched.

curl -X POST \
  'https://api.novadax.com/v1/orders/create' \
  -H 'Content-Type: application/json' \
  -H 'X-Nova-Access-Key: your access key' \
  -H 'X-Nova-Signature: signature' \
  -H 'X-Nova-Timestamp: timestamp now' \
  -d '{
    "symbol": "BTC_BRL",
    "type": "STOP_MARKET",
    "side": "BUY",
    "value": "10.00",
    "stopPrice": "211000",
    "operator": "GTE"
  }'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')

result = nova_client.create_order('BTC_BRL', 'STOP_MARKET', 'BUY', value='25', operator="GTE", stop_price="211000")

print(result)

Response Content

{
    "code": "A10000",
    "data": {
        "amount": null,
        "averagePrice": null,
        "filledAmount": "0",
        "filledFee": "0",
        "filledValue": "0",
        "id": "870617243765985280",
        "operator": "GTE",
        "price": "205118.95",
        "side": "BUY",
        "status": "SUBMITTED",
        "stopPrice": "211000",
        "symbol": "BTC_BRL",
        "timestamp": 1627612926202,
        "type": "STOP_MARKET",
        "value": "25"
    },
    "message": "Success"
}

Request URL

POST /v1/orders/create

Weight: 5

Request Parameters

Field Mandatory Data Type Description
symbol true string The trading symbol to trade, like BTC_BRL
type true string The type of order, single option: STOP_MARKET
side true string The direction of order, single option: BUY
value true string The amount of quote currency, like BRL amount for buy of BTC_BRL
operator true string Operator of stop order, can be found in order introduction
stopPrice true string Stop price
accountId false string Sub account ID, if not informed, the order will be created under master account

Response Details

Field Data Type Description
id string Order ID
symbol string The trading symbol
type string The type of order
side string The direction of order
price string The price of order
averagePrice string The average price of order
amount string The amount of base currency
filledAmount string The executed amount of base currency
value string The amount of quote currency
filledValue string The executed amount of quote currency
filledFee string Transaction fee paid
operator string Operator of stop order, can be found in order introduction
stopPrice string Stop price
status string The status of order, can be found in order introduction
timestamp number The time when the order was created

Place A New Stop Market Order To Sell

This endpoint places a new stop market order to sell and submits it to the exchange to be matched.

curl -X POST \
  'https://api.novadax.com/v1/orders/create' \
  -H 'Content-Type: application/json' \
  -H 'X-Nova-Access-Key: your access key' \
  -H 'X-Nova-Signature: signature' \
  -H 'X-Nova-Timestamp: timestamp now' \
  -d '{
    "symbol": "BTC_BRL",
    "type": "STOP_MARKET",
    "side": "SELL",
    "amount": "0.001",
    "stopPrice": "180000",
    "operator": "LTE"
'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')

result = nova_client.create_order('BTC_BRL', 'STOP_MARKET', 'SELL', amount='0.001', operator="LTE", stop_price="180000")

print(result)

Response Content

{
    "code": "A10000",
    "data": {
        "amount": "0.001",
        "averagePrice": null,
        "filledAmount": "0",
        "filledFee": "0",
        "filledValue": "0",
        "id": "870617706309636096",
        "operator": "LTE",
        "price": "204712.39",
        "side": "SELL",
        "status": "SUBMITTED",
        "stopPrice": "180000",
        "symbol": "BTC_BRL",
        "timestamp": 1627613036480,
        "type": "STOP_MARKET",
        "value": null
    },
    "message": "Success"
}

Request URL

POST /v1/orders/create

Weight: 5

Request Parameters

Field Mandatory Data Type Description
symbol true string The trading symbol to trade, like BTC_BRL
type true string The type of order, single option: STOP_MARKET
side true string The direction of order, single option: SELL
amount true string The amount of base currency, like BTC amount for sell of BTC_BRL
operator true string Operator of stop order, can be found in order introduction
stopPrice true string Stop price
accountId false string Sub account ID, if not informed, the order will be created under master account

Response Details

Field Data Type Description
id string Order ID
symbol string The trading symbol
type string The type of order
side string The direction of order
price string The price of order
averagePrice string The average price of order
amount string The amount of base currency
filledAmount string The executed amount of base currency
value string The amount of quote currency
filledValue string The executed amount of quote currency
filledFee string Transaction fee paid
operator string Operator of stop order, can be found in order introduction
stopPrice string Stop price
status string The status of order, can be found in order introduction
timestamp number The time when the order was created

Cancel An Order

This endpoint submits a request to cancel an order.

curl -X POST \
  'https://api.novadax.com/v1/orders/cancel' \
  -H 'Content-Type: application/json' \
  -H 'X-Nova-Access-Key: your access key' \
  -H 'X-Nova-Signature: signature' \
  -H 'X-Nova-Timestamp: timestamp now' \
  -d '{
    "id": "608705793440616448"
  }'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')

result = nova_client.cancle_order("608705793440616448")

print(result)

Response Content

{
    "code": "A10000",
    "data": {
        "result": true
    },
    "message": "Success"
}

Request URL

POST /v1/orders/cancel

Weight: 1

Request Parameters

Field Mandatory Data Type Description
id true string Order ID

Response Details

Field Data Type Description
result string The result of the cancel request

Get Order Details

This endpoint returns the latest status and details of an order. Orders created through API cannot be found after being cancelled for two hours.

curl -X GET \
  'https://api.novadax.com/v1/orders/get?id=608695623247466496' \
  -H 'X-Nova-Access-Key: your access key' \
  -H 'X-Nova-Signature: signature' \
  -H 'X-Nova-Timestamp: timestamp now'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')

result = nova_client.get_order('608695623247466496')

print(result)

Response Content

{
    "code": "A10000",
    "data": {
        "id": "608695623247466496",
        "symbol": "BTC_BRL",
        "type": "MARKET",
        "side": "SELL",
        "price": null,
        "averagePrice": "0",
        "amount": "0.123",
        "filledAmount": "0",
        "value": null,
        "filledValue": "0",
        "filledFee": "0",
        "stopPrice": null,
        "operator": null,
        "status": "REJECTED",
        "timestamp": 1565165945588
    },
    "message": "Success"
}

Request URL

GET /v1/orders/get

Weight: 1

Request Parameters

Field Mandatory Data Type Description
id True string Order ID

Response Details

Field Data Type Description
id string Order ID
symbol string The trading symbol
type string The type of order
side string The direction of order
price string The price of order
averagePrice string The average price of order
amount string The amount of base currency
filledAmount string The executed amount of base currency
value string The amount of quote currency
filledValue string The executed amount of quote currency
filledFee string Transaction fee paid
status string The status of order, can be found in order introduction
timestamp number The time when the order was created

Get Order History

This endpoint returns the order history based on a certain search filter. Orders created through API cannot be found after being cancelled for two hours.

curl -X GET \
  'https://api.novadax.com/v1/orders/list?symbol=BTC_BRL&status=FINISHED&from=608705793440616448&to=608694995137859584&limit=100' \
  -H 'X-Nova-Access-Key: your access key' \
  -H 'X-Nova-Signature: signature' \
  -H 'X-Nova-Timestamp: timestamp now'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')

result = nova_client.list_orders('BTC_BRL', 'FINISHED', '608705793440616448', '608694995137859584', '100')

print(result)

Response Content

{
    "code": "A10000",
    "data": [
        {
            "id": "608695678650028032",
            "symbol": "BTC_BRL",
            "type": "MARKET",
            "side": "SELL",
            "price": null,
            "averagePrice": "0",
            "amount": "0.123",
            "filledAmount": "0",
            "value": null,
            "filledValue": "0",
            "filledFee": "0",
            "stopPrice": null,
            "operator": null,
            "status": "REJECTED",
            "timestamp": 1565165958796
        },
        {
            "id": "608695623247466496",
            "symbol": "BTC_BRL",
            "type": "MARKET",
            "side": "SELL",
            "price": null,
            "averagePrice": "0",
            "amount": "0.123",
            "filledAmount": "0",
            "value": null,
            "filledValue": "0",
            "filledFee": "0",
            "stopPrice": null,
            "operator": null,
            "status": "REJECTED",
            "timestamp": 1565165945588
        }
    ],
    "message": "Success"
}

Request URL

GET /v1/orders/list

Weight: 10

Request Parameters

Field Mandatory Data Type Description
symbol false string The trading symbol, like BTC_BRL
status false string The status of orders(can be found in order introduction, use comma to separate different status). You can also use 'FINISHED' to find finished orders and use 'UNFINISHED' to find unfinished orders.
fromId false string Search order id to begin with
toId false string Search order id to end up with
fromTimestamp false string Search order creation time to begin with, in milliseconds
toTimestamp false string Search order creation time to end up with, in milliseconds
limit false string The number of orders to return, default 100, max 100
accountId false string Sub account ID, if not informed, the order will be created under master account

Response Details

Field Data Type Description
id string Order ID
symbol string The trading symbol
type string The type of order
side string The direction of order
price string The price of order
averagePrice string The average price of order
amount string The amount of base currency
filledAmount string The executed amount of base currency
value string The amount of quote currency
filledValue string The executed amount of quote currency
filledFee string Transaction fee paid
status string The status of order, can be found in order introduction
timestamp number The time when the order was created

Get Order Match Details

This endpoint returns the match result of an order.

curl -X GET \
  'https://api.novadax.com/v1/orders/fills?orderId=608716957545402368' \
  -H 'X-Nova-Access-Key: your access key' \
  -H 'X-Nova-Signature: signature' \
  -H 'X-Nova-Timestamp: timestamp now'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')

result = nova_client.list_order_fills('608716957545402368')

print(result)

Response Content

{
    "code": "A10000",
    "data": [
        {
            "id": "608717046691139584",
            "orderId": "608716957545402368",
            "symbol": "BTC_BRL",
            "side": "BUY",
            "amount": "0.0988",
            "price": "45514.76",
            "fee": "0.0000988 BTC",
            "feeAmount": "0.0000988",
            "feeCurrency": "BTC",
            "role": "MAKER",
            "timestamp": 1565171053345
        },
        {
            "id": "608717065729085441",
            "orderId": "608716957545402368",
            "symbol": "BTC_BRL",
            "side": "BUY",
            "amount": "0.0242",
            "price": "45514.76",
            "fee": "0.0000242 BTC",
            "feeAmount": "0.0000988",
            "feeCurrency": "BTC",
            "role": "MAKER",
            "timestamp": 1565171057882
        }
    ],
    "message": "Success"
}

Request URL

GET /v1/orders/fills

Weight: 10

Request Parameters

Field Mandatory Data Type Description
orderId true string Order ID
symbol false string The trading symbol, like BTC_BRL
fromId false string Search fill id to begin with
toId false string Search fill id to end up with
fromTimestamp false string Search order fill time to begin with, in milliseconds
toTimestamp false string Search order fill time to end up with, in milliseconds
limit false string The number of fills to return, default 100, max 100
accountId false string Sub account ID, if not informed, the fills will be return under master account

Response Details

Field Data Type Description
id string Order match ID
orderId string Order ID
symbol string The trading symbol
side string The direction of order, options: BUY or SELL
price string The matched price
amount string The matched amount
fee string Transaction fee paid
feeCurrency string Transaction fee paid currency
feeAmount string Transaction fee paid amount
role string The role of transaction,option: TAKER or MAKER
timestamp false string

Account

Get Account Balance

This endpoint returns the account balance.

curl 'https://api.novadax.com/v1/account/getBalance'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')

result = nova_client.get_account_balance()

print(result)

Response Content

{
    "code": "A10000",
    "data": [
        {
            "available": "1.23",
            "balance": "0.23",
            "currency": "BTC",
            "hold": "1"
        }
    ],
    "message": "Success"
}

Request URL

GET /v1/account/getBalance

Weight: 1

Request Parameters

No parameter is needed for this endpoint

Response Details

Field Data Type Description
currency string The currency of this balance
balance string The balance of this currency
hold string The balance in order
available string The available balance

Get Sub Account Balance

This endpoint returns the balance of sub account.

curl "https://api.novadax.com/v1/account/subs/balance?subId=xxx"
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')
ava = self.api.subs_balance(subId)

Response Content

{
    "code":"A10000",
    "data":[
        {
            "balance":"7.22",
            "currency":"BTC"
        }
    ],
    "message":"Success"
}

Request URL

GET /v1/account/subs/balance

Weight: 1

Request Parameters

Field Mandatory Data Type Description
subId ture string Sub account ID

Response Details

Field Data Type Description
balance string Balance of sub account
currency string Currency of this balance

Get Sub Account Transfer Record

This endpoint returns the transfer record of sub account

curl "https://api.novadax.com/v1/account/subs/transfer/record?subId=xxx"
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')
ava = self.api.subs_transfer_record(subId)

Response Content

{
    "code": "A10000",
    "data": [{
        "subId": "CA648855702269333504",
        "amount": "103.22",
        "currency": "BRL",
        "state": "success",
        "type": "master-transfer-out"
    }, {
        "subId": "CA648855702269333504",
        "amount": "3.5",
        "currency": "BRL",
        "state": "success",
        "type": "master-transfer-in"
    }],
    "message": "Success"
}

Request URL

GET /v1/account/subs/transfer/record

Weight: 10

Request Parameters

Field Mandatory Data Type Description
subId ture string Sub account ID

Response Details

Field Data Type Description
subId string Sub account ID
amount string Transfer amount
currency string Transfer currency
state string Transfer state: success/fail
type string Type: master-transfer-in (transfer into master account) or master-transfer-out (transfer from master account)

Get Sub Account Transfer

The endpoint submits a transfer request of sub account


from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')
subId = 'CA648856083527372800'
assetCode = 'BTC'
transferAmount = '0.51'
transferType = 'master-transfer-out'
tid = self.api.subs_transfer(subId, assetCode, transferAmount, transferType);
print(tid)

Response Content

{
  "code":"A10000",
  "message":"Success",
  "data":40
}

Request URL

POST /v1/account/subs/transfer

Weight: 5

Request Parameters

Field Mandatory Data Type Description
subId true string Sub account ID
currency true string Transfer currency
transferAmount true string Transfer amount
transferType true string Type,master-transfer-in or master-transfer-out

Response Details

Data field returns the transfer record ID.

Wallet

Wallet Records of Deposits and Withdraws

The endpoint returns the records of deposits and withdraws.

curl -X GET \
   'https://api.novadax.com/v1/wallet/query/deposit-withdraw?currency=BTC&type=coin_in&start=DR562339304588709888&size=10&direct=desc'\
     -H 'X-Nova-Access-Key: your access key' \
     -H 'X-Nova-Signature: signature' \
     -H 'X-Nova-Timestamp: timestamp now' \
from novadax import RequestClient as NovaClient
nova_client = NovaClient('your access key', 'your secret key')
result = nova_client.wallet_deposit_withdraw_record()
print(result)

Response Content

{
    "code": "A10000",
    "data": [{
        "id": "DR562339304588709888",
        "type": "COIN_IN",
        "currency": "XLM",
        "chain": "XLM",
        "address": "GCUTK7KHPJC3ZQJ3OMWWFHAK2OXIBRD4LNZQRCCOVE7A2XOPP2K5PU5Q",
        "addressTag": "1000009",
        "amount": 1.0,
        "state": "SUCCESS",
        "txHash": "39210645748822f8d4ce673c7559aa6622e6e9cdd7073bc0fcae14b1edfda5f4",
        "createdAt": 1554113737000,
        "updatedAt": 1601371273000
    }...],
    "message": "Success"
}

Request URL

GET /v1/wallet/query/deposit-withdraw

Weight: 10

Request Parameters

Field Data Type Required Description Default Value
currency string false The currency code. e.g. BTC NA
type string false default record type to search coin_in and coin_out
direct string false the order of records,e.g. asc or desc asc
size int false the number of iterms to return 100
start string false the id of record, NA

Response Details

Field Data Type Description
id string the id of record
type string the type of record
currency string the currency code of record
txHash string the txid of chain
address string the dst address of txHash
addressTag string the tag of txHash
chain string Block chain name,internal means transfer through novadax inside rather than chain
amount decimal the amount of txHash
state string the state of record
createdAt long The timestamp in milliseconds for the transfer creation
updatedAt long The timestamp in milliseconds for the transfer's latest update

List of possible record state

State Description
Pending the record is wait broadcast to chain
x/M confirming the comfirming state of tx,the M is total confirmings needed
SUCCESS the record is success full
FAIL the record failed

Send Cryptocurrencies

curl -X POST \
  'https://api.novadax.com/v1/wallet/withdraw/coin' \
  -H 'Content-Type: application/json' \
  -H 'X-Nova-Access-Key: your access key' \
  -H 'X-Nova-Signature: signature' \
  -H 'X-Nova-Timestamp: timestamp now' \
  -d '{
    "code": "BTC",
    "amount": "1",
    "wallet": "your to_address"
  }'
from novadax import RequestClient as NovaClient
nova_client = NovaClient('your access key', 'your secret key')
result = nova_client.withdraw_coin("BTC","1",'...')
print(result)

Response Content

{
  "code":"A10000",
  "data": "DR123",
  "message":"Success"
}

Request URL

POST /v1/wallet/withdraw/coin

Weight: 600

Request Parameters

Field Mandatory Data Type Description
code ture string Crypto symbol, like BTC
amount true string Amount to send
wallet true string Wallet address to receive
chainAlias true string Wallet address to receive with chainAlias,default nova first chain
tag false string Tag, required when sending XLM, XRP, EOS

Response Details

The data field will return the withdrawal id.

curl -X GET \
  'https://api.novadax.com/v1/wallet/crypto/chain/{code}' \
  -H 'Content-Type: application/json' \
  -H 'X-Nova-Access-Key: your access key' \
  -H 'X-Nova-Signature: signature' \
  -H 'X-Nova-Timestamp: timestamp now' \
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')

result = nova_client.crypto_chain("ALL")

print(result)

Request URL

GET /crypto/chain/{code}

Weight: 5

Request parameters

parm r name param type param note
code String crypto accout code,default value is "ALL"

Response parameters

param name param type param note
accountCode String code account
accountType String code account type:DIGITAL,LEGAL
accountPrecision Integer code account precision
accountOrder Integer code account order
accountState Integer code account state,1:in-use,0: off-use
tokens List crypro network List

List of tokens

parame name param type param note
codeAccount String Code account
chainAlias String crypto chain alias, use for send crypto
chainName String crypto chain name, just for reading
mainAddr String main address for memo crypto,default value is null
useMemo Integer use memo or not,1:using,0:not using
useDynamicSendFee String using dynamic sent fee,1:using,0:not using
minConf Integer min confirmations of chain
useFirst Integer default chain choosed in novadax when chainAlias is null in api
state Integer chain is useful,1:in-use,0:off-use
chainURL String chain url
chainAddressURL String chain address url
chainHashURL String chain hash url
officialURL String chain official url

WebSocket

Access

NovaDAX WebSocket API is based on Socket.io. You can find more information about Socket.io on their official website.

Address

wss://api.novadax.com

// Socket.IO example of establishing connection
const io = require("socket.io-client");

const socket = io("wss://api.novadax.com", {
transports: ['websocket']
});

// Socket.IO example of subscription
socket.emit("SUBSCRIBE", ["MARKET.BTC_USDT.TICKER", "MARKET.BTC_USDT.TRADE"])
socket.on("MARKET.BTC_USDT.TICKER", (ticker) => {
    console.log(ticker)
})
socket.on("MARKET.BTC_USDT.TRADE", (trade) => {
    console.log(trade)
})

// Socket.IO example of cancelling subscription
socket.emit("UNSUBSCRIBE", ["MARKET.BTC_USDT.DEPTH.LEVEL0"])

Limit

Subscribe topics

When you subscribe a topic, you can receive all the notifications about it. Subscription format:

socket.emit("SUBSCRIBE", ["XXX"])

Cancel subscription

After subscribing a topic, you can cancel the subscription if you don’t want to receive notifications about the topic anymore. Format of canceling the subscription:

socket.emit("UNSUBSCRIBE", ["XXX"])

Subscribe Ticker Data of All Trading Pairs

After subscription, the system will send ticker data of all trading pairs once a second.

from novadax import WebSocketClient

nova_client = WebSocketClient('your access key(optional)', 'your secret key(optional)')

def tickers_handler(tickers):
    print('received tickers: ', tickers)

nova_client.sub_market_tickers(tickers_handler)

Data

[
  {
      "ask": "34708.15",
      "baseVolume24h": "34.08241488",
      "bid": "34621.74",
      "high24h": "35079.77",
      "lastPrice": "34669.81",
      "low24h": "34330.64",
      "open24h": "34492.08",
      "quoteVolume24h": "1182480.09502814",
      "symbol": "BTC_BRL",
      "timestamp": 1571112216346
  }
]

Subscription Topic

MARKET.TICKERS

Request Parameters

No parameters are needed for this endpoint.

Response Details

Field Data Type Description
symbol string Trading symbol
lastPrice string The price of last trade
bid string The current best bid price
ask string The current best ask price
open24h string The opening price of last 24 hours
high24h string The highest price of last 24 hours
low24h string The lowest price of last 24 hours
baseVolume24h string The trading volume in base currency of last 24 hours
quoteVolume24h string The trading volume of quote currency of last 24 hours
timestamp number The current system time in UTC time zone

Subscribe Ticker Data of a Single Trading Pair

After subscription, the system will send ticker data of the chosen trading pair once a second.

from novadax import WebSocketClient

nova_client = WebSocketClient('your access key(optional)', 'your secret key(optional)')

def ticker_handler(ticker):
    print('received ticker: ', ticker)

nova_client.sub_market_ticker("BTC_BRL", ticker_handler)

Data

{
    "ask": "34708.15",
    "baseVolume24h": "34.08241488",
    "bid": "34621.74",
    "high24h": "35079.77",
    "lastPrice": "34669.81",
    "low24h": "34330.64",
    "open24h": "34492.08",
    "quoteVolume24h": "1182480.09502814",
    "symbol": "BTC_BRL",
    "timestamp": 1571112216346
}

Subscription Topic

MARKET.{{symbol}}.TICKER

Request Parameter

Field Mandatory Data Type Description
symbol true string Trading symbol

Response Details

Field Data Type Description
symbol string Trading symbol
lastPrice string The price of last trade
bid string The current best bid price
ask string The current best ask price
open24h string The opening price of last 24 hours
high24h string The highest price of last 24 hours
low24h string The lowest price of last 24 hours
baseVolume24h string The trading volume in base currency of last 24 hours
quoteVolume24h string The trading volume of quote currency of last 24 hours
timestamp number The current system time in UTC time zone

Subscribe Depth Data

After subscription, the system will send the depth data of the chosen trading pairs once a second.

from novadax import WebSocketClient

nova_client = WebSocketClient('your access key(optional)', 'your secret key(optional)')

def depth_handler(depth):
    print('received depth: ', depth)

nova_client.sub_market_depth("BTC_BRL", depth_handler)

Data

{
    "asks": [
        ["43687.16", "0.5194"],
        ["43687.2", "1.3129"]
    ],
    "bids": [
        ["43657.57", "0.6135"],
        ["43657.46", "0.0559"]
    ],
    "timestamp": 1565057338020
}

Subscription Topic

MARKET.{{symbol}}.DEPTH.LEVEL0

Request Parameters

Field Mandatory Data Type Description
symbol true string Trading symbol

Response Details

Field Data Type Description
asks array All current asks
asks[][0] string Sell price
asks[][1] string Sell amount
bids array All current bids
bids[][0] string Buy price
bids[][1] string Buy amount
timestamp number The current system time in UTC time zone

Subscribe Order Execution Data

After subscription, the system will send notification about the latest executed orders.

from novadax import WebSocketClient

nova_client = WebSocketClient('your access key(optional)', 'your secret key(optional)')

def trade_handler(trades):
    print('received trade: ', trades)

nova_client.sub_market_trade("BTC_BRL", trade_handler)

Data

[
    {
        "price": "43657.57",
        "amount": "1",
        "side": "SELL",
        "timestamp": 1565007823401
    },
    {
        "price": "43687.16",
        "amount": "0.071",
        "side": "BUY",
        "timestamp": 1565007198261
    }
]

Subscription Topic

MARKET.{{symbol}}.TRADE

Request Parameters

Field Mandatory Data Type Description
symbol true string Trading symbol

Response Details

Field Data Type Description
price string The trading price
amount string The trading volume
side string The trading direction (SELL or BUY)
timestamp number The time when the trade occurred