For the complete documentation index, see llms.txt. This page is also available as Markdown.

Market list

SQL API

Our ClickHouse SQL interface provides direct access to normalized market metadata through three optimized views: market_spot, market_future, and market_option. These tables enable sophisticated filtering and joins impossible via REST, empowering complex analytics workflows.


api.market_spot

Spot markets (e.g., BTC-USD, BTC-USDT)

Column
Type
Description

exchange

String

Venue id — mostly clean spot names (e.g. binance, coinbase); run SELECT DISTINCT exchange for the full set

market_symbol

String

Universal symbol, format BASE-QUOTE (e.g. BTC-USDT on Binance, BTC-USD on Coinbase)

base_asset

String

Base asset, universal symbol (e.g. BTC)

quote_asset

String

Quote asset, universal symbol (e.g. USDT, USD)

exchange_specific_symbol

String

Raw exchange websocket ticker (e.g. BTCUSDT)

Use Case Example Find all spot markets with USDT quote pairs on Binance or Kraken:

SELECT exchange, market_symbol, base_asset, quote_asset  
FROM api.market_spot  
WHERE quote_asset = 'USDT'  
  AND exchange IN ('binance', 'kraken')  

List all exchanges:

SELECT distinct exchange FROM api.market_spot

api.market_future

Futures contracts (e.g., BTC-USD-PERP-INV inverse, BTC-USDT-PERP linear)

Column
Type
Description

exchange

String

Clean venue id, e.g. binance, deribit, okx (no product suffix on this view)

market_symbol

String

Universal symbol: BASE-QUOTE-PERP (linear perp), BASE-QUOTE-PERP-INV (inverse perp), BASE-QUOTE-YYYY-MM-DD[-INV] (dated). E.g. BTC-USDT-PERP

underlying_asset

String

Underlying asset (e.g. BTC)

quote_asset

String

Quote asset (e.g. USDT, USD)

settling_asset

String

Asset PnL settles in; equals the underlying ⟹ INVERSE contract

denomination_asset

String

Margin / collateral asset

expiration

DateTime64(9)

Contract expiry (null for perpetuals)

contract_size

Decimal(38,18)

Size per contract (e.g. 0.001)

contract_type

String

LINEAR (quote-settled) or INVERSE (coin-settled)

future_type

String

PERPETUAL or EXPIRING

exchange_specific_symbol

String

Raw exchange websocket ticker (e.g. BTCUSDT_PERP)

Use Case Example List perpetual BTC futures with linear pricing:


api.market_option

Options contracts (e.g., BTC-USDT-2026-05-09-75000-C)

Column
Type
Description

exchange

String

Clean venue id, e.g. deribit, okx, bybit

market_symbol

String

Universal symbol, format BASE-QUOTE-YYYY-MM-DD-STRIKE-{C|P} (e.g. BTC-USDT-2026-05-09-75000-C, BTC-BTC-... on Deribit)

underlying_asset

String

Underlying asset (e.g. BTC)

quote_asset

String

Quote asset (e.g. USDT, USDC, USD, BTC)

settling_asset

String

Asset PnL settles in

expiration

DateTime64(9)

Option expiry timestamp

strike

Decimal(38,18)

Strike price (e.g. 75000)

contract_size

Decimal(38,18)

Size per contract (e.g. 0.1)

contract_type

String

LINEAR or INVERSE

option_type

String

CALL or PUT

exchange_specific_symbol

String

Raw exchange ticker (e.g. BTC-30JUN23-30000-C)

Use Case Example Find BTC call options expiring in the current quarter:

toQuarter and toYear are ClickHouse date-time functions — see the toQuarter and toYear reference.

REST API

Get Spot Markets

get

This endpoint allows you to obtain the full list of spot markets

Responses
200

All spot markets

application/json
exchangestringOptional

The name of the exchange

market_symbolstringOptional

Universal name of market

base_assetstringOptional

Universal name of the base asset

quote_assetstringOptional

Universal name of the quote asset

exchange_specific_symbolstringOptional

Name of the market on the exchange (as referenced by the exchange API)

get/market/spot
GET /market/spot HTTP/1.1
Host: api.koinju.io
Accept: */*
200

All spot markets

[
  [
    {
      "exchange": "huobi",
      "market_symbol": "DRGN-USDT",
      "base_asset": "DRGN",
      "quote_asset": "USDT",
      "exchange_specific_symbol": "drgnusdt"
    },
    {
      "exchange": "binance",
      "market_symbol": "BTC-USDT",
      "base_asset": "BTC",
      "quote_asset": "USDT",
      "exchange_specific_symbol": "btcusdt"
    }
  ]
]

Get Future Markets

get

Returns expirable future and perpetual swaps.

Responses
200

OK

application/json
exchangestringOptional

The name of the exchange

market_symbolstringOptional

Universal name of market

underlying_assetstringOptional

Universal name of the underlying asset

quote_assetstringOptional

Universal name of the quote asset

settling_assetstringOptional

Universal name of the asset the future is settled in

denomination_assetstringOptional

Universal name of the asset the future is denominated in

expirationstring · date-timeOptional

UTC time of the contract expiration. Null for perpetual contracts except binance. Not-null for perpetual contracts that were delivered on delisting or not expired binance contracts.

contract_sizenumber · decimalOptional

Contract size in denomination_asset

contract_typestring · enumOptional

Type of contract (LINEAR or INVERSE)

Possible values:
future_typestring · enumOptional

Type of future (PERPETUAL or EXPIRING)

Possible values:
get/market/future
GET /market/future HTTP/1.1
Host: api.koinju.io
Accept: */*
200

