Read market data
Read markets, prices, order books, and your own positions over POST /info — no signing required.
Last updated
Read markets, prices, order books, and your own positions over POST /info — no signing required.
Every read is a POST /info call, unauthenticated, dispatched on a top-level type. This guide points you at the query for each task; the full response shapes are in the POST /info reference. Query responses carry query_height and app_hash so you know which committed state you read. /info is rate-limited to 1 request/second per IP — poll within that budget and back off on 429 (see rate limits).
Examples use mainnet; swap in https://api-test.native.org for testnet — see environments.
Don't want to poll? The same market data and account state stream over a WebSocket connection — books, trades, fills, and order updates pushed as they happen. Stream over WebSocket is the walkthrough.
Before you can sign an order you need the market_id and the market's precision.
curl -sS -X POST "$API_URL/info" -H 'content-type: application/json' \
-d '{"type":"markets"}'markets — market_id, price_decimals, base_quantity_decimals, max_price_sig_figs for every pair.
assets — asset ids, symbols, balance_decimals.
quoteAssets — the per-quote-asset minimum notional an order must clear.
l2Book — aggregated bids/asks for one market (optional depth, default 20).
markPrices — mark prices (all, or filtered by asset_ids).
oracleStatus — whether oracle marks are fresh.
Pass your owner address as user (not the API-wallet address).
userBalances — available / locked per asset.
openOrders — resting orders, with filled_qty / remaining_qty.
userFills — fill history over a height range.
orderStatus — the lifecycle of one order by oid or cloid. This is where you see whether an order rested or filled — /trade only tells you it landed.
spotCreditPositions / spotCreditAccount — credit-account positions and credit line (see Account Types).
POST /info — every query and its full response
Trade over REST — place your first order
Last updated