Surface Map
What a Pair Represents
For a symbol likeBTC/USDC:
BTCis the base asset.USDCis the quote asset.- The pair has a Monaco trading pair UUID.
- The pair can support spot, perps, or both.
- The pair exposes base and quote asset IDs for vault operations.
- The pair carries order constraints such as tick size, minimum order size, maximum order size, and fee fields.
Product Support
Monaco can expose separate active rows for spot and perps support. Your UI should derive product support from active pair data instead of assuming every asset supports every product.- Spot enabled: show spot order entry and spot orderbook/trade surfaces.
- Perps enabled: show leverage, margin, funding, positions, liquidation, and reduce-only controls.
- Product unavailable: keep the market visible if useful, but disable product-specific order entry.
Resolve Pairs
Pair IDs vs Symbols
Symbols are human-readable. Pair IDs are stable API identifiers.Query Map
Market Metadata
Use market metadata when rendering order tickets or validating inputs before submission.Screener and Stats
Use the screener for market lists, cards, tickers, and leaderboards. Use market stats for exchange-wide lifetime totals. The surge example usesdecimal.js (npm install decimal.js) to divide decimal strings without converting amounts to JavaScript numbers.
Builder Notes
Oracle delivery is deployment-configured: Pyth-primary markets can stream prices over WebSocket, with HTTP polling taking over when a stream stops advancing. SEDA markets serve a Pyth Pro feed with an explicitly configured Hyperliquid on-close fallback coin. SEDA answers from that coin when the upstream market is shut, and also when its Pyth request fails during an open session; either answer prices the market like any other tick. The server checks the coin’s metadata and index, but the operator must choose the same asset as the Pyth feed; that cross-provider identity is not automatically verified. The provider session is reported for monitoring and does not change market policy. Consume the existing mark/index price andmarket_status surfaces rather than inferring trading
availability from the provider or transport alone.
The engine refuses an oracle mark that would value an open position outside
the supported notional, margin or unrealized-PnL range and retains its last
accepted mark. Do not assume that every upstream tick changes position
valuation.
- Resolve and store trading pair IDs before querying orderbooks, trades, candles, funding, or placing orders.
- Public market data does not require authentication.
- User orders, balances, positions, and account streams do require authentication.
Related Pages
- Orderbooks & Trades for candles, orderbook snapshots, recent trades, and live streams.
- Order Management for order placement and lifecycle.
- Available Markets for a live visual market table.