OK

[
  [
    {
      "exchange": "binance",
      "market_symbol": "PHA-USDT-PERP",
      "underlying_asset": "PHA",
      "quote_asset": "USDT",
      "settling_asset": "USDT",
      "expiration": null,
      "contract_size": 1,
      "contract_type": "LINEAR",
      "future_type": "PERPETUAL",
      "exchange_specific_symbol": "PHAUSDT"
    },
    {
      "exchange": "binance",
      "market_symbol": "SUI-USD-PERP",
      "underlying_asset": "SUI",
      "quote_asset": "USD",
      "settling_asset": "SUI",
      "denomination_asset": "USD",
      "expiration": "2100-12-25T08:00:00Z",
      "contract_size": 10,
      "contract_type": "INVERSE",
      "future_type": "PERPETUAL",
      "exchange_specific_symbol": "SUIUSD_PERP"
    }
  ]
]

Get active Option Markets

get
Responses
200

OK

application/json
exchangestringOptional

The name of the exchange

market_symbolstringOptional

Universal name of market

expirationstring · date-timeOptional

UTC time of the option expiration

underlying_assetstringOptional

Universal name of the underlying asset

quote_assetstringOptional

Universal name of the quote asset

settling_assetstringOptional

Universal name of the asset the option is settled in

denomination_assetstringOptional

Universal name of the asset the option is denominated in

contract_sizenumber · decimalOptional

Contract size in denomination_asset

contract_typestring · enumOptional

Type of contract (LINEAR or INVERSE)

Possible values:
option_typestring · enumOptional

Type of option (CALL or PUT)

Possible values:
exchange_symbolstringOptional

Name of the market on the exchange (as referenced by the exchange API)

get/market/option/active
GET /market/option/active HTTP/1.1
Host: api.koinju.io
Accept: */*
200

OK

[
  [
    {
      "exchange": "deribit",
      "market_symbol": "BTC-BTC-29DEC23-40000-P",
      "expiration": "2023-12-29T00:00:00Z",
      "underlying_asset": "BTC",
      "quote_asset": "BTC",
      "settling_asset": "BTC",
      "denomination_asset": "BTC",
      "contract_size": 1,
      "contract_type": "LINEAR",
      "option_type": "PUT",
      "exchange_symbol": "BTC-29DEC23-40000-P"
    },
    {
      "exchange": "deribit",
      "market_symbol": "ETH-BTC-29DEC23-3000-C",
      "expiration": "2023-12-29T00:00:00Z",
      "underlying_asset": "ETH",
      "quote_asset": "BTC",
      "settling_asset": "BTC",
      "denomination_asset": "BTC",
      "contract_size": 1,
      "contract_type": "LINEAR",
      "option_type": "CALL",
      "exchange_symbol": "ETH-29DEC23-3000-C"
    }
  ]
]

Get all Option Markets

get

This endpoint returns all option markets, including both active and expired options. It is useful for retrieving a comprehensive list of all options available across exchanges.

This endpoint is limited to 10000 instruments that expired before the expired_before parameter in descending order of expiration.

Query parameters
exchangestring · enumRequired

Filter by exchange name. Example: 'deribit', 'delta'

Possible values:
expired_beforestring · date-timeRequired

Filter options that expired before a specific date. Accepts a plain date (2024-12-31, treated as midnight UTC) or a full ISO 8601 timestamp (2024-12-31T23:59:59Z).

Example: 2024-12-31
Responses
200

OK

application/json
exchangestringOptional

The name of the exchange

market_symbolstringOptional

Universal name of market

expirationstring · date-timeOptional

UTC time of the option expiration

underlying_assetstringOptional

Universal name of the underlying asset

quote_assetstringOptional

Universal name of the quote asset

settling_assetstringOptional

Universal name of the asset the option is settled in

denomination_assetstringOptional

Universal name of the asset the option is denominated in

contract_sizenumber · decimalOptional

Contract size in denomination_asset

contract_typestring · enumOptional

Type of contract (LINEAR or INVERSE)

Possible values:
option_typestring · enumOptional

Type of option (CALL or PUT)

Possible values:
exchange_symbolstringOptional

Name of the market on the exchange (as referenced by the exchange API)

get/market/option/all
GET /market/option/all?exchange=deribit&expired_before=2024-12-31 HTTP/1.1
Host: api.koinju.io
Accept: */*
200

OK

[
  [
    {
      "exchange": "deribit",
      "market_symbol": "BTC-BTC-29DEC23-40000-P",
      "expiration": "2023-12-29T00:00:00Z",
      "underlying_asset": "BTC",
      "quote_asset": "BTC",
      "settling_asset": "BTC",
      "denomination_asset": "BTC",
      "contract_size": 1,
      "contract_type": "LINEAR",
      "option_type": "PUT",
      "exchange_symbol": "BTC-29DEC23-40000-P"
    },
    {
      "exchange": "deribit",
      "market_symbol": "ETH-BTC-29DEC23-3000-C",
      "expiration": "2023-12-29T00:00:00Z",
      "underlying_asset": "ETH",
      "quote_asset": "BTC",
      "settling_asset": "BTC",
      "denomination_asset": "BTC",
      "contract_size": 1,
      "contract_type": "LINEAR",
      "option_type": "CALL",
      "exchange_symbol": "ETH-29DEC23-3000-C"
    }
  ]
]

Last updated

Was this helpful?