Markets

One market-discovery endpoint across every venue.

GET/context/markets

Search or list instruments on any supported venue.

Query parameters

ParamTypeNotes
venuestringRequired. hyperliquid, lighter, polymarket, binance
qstringOptional free-text search (symbol, name; for Polymarket, the question text)
statusstringlive (default), backtest_ready, all
limit / cursorPagination, max 200 per page

Response — 200 (Hyperliquid example)

json
{
  "markets": [
    {
      "venue": "hyperliquid",
      "symbol": "BTC",
      "kind": "perp",
      "status": "live",
      "backtest_ready": true,
      "framework_symbols": {
        "freqtrade": "BTC/USDC:USDC",
        "nautilus": "BTC-PERP.HYPERLIQUID"
      },
      "tick_size": 0.1,
      "min_order_usd": 10,
      "max_leverage": 40
    }
  ],
  "next_cursor": null
}

Response — 200 (Polymarket example — outcome markets carry their question and resolution date)

json
{
  "markets": [
    {
      "venue": "polymarket",
      "symbol": "512329.POLYMARKET",
      "kind": "binary",
      "status": "live",
      "backtest_ready": true,
      "question": "Will the Fed cut rates at the September 2026 meeting?",
      "resolves_at": "2026-09-16T18:00:00Z",
      "yes_price": 0.62
    }
  ],
  "next_cursor": "eyJvZmZzZXQiOjIwMH0"
}

backtest_ready

The one flag that matters for a research loop: true means the market's history is inside a published dataset release, so POST /runtime/backtests will accept it. A market can be live but not yet backtest_ready (new listings enter the dataset on the next backfill cycle). Filtering with status=backtest_ready gives you exactly the universe you can validate on.

Identifier conventions

symbol is the canonical venue-native market id across Context endpoints (/context/markets, /context/candles, /context/funding, datasets). Use it when reading market data or addressing a market through the API.

Framework-specific aliases live under framework_symbols. Use the alias matching your deployment's framework inside framework-native strategy config:

Framework-native spellings live in the market object's framework_symbols map and are used in exactly one place: your strategy's config (freqtrade pair_whitelist, Nautilus instrument_ids). Where an alias equals the canonical form, the map still lists it — agents never have to guess.

VenueCanonical symbolframework_symbols.freqtradeframework_symbols.nautilus
HyperliquidBTC/USDC:USDCBTC/USDC:USDCBTC-PERP.HYPERLIQUID
BinanceETH/USDTETH/USDT
LighterSOL-PERP.LIGHTERSOL-PERP.LIGHTER
Polymarket512329.POLYMARKET512329.POLYMARKET

When a symbol goes in a URL path (e.g. GET /context/setup/:pair), URL-encode the canonical symbol. The API never guesses between venue-native ids and framework aliases; sending a framework alias where a Context endpoint expects symbol returns 400 symbol_not_canonical with the canonical candidate when one can be found.