When to use this API
When you need crypto market data — prices, order books, recent trades, or trading-pair configuration — priced in Brazilian reais. NovaDAX is a Brazil-focused exchange: nearly all 580+ pairs are denominated in BRL, not USDT, which makes it one of the few places to get real-time BRL-denominated crypto pricing without a currency conversion step. For USD-denominated prices, use Binance or CoinGecko instead. No auth required for any public endpoint.
Getting the current price for a trading pair
"What's Solana trading at in reais right now?" The /v1/market/ticker endpoint returns 24-hour rolling data for a single pair. Pass symbol as a query parameter using the BASE_QUOTE format — all BRL pairs use _BRL as the suffix.
curl "https://api.novadax.com/v1/market/ticker?symbol=SOL_BRL" | head -c 10000
{
"code": "A10000",
"data": {
"symbol": "SOL_BRL",
"lastPrice": "421.009",
"high24h": "446.779",
"low24h": "421.009",
"open24h": "446.779",
"bid": "421.01",
"ask": "431.609",
"baseVolume24h": "172.386",
"quoteVolume24h": "74288.77",
"timestamp": 1774643290225
},
"message": "Success"
}
The spread between bid (421.01) and ask (431.61) is over 10 BRL — roughly 2.5% on a 421 BRL price. That is not a typo; BRL-denominated markets on NovaDAX carry noticeably wider spreads than their USD/USDT equivalents on global exchanges. The open24h field (446.779) versus lastPrice (421.009) also tells you SOL dropped about 5.8% in the last 24 hours in BRL terms — but that number conflates the crypto price move with any BRL/USD FX move, so do not compare it directly to a CoinGecko USD chart.
Solana is trading at 421.01 BRL (bid) / 431.61 BRL (ask) on NovaDAX, with a 24-hour range of 421.01–446.78 BRL. The bid-ask spread is about 2.5%, which is typical for BRL pairs on this exchange — wider than you would see on a USD-denominated market.
Checking the order book for a pair
"How deep is the order book for BTC against USDT on NovaDAX?" The /v1/market/depth endpoint returns the top bids and asks. Pass symbol and optionally limit to control depth (default is 5 levels).
curl "https://api.novadax.com/v1/market/depth?symbol=BTC_USDT&limit=5" | head -c 10000
{
"code": "A10000",
"data": {
"asks": [
["70901.41", "0.014129"],
["70915.91", "0.014126"],
["70924.45", "0.014130"],
["70930.10", "0.014123"],
["70942.57", "0.014121"]
],
"bids": [
["70641.35", "0.014130"],
["70635.77", "0.042514"],
["70613.04", "0.014130"],
["70600.45", "0.045339"],
["70588.84", "0.061963"]
],
"symbol": "BTC_USDT",
"timestamp": 1776005399831
},
"message": "Success"
}
Each entry is [price, quantity]. The second bid level (0.042514 BTC at 70635.77 USDT) is roughly 3x the size of the first level — that is a single large order sitting on the book, not distributed liquidity. On NovaDAX, depth is thin: five levels on each side span less than 0.5% of the price, and the total quantity across all five ask levels is under 0.07 BTC. This is a characteristic pattern of smaller regional exchanges — useful for pricing, but not for large fills.
The BTC/USDT order book on NovaDAX shows five ask levels between 70,901–70,943 USDT and five bid levels between 70,588–70,641 USDT, with total depth under 0.07 BTC per side. There is a noticeably larger bid at 70,635.77 USDT for 0.0425 BTC, but overall the book is thin compared to global exchanges.
Looking up a symbol's trading rules
"What's the minimum order size for trading Cardano on NovaDAX?" The /v1/common/symbol endpoint returns precision and minimum-order configuration for a single pair. This is essential before placing orders — the exchange rejects anything below minOrderAmount or minOrderValue.
curl "https://api.novadax.com/v1/common/symbol?symbol=BTC_USDT" | head -c 10000
{
"code": "A10000",
"data": {
"symbol": "BTC_USDT",
"baseCurrency": "BTC",
"quoteCurrency": "USDT",
"amountPrecision": 6,
"pricePrecision": 2,
"valuePrecision": 6,
"minOrderAmount": "0.000056",
"minOrderValue": "5",
"status": "ONLINE"
},
"message": "Success"
}
The amountPrecision (6 decimal places for BTC quantity) and pricePrecision (2 for USDT price) tell you exactly how many decimal places the exchange will accept — sending more causes rejection. The minOrderValue of 5 means the smallest trade in USDT must be at least 5 USDT, while minOrderAmount of 0.000056 BTC is the minimum quantity. For BRL pairs, minOrderValue is in reais — the 25 BRL minimum on most pairs is about 4–5 USD, a higher effective barrier than the 5 USDT minimum on USDT pairs. The valuePrecision field controls how many decimal places are used in the computed amount * price total.
The minimum order on NovaDAX for BTC/USDT is 0.000056 BTC (roughly 4 USDT) or 5 USDT in notional value, whichever is higher. For BRL pairs the minimum notional is typically 25 BRL.
Pitfalls
/v1/market/tickersreturns the entire exchange. That is 595+ ticker objects in one call, over 130 KB. Always use/v1/market/ticker?symbol=XYZfor a single pair — never call/v1/market/tickersbare unless you need all pairs at once.- All BRL-denominated pairs have wider spreads than their USDT equivalents. The bid-ask gap on SOL_BRL (2.5%) is roughly 50x wider than on SOL_USDT on Binance. If your user asks "what's the spread" and you report NovaDAX BRL numbers without context, they will think something is broken.
/v1/market/kline/historyrequires exactunitvalues. The probe withunit=MINreturned a 400 error because the Java enum on the server does not acceptMIN. The valid values are not documented in the probe data — test withMINUTE,HOUR, orDAY(common exchange conventions) before relying on this endpoint.- Timestamps are in milliseconds, not seconds. The
timestampfield in ticker and trade responses is a 13-digit millisecond epoch. Divide by 1000 before passing to most date libraries.
One-line summary for the user
I can get real-time crypto prices, order books, and recent trades from NovaDAX — a Brazilian exchange where nearly all pairs are priced in BRL, with no auth required for public data.