Mintrax WebSocket API v1.0.0

Real-time market data & private trading feed.

API Endpoint URL

WebSocket endpoint: wss://wsapi.mintrax.exchange

This page is served on normal HTTPS. Requests with Upgrade: websocket are proxied to the live gateway.

Quick test (wscat)

wscat -c wss://wsapi.mintrax.exchange
{"method":"getMarkets","params":{},"id":1}
wscat -c wss://wsapi.mintrax.exchange
{"method":"subscribeTicker","params":{"symbol":"BTC/USDT"},"id":2}

Datetime & Number Formatting

Heartbeat

The server sends a ping/pong heartbeat roughly every 60s while connected.

Sequence

Subscription notifications include a monotonically increasing sequence per symbol.

Errors

Errors follow JSON-RPC 2.0. Example:

{
  "jsonrpc":"2.0",
  "error":{"code":10001,"message":"Invalid JSON Request"},
  "id":123
}
Error CodeHTTP CodeMessageDetails
400400Unknown errorAn unknown error occurred
402400Method not foundUnknown method
403401ForbiddenAction not allowed for account
429429Too many requestsRate limited
500500Internal server errorTry later
503503Service unavailableTry later
504504Gateway timeoutTry later
1001401Authorization requiredLogin first
1002401Authorization failedBad credentials
1003403API key forbiddenInsufficient permissions
1004401Unsupported auth methodUse BASIC or HS256
2001400Symbol not foundInvalid market symbol
2002400Currency not foundInvalid ticker
10001400Validation errorBad input
20001400Insufficient fundsNot enough balance
20002400Order not foundMissing order

Global Parameters

Asset Lists

getAsset (Public)

Get single asset information.

{
  "method":"getAsset",
  "params":{"ticker":"BTC"},
  "id":123
}

getAssets (Public)

Get all assets.

{
  "method":"getAssets",
  "params":{},
  "id":123
}

Market Lists

getMarket (Public)

Get single market information.

{
  "method":"getMarket",
  "params":{"symbol":"BTC/USDT"},
  "id":123
}

getMarkets (Public)

Get all markets.

{
  "method":"getMarkets",
  "params":{},
  "id":123
}

Trade History

Get trade history on a market.

ParamTypeNotes
symbolstringe.g. ETH/BTC
limitnumberdefault 100, max 1000
offsetnumberdefault 0
sortstringASC or DESC (default)
fromstring (ISO)use with till
tillstring (ISO)use with from
{
  "method":"getTrades",
  "params":{"symbol":"ETH/BTC","limit":3,"offset":0,"sort":"DESC"},
  "id":123
}

Subscribe to Ticker

subscribeTicker (Public)

{
  "method":"subscribeTicker",
  "params":{"symbol":"ETH/BTC"},
  "id":123
}

Notification: ticker

{
  "jsonrpc":"2.0","method":"ticker",
  "params":{"symbol":"ETH/BTC","lastPrice":"0","lastPriceUpDown":"up","yesterdayPrice":"0","changePercent":"0","highPrice":"0","lowPrice":"0","volume":"0","bestBid":"0","bestAsk":"0","spreadPercent":"0","sequence":0}
}

unsubscribeTicker

{
  "method":"unsubscribeTicker",
  "params":{"symbol":"ETH/BTC"},
  "id":123
}

Subscribe to Orderbook

subscribeOrderbook (Public)

limit optional, default 100 per side.

{
  "method":"subscribeOrderbook",
  "params":{"symbol":"ETH/BTC","limit":100},
  "id":123
}

snapshotOrderbook

{
  "jsonrpc":"2.0","method":"snapshotOrderbook",
  "params":{"asks":[{"price":"0.1","quantity":"1.0"}],"bids":[{"price":"0.09","quantity":"2.0"}],"symbol":"ETH/BTC","sequence":8073827}
}

updateOrderbook

{
  "jsonrpc":"2.0","method":"updateOrderbook",
  "params":{"asks":[{"price":"0.1000","quantity":"0.000"}],"bids":[],"symbol":"ETH/BTC","sequence":8073830}
}

unsubscribeOrderbook

{
  "method":"unsubscribeOrderbook","params":{"symbol":"ETH/BTC"},"id":123
}

Subscribe to Trades

subscribeTrades (Public)

{
  "method":"subscribeTrades",
  "params":{"symbol":"ETH/BTC"},
  "id":123
}

snapshotTrades / updateTrades

{
  "jsonrpc":"2.0","method":"snapshotTrades",
  "params":{"data":[{"id":"abc","price":"0.054","quantity":"0.05","side":"buy","timestamp":"2022-10-19T16:33:42.821Z"}],
           "symbol":"ETH/BTC","sequence":0}
}
{
  "jsonrpc":"2.0","method":"updateTrades",
  "params":{"data":[{"id":"def","price":"0.055","quantity":"0.18","side":"sell","timestamp":"2022-10-19T16:34:25.041Z"}],
           "symbol":"ETH/BTC","sequence":0}
}

unsubscribeTrades

{
  "method":"unsubscribeTrades","params":{"symbol":"ETH/BTC"},"id":123
}

Subscribe to Candles

Periods (minutes): 5, 15, 30, 60, 180, 240, 480, 720, 1440

subscribeCandles (Public)

{
  "method":"subscribeCandles",
  "params":{"symbol":"ETH/BTC","period":30},
  "id":123
}

snapshotCandles / updateCandles

{
  "jsonrpc":"2.0","method":"snapshotCandles",
  "params":{"data":[{"timestamp":"2017-10-19T15:00:00.000Z","open":"0.054801","close":"0.054625","min":"0.054601","max":"0.054894","volume":"380.750"}],
           "symbol":"ETH/BTC","period":30}
}
{
  "jsonrpc":"2.0","method":"updateCandles",
  "params":{"data":[{"timestamp":"2017-10-19T16:30:00.000Z","open":"0.054614","close":"0.054465","min":"0.054339","max":"0.054724","volume":"141.268"}],
           "symbol":"ETH/BTC","period":30}
}

unsubscribeCandles

{
  "method":"unsubscribeCandles","params":{"symbol":"ETH/BTC","period":30},"id":123
}

Socket Session Authentication

Private methods require login. Two algos:

login (BASIC)

{
  "method":"login",
  "params":{"algo":"BASIC","pKey":"<PUBLIC>","sKey":"<SECRET>"},
  "id":123
}

login (HS256)

{
  "method":"login",
  "params":{"algo":"HS256","pKey":"<PUBLIC>","nonce":"N1g287gL8YOwDZr","signature":"<hex hmac256(secret,nonce)>"},
  "id":123
}

Private Methods

newOrder

{
  "method":"newOrder",
  "params":{"userProvidedId":"57d552...","symbol":"ETH/BTC","side":"sell","type":"limit","price":"0.059837","quantity":"0.015"},
  "id":123
}

cancelOrder

{
  "method":"cancelOrder",
  "params":{"userProvidedId":"57d552..."},
  "id":123
}

getOrders

{
  "method":"getOrders",
  "params":{"symbol":"BTC/USDT"},
  "id":123
}

getTradingBalance

{
  "method":"getTradingBalance",
  "params":{},
  "id":123
}

subscribeReports

Snapshot of active orders then report updates (new / trade / cancel / update).

{
  "method":"subscribeReports","params":{},"id":123
}
{
  "jsonrpc":"2.0","method":"activeOrders","params":[{ "...": "..." }]}
{
  "jsonrpc":"2.0","method":"report","params":{"id":"...","symbol":"ETH/BTC","side":"sell","status":"New","type":"limit","price":"0.053868","quantity":"0.001"}}