MMTMMT Docs
REST API

Markets

Retrieve available exchanges, symbols, data streams, bucket groups, and API tier information.

Returns available exchanges, symbols, data streams, and your API tier information. Use this endpoint to discover what markets and data types are available for your API key.

Authentication

Pass your API key in the X-API-Key header:

GET /api/v1/markets
X-API-Key: your-api-key-here

Endpoint

GET /api/v1/markets

Parameters

This endpoint has no path or query parameters. Authentication is the only requirement.

Rate Limits

This endpoint has no rate limit cost. It does not consume any weight from your allowance.

Response

{
  "exchanges": [
    {
      "id": "binancef",
      "name": "binancef",
      "symbols": [
        {
          "symbol": "btc/usd",
          "exchange_ticker": "BTCUSDT",
          "base": "BTC",
          "quote": "USDT",
          "normalised_base": "btc",
          "normalised_quote": "usd",
          "tick_size": 0.1,
          "step_size": 0.001
        },
        {
          "symbol": "eth/usd",
          "exchange_ticker": "ETHUSDT",
          "base": "ETH",
          "quote": "USDT",
          "normalised_base": "eth",
          "normalised_quote": "usd",
          "tick_size": 0.01,
          "step_size": 0.001
        }
      ]
    },
    {
      "id": "bybitf",
      "name": "bybitf",
      "symbols": [
        {
          "symbol": "btc/usd",
          "exchange_ticker": "BTCUSDT",
          "base": "BTC",
          "quote": "USDT",
          "normalised_base": "btc",
          "normalised_quote": "usd",
          "tick_size": 0.1,
          "step_size": 0.001
        }
      ]
    }
  ],
  "streams": [
    {
      "id": "candles",
      "name": "OHLCVT Candles",
      "max_points": 100000,
      "cost_multiplier": 1,
      "available": true
    },
    {
      "id": "stats",
      "name": "Market Stats",
      "max_points": 100000,
      "cost_multiplier": 1,
      "available": true
    },
    {
      "id": "oi",
      "name": "Open Interest",
      "max_points": 100000,
      "cost_multiplier": 1,
      "available": true
    },
    {
      "id": "vd",
      "name": "Volume Delta",
      "max_points": 100000,
      "cost_multiplier": 1,
      "available": true
    },
    {
      "id": "volumes",
      "name": "Volume Profile",
      "max_points": 20000,
      "cost_multiplier": 4,
      "available": true
    },
    {
      "id": "heatmap_sd",
      "name": "Heatmap SD",
      "max_points": 5000,
      "cost_multiplier": 5,
      "available": true
    },
    {
      "id": "heatmap_hd",
      "name": "Heatmap HD",
      "max_points": 4000,
      "cost_multiplier": 10,
      "available": true
    },
    {
      "id": "flat_heatmap_sd",
      "name": "Flat Heatmap SD",
      "max_points": 5000,
      "cost_multiplier": 5,
      "available": true
    },
    {
      "id": "flat_heatmap_hd",
      "name": "Flat Heatmap HD",
      "max_points": 4000,
      "cost_multiplier": 10,
      "available": true
    },
    {
      "id": "stop_heatmap",
      "name": "Stop Heatmap",
      "max_points": 5000,
      "cost_multiplier": 5,
      "available": true
    },
    {
      "id": "tp_heatmap",
      "name": "Take Profit Heatmap",
      "max_points": 5000,
      "cost_multiplier": 5,
      "available": true
    },
    {
      "id": "liquidation_heatmap",
      "name": "Liquidation Heatmap",
      "max_points": 5000,
      "cost_multiplier": 5,
      "available": true
    },
    {
      "id": "trades",
      "name": "Trades (realtime)",
      "max_points": 0,
      "cost_multiplier": 0,
      "available": true
    },
    {
      "id": "depth",
      "name": "Orderbook (realtime)",
      "max_points": 0,
      "cost_multiplier": 0,
      "available": true
    }
  ],
  "bucket_groups": [
    { "id": 1, "name": "all", "description": "All trades" },
    { "id": 2, "name": "1-1K", "description": "$1 - $1,000" },
    { "id": 3, "name": "1K-10K", "description": "$1,000 - $10,000" },
    { "id": 4, "name": "10K-25K", "description": "$10,000 - $25,000" },
    { "id": 5, "name": "25K-50K", "description": "$25,000 - $50,000" },
    { "id": 6, "name": "50K-100K", "description": "$50,000 - $100,000" },
    { "id": 7, "name": "100K-250K", "description": "$100,000 - $250,000" },
    { "id": 8, "name": "250K-500K", "description": "$250,000 - $500,000" },
    { "id": 9, "name": "500K-1M", "description": "$500,000 - $1,000,000" },
    { "id": 10, "name": "1M-5M", "description": "$1,000,000 - $5,000,000" },
    { "id": 11, "name": "5M+", "description": "$5,000,000+" }
  ],
  "tier": {
    "name": "pro",
    "max_history_days": 365,
    "max_ws_connections": 15,
    "max_subs_per_connection": 100,
    "allowed_buckets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
  }
}

