Core Market API
Core Market operations cover crypto discovery, historical/current prices, Signal DSL evaluation, screening, pair diagnostics, derivatives data, and canonical metadata.
Operations
| Method | Path | Required scope | Purpose |
|---|---|---|---|
GET | /v1/market/discover | public | Discover CMC-backed assets with query parameters |
POST | /v1/market/discover | research | Discover CMC-backed assets with a typed body |
POST | /v1/market/instruments/search | research | Search explicitly selected live, equity, crypto-asset, or Polymarket catalogs without price observations |
GET | /v1/market/ohlcv | research | Read historical candles |
GET | /v1/market/ticker | research | Read one current ticker |
POST | /v1/market/ticker | research | Read a bounded ticker batch |
POST | /v1/market/evaluate | research | Evaluate one Signal DSL expression |
POST | /v1/market/scan | research | Filter a canonical universe by a condition |
POST | /v1/market/rank | research | Rank a canonical universe by an expression |
GET | /v1/market/funding-rates | research | Read venue funding rates |
POST | /v1/command-data/market/funding-rates | research | Read funding observations with filtering and a bounded row limit |
POST | /v1/command-data/market/premium | research | Compare prices across matching instruments |
POST | /v1/command-data/market/arbitrage | research | Compare funding spreads against a base venue |
POST | /v1/command-data/market/longshort | research | Read long/short ratios |
POST | /v1/command-data/market/market-stats | research | Read statistics for requested instruments |
POST | /v1/command-data/market/screener | research | Run a structured screener plan over a data source |
POST | /v1/market/metadata/batch | public | Resolve display, precision, venue, and freshness metadata |
GET | /v1/market/cmc-ranking | research | Rank CoinGecko assets by volume, market capitalisation, or 24-hour change; change rankings cover the 250 largest assets by market capitalisation |
GET | /v1/market/trending | research | Read trending assets |
GET | /v1/market/top-gainers | research | Read top 24-hour gainers among CoinGecko's 250 largest assets by market capitalisation |
GET | /v1/market/newly-listed | research | Read newly listed assets |
GET | /v1/market/upcoming-listings | research | Read upcoming-listing candidates |
GET | /v1/market/price | research | Read a compact current-price resource |
POST | /v1/market/pairs/calculate | research | Calculate pair metrics across a universe |
POST | /v1/market/pairs/analyze | research | Analyze one aligned pair |
GET | /v1/market/fear-greed | research | Read the crypto Fear and Greed index |
GET | /v1/market/open-interests | research | Read Binance Futures open interest |
GET | /v1/market/dvol | research | Read latest Deribit volatility index data |
GET | /v1/market/options-chain | research | Read one Deribit option-underlying dataset with filters, units, summaries, strike aggregates, and sorted rows |
GET | /v1/market/orderbook | research | Read a Binance spot or futures order book |
Command-data list limits
Direct funding-rates, premium, and arbitrage requests default to
limit=100. An explicit limit must be an integer from 1 through 200;
invalid limits return HTTP 400 with error code
invalid-command-data-arguments and details.retryable=false.
These three operations, longshort, and market-stats return count for the
number of returned rows, total for rows matching filter before limit, and
truncated when total > count. Filtering and sorting precede the limit.
Screener source.params retain their existing policy: an omitted source limit
loads all matching rows, and an explicit source limit accepts 1 through
10000. The screener's own result limit is separate. Direct longshort and
market-stats selection limits also retain the 1 through 10000 range with
no default limit.
Identifier rules
OHLCV/ticker operations use an exchange plus venue symbol as defined by their
schema. Scan and rank universes use strict
EXCHANGE:BASE/QUOTE[:SETTLE] tickers because each item can target a different
exchange. Do not add a separate exchange field to a scan/rank body.
metadata/batch is public because clients need display and precision metadata
before rendering a market. Its freshness.degraded and warnings indicate an
unavailable resolution; do not treat missing precision as permission to guess.
Discovery versus execution
discover, CMC ranking, trending, gainers, and listing endpoints describe
broad-market assets. They do not prove that an exchange account can trade the
asset. Re-resolve any execution target through Exchanges and Accounts before an
order.
Expression and pair behavior
Use GET /v1/meta/indicators before constructing Signal DSL. Expression,
condition, metric, and sort fields use the same supported DSL primitives.
Pair calculations skip combinations without enough aligned candles. Single-pair
analysis returns 422 DATA_UNAVAILABLE when it cannot establish at least the
required aligned history; it does not return a successful {error: ...} body.
Successful single-pair analysis also returns a bounded, endpoint-preserving
series derived from the same aligned closes as the aggregate statistics. Indexed
values start at 100; candles are aligned by their common source timestamps, and
each spread and z-score point retains that timestamp.
Deribit option-chain contract
GET /v1/market/options-chain selects exactly one settlement family and one
underlying. settlement=coin supports inverse BTC and ETH options;
settlement=usdc supports linear BTC, ETH, AVAX, HYPE, SOL, TRX,
and XRP options. The endpoint rejects unsupported combinations rather than
mixing unlike underlyings.
expiry, type (C or P), and min_oi filter the selected dataset before
the response summary and strike aggregation are calculated. sort_by accepts
strike, open_interest, volume, mark_price, bid_price, or ask_price;
ascending and top_n affect only the returned table rows. matching_count
reports the number of rows before top_n, while count reports the rows in the
response. facets publishes the supported underlyings, expiries, and contract
types for the selected settlement dataset.
The response explicitly publishes oi_unit, volume_unit, price_unit, and
strike_unit.
Open interest and volume use the selected underlying asset; mark, bid, and ask
prices use settlement_currency. Coin-settled option strikes use USD, while
USDC-settled option strikes use USDC. strike_open_interest is calculated
from all matching rows before table sorting and pagination, so changing table
order does not change the chart dataset.
Upstream behavior
These are synchronous requests. External provider/downloader failure is an HTTP
error, not an empty successful resource. Preserve the common 502, 503, and
504 distinctions and retry only idempotent reads.