Home Markets Trade Portfolio Dashboard

API Documentation

Build powerful trading applications with the NovaTrace REST and WebSocket APIs.

Quick Start

Get up and running with the NovaTrace API in minutes. All endpoints use the base URL https://api.novatrace.com

GET /api/v3/ticker/price — Get current price for a symbol
GET /api/v3/ticker/price?symbol=BTCUSDT

// Response
{
  "symbol": "BTCUSDT",
  "price": "67432.50",
  "timestamp": 1709312400000
}
POST /api/v3/order — Place a new order (requires authentication)
POST /api/v3/order
Content-Type: application/json
X-CEX-APIKEY: your_api_key_here

{
  "symbol": "BTCUSDT",
  "side": "BUY",
  "type": "LIMIT",
  "timeInForce": "GTC",
  "quantity": "0.01",
  "price": "65000.00"
}

// Response
{
  "orderId": 28374615,
  "symbol": "BTCUSDT",
  "status": "NEW",
  "side": "BUY",
  "type": "LIMIT",
  "price": "65000.00",
  "origQty": "0.01",
  "executedQty": "0.00",
  "transactTime": 1709312400123
}

API Sections

REST API

Standard HTTP endpoints for account management, order placement, market data queries, and wallet operations. Supports JSON request/response format.

WebSocket API

Real-time streaming data via persistent WebSocket connections. Subscribe to live price tickers, order book updates, trade streams, and account events.

Market Data

Access candlestick/kline data, order book depth, recent trades, 24h statistics, and aggregate trade data for all supported trading pairs.

Account

Query account balances, trade history, open orders, order history, and account status. All account endpoints require API key authentication.

Trading

Place, modify, and cancel orders. Supports market, limit, stop-limit, OCO, and trailing stop order types across spot and margin markets.

Wallet

Manage deposits and withdrawals, query transaction history, generate deposit addresses, and check network status for all supported assets.

Common Endpoints

Method Endpoint Description Auth
GET /api/v3/ping Test server connectivity None
GET /api/v3/time Get server time None
GET /api/v3/ticker/price Get latest price for a symbol None
GET /api/v3/ticker/24hr 24-hour rolling statistics None
GET /api/v3/depth Order book depth None
GET /api/v3/klines Candlestick/kline data None
POST /api/v3/order Place a new order SIGNED
DELETE /api/v3/order Cancel an active order SIGNED
GET /api/v3/account Get account information SIGNED
POST /api/v3/withdraw Submit a withdrawal request SIGNED

Rate Limits

API rate limits are enforced per API key. Exceeding these limits will result in a 429 status code response. Limits reset on a rolling window basis.

Endpoint Type Rate Limit Window Weight
Public Market Data 1,200 requests 1 minute 1-20
Order Placement 100 orders 10 seconds 1
Order Cancellation 100 requests 10 seconds 1
Account Data 600 requests 1 minute 5-10
WebSocket Connections 300 connections 5 minutes -

Authentication

Authenticated endpoints require an API key sent via the X-CEX-APIKEY header. Signed endpoints additionally require an HMAC SHA256 signature of the query parameters using your secret key.

Authentication Example (Python)
import hashlib, hmac, time, requests

API_KEY = "your_api_key"
SECRET_KEY = "your_secret_key"
BASE_URL = "https://api.novatrace.com"

def signed_request(method, endpoint, params={}):
    params["timestamp"] = int(time.time() * 1000)
    query_string = "&".join(
        [f"{k}={v}" for k, v in params.items()]
    )
    signature = hmac.new(
        SECRET_KEY.encode(), query_string.encode(),
        hashlib.sha256
    ).hexdigest()
    params["signature"] = signature

    headers = {"X-CEX-APIKEY": API_KEY}
    response = requests.request(
        method, f"{BASE_URL}{endpoint}",
        params=params, headers=headers
    )
    return response.json()

# Get account info
account = signed_request("GET", "/api/v3/account")

# Place a limit order
order = signed_request("POST", "/api/v3/order", {
    "symbol": "ETHUSDT",
    "side": "BUY",
    "type": "LIMIT",
    "timeInForce": "GTC",
    "quantity": "0.5",
    "price": "3200.00"
})

WebSocket Streams

Connect to the WebSocket endpoint at wss://stream.novatrace.com/ws for real-time data feeds.

WebSocket — Subscribe to live trades (JavaScript)
const ws = new WebSocket("wss://stream.novatrace.com/ws/btcusdt@trade");

ws.onmessage = (event) => {
  const trade = JSON.parse(event.data);
  console.log(
    `Price: ${trade.p} | Qty: ${trade.q} | Side: ${trade.m ? "SELL" : "BUY"}`
  );
};

// Available streams:
// <symbol>@trade      — Real-time trades
// <symbol>@depth      — Order book updates
// <symbol>@kline_1m   — 1-minute candlesticks
// <symbol>@ticker     — 24hr ticker stats
// <symbol>@miniTicker  — Mini ticker

Need API Support?

Our developer support team can help with integration questions, rate limit increases, and enterprise API access.

Contact Developer Support