Types

MarketsResponse

Top-level response object.

JSON FieldCBOR KeyTypeDescription
exchangesexchangesExchangeInfo[]List of available exchanges
streamsstreamsStreamInfo[]List of available data streams
bucket_groupsbucket_groupsBucketGroupInfo[]Volume delta bucket group definitions
tiertierTierInfoYour API key's tier information

ExchangeInfo

Exchange with available trading symbols.

JSON FieldCBOR KeyTypeDescription
ididstringExchange identifier (use in API requests)
namenamestringExchange display name
symbolssymbolsSymbolInfo[]Available trading symbols with metadata

SymbolInfo

Symbol metadata with exchange-specific and normalised identifiers.

JSON FieldCBOR KeyTypeDescription
symbolsymbolstringNormalised symbol (use in API requests, e.g., btc/usd)
exchange_tickerexchange_tickerstringExchange-native ticker (e.g., BTCUSDT)
basebasestringExchange-native base asset (e.g., BTC)
quotequotestringExchange-native quote asset (e.g., USDT)
normalised_basenormalised_basestringNormalised base asset (e.g., btc)
normalised_quotenormalised_quotestringNormalised quote asset (e.g., usd)
tick_sizetick_sizefloat64Minimum price increment for the symbol
step_sizestep_sizefloat64Minimum quantity increment for the symbol

StreamInfo

Data stream with rate limit and availability info.

JSON FieldCBOR KeyTypeDescription
ididstringStream identifier (use in API requests)
namenamestringStream display name
max_pointsmax_pointsint64Maximum data points per request (0 = realtime only)
cost_multipliercost_multiplierintRate limit cost multiplier (0 = no REST cost)
availableavailableboolWhether stream is available for your tier

Custom heatmap availability: stop_heatmap, tp_heatmap, and liquidation_heatmap are available only for hyperliquid and hyperliquid-xyz.

TierInfo

API tier limits and quotas.

JSON FieldCBOR KeyTypeDescription
namenamestringTier name (basic, pro)
max_history_daysmax_history_daysintMaximum historical data access in days (0 = unlimited)
weight_per_minweight_per_minintCurrent rate limit weight allowance per minute for your key (dynamic, may change)
max_ws_connectionsmax_ws_connectionsintMaximum concurrent WebSocket connections
max_subs_per_connectionmax_subs_per_connectionintMaximum subscriptions per WebSocket connection
allowed_bucketsallowed_bucketsint[]VD bucket group IDs available for your tier

BucketGroupInfo

Volume delta bucket group definition.

JSON FieldCBOR KeyTypeDescription
ididintBucket group ID (1-11)
namenamestringShort name (e.g., "1K-10K")
descriptiondescriptionstringFull description (e.g., "$1,000 - $10,000")

Bucket Groups

IDNameTrade Size Range
1allAll trades
21-1K$1 - $1,000
31K-10K$1,000 - $10,000
410K-25K$10,000 - $25,000
525K-50K$25,000 - $50,000
650K-100K$50,000 - $100,000
7100K-250K$100,000 - $250,000
8250K-500K$250,000 - $500,000
9500K-1M$500,000 - $1,000,000
101M-5M$1,000,000 - $5,000,000
115M+$5,000,000+

Tier behavior: Basic plans are limited to bucket 1 (all trades) and do not allow multi-exchange aggregation. Pro plans allow buckets 1-11 and support multi-exchange aggregation.

History ranges by plan: Basic Monthly: 90 days, Basic Yearly: 365 days, Pro Monthly: 365 days, Pro Yearly: unlimited (max_history_days = 0).

Errors

CodeHTTPDescription
INVALID_API_KEY401Missing or invalid API key
RATE_LIMITED429Rate limit exceeded
INTERNAL_ERROR500Internal server error
{
  "error": {
    "code": "INVALID_API_KEY",
    "message": "Missing or invalid API key"
  }
}

On this page