Only this pageAll pages
Powered by GitBook
1 of 27

Kaiko Indices

GETTING STARTED

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Reference Rates (Crypto)

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Reference Rates (Capital Market)

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Multi-Asset Indices

Loading...

Customized Indices

Loading...

Loading...

Loading...

Index codes

When querying any API, you will need to include an index code (also known as tickers). You can find a list of all our tickers or using the i.

here
reference ap

Timestamps

All timestamps use the ISO 8601 format in the UTC zone.

For example: 2024-11-26T14:17:15.124Z

General information

Headers

When interacting with any Kaiko you are expected to pass two pieces of information in a header:

  • Accept: application/json: API responses will be in JSON format.

curl --compressed -H 'Accept: application/json' 'https://<api_hostname>/<endpoint>'

Timestamp input

All time parameters are in UTC time zone and returned in the following ISO 8601 datetime format:

YYYY-MM-DDThh:mm:ss.sssZ

For example:

2017-12-17T13:35:24.351Z

The "T" separates the date from the time. The trailing "Z" indicates UTC time.

Find exchange codes here: .

Find instrument codes here: .

Exchange codes

Instrument codes

Composition data

What is this endpoint for?

This endpoint retrieves the historical compositions of our crypto Reference Rates, determined by our periodic rate rebalances. You can learn more about our Reference Rates here.

Endpoint

https://us.market-api.kaiko.io/v2/data/index.v1/digital_asset_rates_compo

Request parameters

Parameter
Required
Description
Example

index_code

Yes

Field
Description

exchanges

Exchanges used during the composition period **

window_seconds

Calculation window in seconds for the period

partition_seconds

Partition size in seconds for the period

result

Status of the query

The desired rate ticker

KK_BRR_BTCUSD

start_time

No

Starting time in ISO 8601 (inclusive).

2023-01-25T00:00:00.000Z

end_time

No

Ending time in ISO 8601 (exclusive).

2023-04-25T00:00:00.000Z

index_code

The ticker of the rate

start_period

Start of the composition period

end_period

End of the composition period

Response Fields

** These are the exchanges that constitute the eligible universe of trading venues for the queried rate and time.

For each publication of a rate, the methodology will use trade data from these source exchanges based on actual trading activity.

Being listed as a source exchange does not guarantee that trades from exchange will be included in any given rate calculation. For the specific exchanges used for each publication, use the replication data endpoint.

Request example

Response example

curl -H "X-Api-Key: $KAIKO_API_KEY" \
     -H 'Accept: application/json' \
    "https://us.market-api.kaiko.io/v2/data/index.v1/digital_asset_rates_compo?index_code=KK_BRR_BTCUSD&start_time=2025-06-01T00:00:00Z"
{
  "query": {
    "data_version": "v1",
    "request_time": "2025-09-22T12:39:25.097Z",
    "start_time": "2025-02-01T00:00:00Z",
    "end_time": "2025-04-01T00:00:00Z"
  },
  "time": "2025-09-22T12:39:25.107Z",
  "timestamp": 1758544765107,
  "data": [
    {
      "index_code": "KK_BRR_BTCUSD",
      "start_period": "2025-03-24T21:04:22.523Z",
      "end_period": "2025-06-23T21:06:13.244716Z",
      "exchanges": [
        "cbse",
        "gmni",
        "krkn",
        "lmax",
        "stmp"
      ],
      "window_seconds": 15,
      "partition_seconds": 3
    },
    {
      "index_code": "KK_BRR_BTCUSD",
      "start_period": "2025-01-07T22:00:58.271494Z",
      "end_period": "2025-03-24T21:29:22.526544Z",
      "exchanges": [
        "cbse",
        "gmni",
        "krkn",
        "lmax",
        "stmp"
      ],
      "window_seconds": 15,
      "partition_seconds": 3
    },
    {
      "index_code": "KK_BRR_ETHUSD",
      "start_period": "2025-03-24T21:04:22.523Z",
      "end_period": "2025-06-23T21:06:13.244716Z",
      "exchanges": [
        "cbse",
        "crco",
        "krkn",
        "lmax",
        "stmp"
      ],
      "window_seconds": 15,
      "partition_seconds": 3
    },
    {
      "index_code": "KK_BRR_ETHUSD",
      "start_period": "2025-01-07T22:00:58.271494Z",
      "end_period": "2025-03-24T21:29:22.526544Z",
      "exchanges": [
        "cbse",
        "crco",
        "krkn",
        "lmax",
        "stmp"
      ],
      "window_seconds": 15,
      "partition_seconds": 3
    }
  ],
  "result": "success"
}

Historical prices

What is this endpoint for?

This endpoint returns our historical values for our crypto Reference Rates. To subscribe to the live rate, please use . More information on the rates and its methodology can be found here.

Endpoint

https://us.market-api.kaiko.io/v2/data/index.v1/digital_asset_rates_price/{index_code}

Path Parameters

Parameter
Required
Description
Example

index_code

Yes

Parameter
Required
Description
Example
Field
Description
Example

Reference data - corporate actions

This endpoint offers supplementary corporate action reference data for any user subscribing to Reference Rates from the following asset classes:

  • Equity

The data covers stock and etf instrument types and includes dividends, stock splits, mergers, spin-offs, and other structural events that impact equity prices and trading.

The data can be used for price adjustment validations, corporate action tracking, and anticipating upcoming events that affect equity valuation.

Subscribe

How to configure a Reference Rate stream.

Get a live feed / 72-hour replay for any Reference Rate from the following asset classes:

  • Crypto

Parameter

About Kaiko Indices

Kaiko Indices provides innovative and trusted rates and indices solutions throughout the crypto industry. These underpin financial products for some of the most respected exchanges and issuers in the world, delivering a strong foundation to help them build, innovate, and grow.

Here, you will find everything you need to use Kaiko Indices solutions effectively.

Ending time in ISO 8601 (exclusive).

2023-01-26T00:00:00.000Z

parameters

No

boolean. If true, returns the underlying composition data of the rate such as exchanges and calculation window Default: false

detail

No

boolean. If true, returns the underlying partition data for each publication Default: false

page_size

No

(min: 1, default: 100, max: 5000). See

Automatically included in continuation tokens.

continuation_token

No

See

sort

No

Return the data in ascending (asc) or descending (desc) order. Default asc

Automatically included in continuation tokens.

price

Price of the reference rate at interval_end

67685.61363636363

parameters

Underlying composition data of the rate such as exchanges and calculation window

'asset': 'btc',

'exchanges': ['cbse', 'gmni', 'krkn', 'lmax', 'stmp'],

'calc_window': 300

detail

Underlying partition data for each publication including price, volume, trade count and underlying data of the trade selected from the partition.

'partition': 0,

'price': 67678,

'volume': 5.14445852,

'count': 125,

'underlying_trade': {'datetime': '2024-10-27T15:55:17.334Z',

'exchange': 'stmp',

The desired rate ticker

KK_BRR_BTCUSD

start_time

Yes

Starting time in ISO 8601 (inclusive).

2023-01-25T00:00:00.000Z

end_time

interval_start

Starting timestamp of calculation window

2023-01-25T01:01:00.000Z

interval_end

Ending timestamp of calculation window

2023-01-25T01:02:00.000Z

curl -X GET "https://us.market-api.kaiko.io/v2/data/index.v1/digital_asset_rates_price/KK_BRR_BTCUSD_LDN" \
  -H "X-API-KEY: $KAIKO_API_KEY" \
  -H "accept: application/json" \
  -G \
  --data-urlencode "start_time=2024-10-27T00:00:00.000Z" \
  --data-urlencode "end_time=2024-10-28T00:00:00.000Z" \
  --data-urlencode "parameters=True" \
  --data-urlencode "detail=True"

Query Parameters

Fields

Request examples

Response example

Yes

Parameter
Required
Description
Example

isins

No

List of Isin codes

["US78462F1030","US0378331005"]

start_ex_date

Field
Description

eventUniqueID

The unique event ID

eventId

The event ID of the corporation

actionType

The type of the action. The output can be , , , , , , , , , , ,

cURL requests are intended for testing purposes only.

grpcurl \
  -H "Authorization: Bearer $KAIKO_API_KEY" \
  -d '{
    "start_ex_date": "2026-02-01T00:00:00.000Z",
    "end_ex_date":   "2026-02-28T00:00:00.000Z"
  }' \
  gateway.equ.kaiko.io:443 \
  kaiko.equities.EquitiesService.CorporateActions

What is this endpoint for?

Endpoints

gateway.equ.kaiko.io:443 kaiko.equities.EquitiesService.CorporateActions
{
  "corporateActions": [
    {
      "eventUniqueId": "201010274603172",
      "eventId": "4603172",
      "actionType": "CASH_DIVIDEND",
      "ediEventCode": "DIV",
      "status": "UNKNOWN",
      "eventCreatedAt": "2026-02-07T05:00:00Z",
      "lastUpdatedAt": "2026-02-07T14:11:01Z",
      "caDetails": {
        "actionType": "CASH_DIVIDEND",
        "exDate": "2026-02-20T05:00:00Z",
        "recordDate": "2026-02-20T05:00:00Z",
        "paymentDate": "2026-03-19T04:00:00Z",
        "currency": "USD",
        "grossDividend": 0.68,
        "dividendType": "REGULAR"
      },
      "idDetails": {
        "isin": "US75513E1010",
        "ticker": "RTX",
        "issuerName": "RTX Corp",
        "exchangeMic": "XNYS",
        "bbgCompId": "BBG000BW8S60",
        "bbgCompTicker": "RTX US",
        "figi": "BBG000BW8TX8",
        "figiTicker": "RTX UN",
        "timezone": "America/New_York"
      }
    },
    {
      "eventUniqueId": "201010274577840",
      "eventId": "4577840",
      "actionType": "CASH_DIVIDEND",
      "ediEventCode": "DIV",
      "status": "UNKNOWN",
      "eventCreatedAt": "2026-01-27T15:00:00Z",
      "lastUpdatedAt": "2026-01-28T08:33:22Z",
      "caDetails": {
        "actionType": "CASH_DIVIDEND",
        "exDate": "2026-02-25T15:00:00Z",
        "recordDate": "2026-02-27T15:00:00Z",
        "currency": "KRW",
        "grossDividend": 1875,
        "dividendType": "REGULAR"
      },
      "idDetails": {
        "isin": "KR7000660001",
        "ticker": "000660",
        "issuerName": "SK Hynix Inc",
        "exchangeMic": "XKRX",
        "bbgCompId": "BBG000GQVT51",
        "bbgCompTicker": "000660 KS",
        "figi": "BBG000GQVTN1",
        "figiTicker": "000660 KP",
        "timezone": "Asia/Seoul"
      }
    },
    ...
  ]
}

Request fields

Response fields

Request examples

Response Example

Description
Examples

index_code

The Kaiko Benchmark Reference Rate ticker. You can find a full list of our tickers or by API .

KK_BRR_BTCUSD

Field
Description

indexCode

The ticker identifying the rate.

commodity

The type of publication. Either real-time or fixings

interval

The time period in which transaction data are considered for the calculation of the rate. If a rate's calculation methodology has an interval of 15 seconds, startTime and endTime will be separated by 15s.

This example demonstrates how to request historical data using replay. The maximum amount of data you can request for one replay cannot exceed a total of 24 hours in hours, seconds, and minutes. Replay data is available on a 72-hour rolling basis and should only be used to retrieve missed data. If full history is required, please use Rest API or CSV deployment methods.

cURL requests are intended for testing purposes only.

curl -X POST "https://gateway-v0-http.kaiko.ovh/api/stream/index_v1" -H "accept: application/json" -H "X-Api-Key: $KAIKO_API_KEY" -H "Content-Type: application/json" -d "{\"indexCode\": \"KK_BRR_BTCUSD\"}"

For more advanced users, you can access our full SDK , where you'll find more coding languages, examples and guidance.

What is this endpoint for?

Endpoints

gateway-v0-grpc.kaiko.ovh
gateway-v0-http.kaiko.ovh
https://gateway-v0-http.kaiko.ovh/api/stream/index_v1

Request parameters

{
  "result": {
    "indexCode": "KK_BRR_BTCUSD_LDNLF",
    "commodity": "SIC_DAILY_FIXING",
    "interval": {
      "startTime": "2026-03-15T15:55:00Z",
      "endTime": "2026-03-15T16:00:00Z"
    },
    "quote": "usd",
    "bases": [
      {
        "asset": "btc",
        "weight": 1
      }
    ],
    "exchanges": [
      "crco",
      "gmni",
      "krkn",
      "lmax",
      "stmp"
    ],
    "percentages": [
      {
        "percentage": 1,
        "price": 71504.35309090909,
        "pairs": [
          {
            "pair": "btc-usd",
            "weight": 1,
            "instruments": [
              {
                "partition": "0",
                "price": 71494,
                "volume": 0.19981715,
                "count": "12",
                "underlyingTrade": {
                  "volume": 0.04441,
                  "exchange": "crco",
                  "id": "1773590109095301942",
                  "datetime": "2026-03-15T15:55:09.095Z"
                }
              },
              {
                "partition": "1",
                "price": 71499.01,
                "volume": 0.9988525499999997,
                "count": "59",
                "underlyingTrade": {
                  "volume": 0.03,
                  "exchange": "crco",
                  "id": "1773590139013290780",
                  "datetime": "2026-03-15T15:55:39.013Z"
                }
              },
              {
                "partition": "2",
                "price": 71521.99,
                "volume": 7.455164940000001,
                "count": "85",
                "underlyingTrade": {
                  "volume": 0.06718,
                  "exchange": "crco",
                  "id": "1773590166944032527",
                  "datetime": "2026-03-15T15:56:06.944Z"
                }
              },
              {
                "partition": "3",
                "price": 71520.55,
                "volume": 0.65069622,
                "count": "38",
                "underlyingTrade": {
                  "volume": 0.07051,
                  "exchange": "crco",
                  "id": "1773590209541279735",
                  "datetime": "2026-03-15T15:56:49.541Z"
                }
              },
              {
                "partition": "6",
                "price": 71499,
                "volume": 0.33936496,
                "count": "51",
                "underlyingTrade": {
                  "volume": 0.03062718,
                  "exchange": "krkn",
                  "id": "97190194",
                  "datetime": "2026-03-15T15:58:23.269434Z"
                }
              },
              {
                "partition": "7",
                "price": 71485.44,
                "volume": 0.96415299,
                "count": "85",
                "underlyingTrade": {
                  "volume": 0.05482,
                  "exchange": "crco",
                  "id": "1773590318011259597",
                  "datetime": "2026-03-15T15:58:38.011Z"
                }
              },
              {
                "partition": "4",
                "price": 71520,
                "volume": 2.8886697400000005,
                "count": "85",
                "underlyingTrade": {
                  "volume": 0.1,
                  "exchange": "stmp",
                  "id": "547083599",
                  "datetime": "2026-03-15T15:57:29Z"
                }
              },
              {
                "partition": "8",
                "price": 71500.79,
                "volume": 0.88407981,
                "count": "50",
                "underlyingTrade": {
                  "volume": 0.03509,
                  "exchange": "crco",
                  "id": "1773590342864005707",
                  "datetime": "2026-03-15T15:59:02.864Z"
                }
              },
              {
                "partition": "9",
                "price": 71499.56,
                "volume": 0.57279782,
                "count": "43",
                "underlyingTrade": {
                  "volume": 0.06,
                  "exchange": "crco",
                  "id": "1773590373299603299",
                  "datetime": "2026-03-15T15:59:33.299Z"
                }
              },
              {
                "partition": "5",
                "price": 71520,
                "volume": 2.172445329999999,
                "count": "97",
                "underlyingTrade": {
                  "volume": 0.06991051,
                  "exchange": "stmp",
                  "id": "547083602",
                  "datetime": "2026-03-15T15:57:30.071Z"
                }
              }
            ]
          }
        ]
      }
    ],
    "tsEvent": "2026-03-15T16:00:00.806764411Z",
    "sequenceId": "d6rdf01r6s9c72s1gun0",
    "lastIngestTime": "2026-03-15T15:59:59.822071833Z",
    "lastAnomalyIngestTime": null,
    "fallbackInfo": {
      "fallbackUsed": false
    }
  }
}

Requesting multiple tickers at the same time To configure multiple tickers in the same stream, provide the indexCode as a comma-separated list, e.g. KK_PR_BTCUSD,KK_AAVE_USD

Alternatively, use a wildcard by entering a * ,and you'll receive all tickers you have as part of you Kaiko subscription.

Response fields

Request examples

Response Example

Trusted Rates and Indices for Financial Professionals

For any customers still using formerly Vinter APIs, please visit the dedicated section .

'volume': 0.20137745,

'id': '366038625'}

Pagination
Pagination
,
,
.

No

Start date of exDate in ISO 8601 (exclusive).

2023-01-26T00:00:00.000Z

end_ex_date

No

End date of exDate in ISO 8601 (exclusive).

2023-01-26T00:00:00.000Z

ediEventCode

The event identifier.

status

The status of the action. The response can be UPCOMING, ACTIVE, COMPLETED, HISTORICAL, UNKNOWN.

eventCreatedAt

The UTC datetime that the event is created

lastUpdatedAt

The UTC datetime that the event is updated

caDetails

The details of the action

.actionType

The type of the action

.exDate

The UTC datetime of the first trading day when the equity is trading without the right in question.

.recordDate

The UTC datetime when the records are checked to identify the eligible recipients of a specific corporate action.

.paymentDate

The UTC datetime when the action is executed.

.dividendType

The type of dividend. The response can be REGULAR, SPECIAL, INTERIM, FINAL

idDetails

The details of the underlying security

.isin

The International Securities Identification Number (ISIN) code

.ticker

The asset identifier in the local exchanges

.issuerName

The name of the issuer

.exchangeMic

The Market Identifier Code (MIC) where the asset is traded on

.bbgCompId

The issuer ID on Bloomberg

.bbgCompTicker

The issuer Ticker on Bloomberg

.figi

The Financial Instrument Global Identifier (FIGI) code

.figiTicker

The Financial Instrument Global Identifier (FIGI) ticker

.timezone

The IANA timezone of the main trading venue

CASH_DIVIDEND
STOCK_DIVIDEND
BONUS
STOCK_SPLIT
REVERSE_SPLIT
MERGER
TAKEOVER
SPINOFF
CAPITAL_REDUCTION
RIGHTS_ISSUE
ENTITLEMENT
DISTRIBUTION

quote

The quote asset used for the rate denomination.

bases

The list of base assets included in the rate and their weight. For reference rates, this will always be a single asset.

exchanges

The exchanges involved in the computation. This list may change every quarter during the rebalancing period and depending on the new results of the Kaiko Exchange Ranking.

percentages

The different distribution levels included in the price computation.

price

The value of the rate in the quote denomination.

pairs

The list of pairs combined with additional details included in the computation.

tsEvent

The exact time of price publication.

sequenceId

A unique identifier for the publication.

lastIngestTime

The timestamp of the last trade ingested and used in the rate computation.

lastAnomalyIngestTime

The timestamp of the last anomaly detected during ingestion.

fallbackInfo

An object containing fallback information

here
here
RETURN_OF_CAPITAL
DELISTING

Subscribe

How to configure a Kaiko multi-asset rate stream.

What is this endpoint for?

Monitor the overall performance of specific buckets of assets. The indices combine several data sources to summarize market performance. They can be used to aid the issuance of derivatives contracts or investment vehicles by providing pricing for settlement. You can see our full list of indices here and learn more about their performance in our factsheet.

Endpoints

gateway-v0-grpc.kaiko.ovh
gateway-v0-http.kaiko.ovh
https://gateway-v0-http.kaiko.ovh/api/stream/index_multi_assets_v1

Request parameters

Parameter
Description
Examples
Field
Description

This example demonstrates how to request historical data using replay. The maximum amount of data you can request for one replay cannot exceed a total of 24 hours in hours, seconds, and minutes. Replay data is available on a 72-hour rolling basis and should only be used to retrieve missed data. If full history is required, please use Rest API or CSV deployment methods.

cURL requests are intended for testing purposes only.

mainQuote

is the quote asset used for the index denomination.

compositions

The list of underlying data used to calculate the index price.

  • underlyingInstrument

The ticker for the Kaiko Reference Rate(s) used to calculate the multi-asset index.

  • base

The base asset for the used Reference Rate.

  • quote

The quote asset for the used Reference Rate

  • Exchanges

The exchanges used to calculate the Reference Rate.

  • insturmentInterval

The startTime and endTime of the calculation period for the specific Reference Rate.

  • tsEvent

The time the rate was published by Kaiko.

price

Information on the pricing for the index.

  • indexValue

The value for the index publication.

pairs

The pricing details of the underlying Kaiko Reference Rates used in the calculation.

  • underlyingPrice

The published price of the Reference Rate.

  • weightingFactor

The weighting of the Reference Rate to the index.

  • cappingFactor

The capping of the Reference Rate to the index.

  • currencyConversionFactor

The conversion factor used in the Reference Rate for the index.

tsEvent

The theoretical time of price publication

tsCompute

The exact time of price computation.

For more advanced users, you can access our full SDK here, where you'll find more coding languages, examples and guidance.

index_code

The Indices ticker. You can find a full list of our tickers here.

KT5

indexCode

The ticker identifying the index.

commodity

The type of publication. Either real-time or fixings

interval

The time period in which transaction data are considered for the calculation of the index. If an index's calculation methodology has an interval of 15 seconds, startTime and endTime will be separated by 15s.

curl -X POST "https://gateway-v0-http.kaiko.ovh/api/stream/index_multi_assets_v1" -H "accept: application/json" -H "X-Api-Key: $KAIKO_API_KEY" -H "Content-Type: application/json" -d "{\"indexCode\": \"KT5\"}"
{
  "commodity": "SIC_REAL_TIME",
  "indexCode": "KT5",
  "interval": {
    "startTime": "2024-08-12T14:23:55Z",
    "endTime": "2024-08-12T14:29:00Z"
  },
  "mainQuote": "usd",
  "compositions": [
    {
      "underlyingInstrument": "KK_RFR_AVAXUSD",
      "base": "avax",
      "quote": "usd",
      "exchanges": [
        "bfnx",
        "cbse",
        "krkn",
        "stmp"
      ],
      "instrumentInterval": {
        "startTime": "2024-08-12T14:23:55Z",
        "endTime": "2024-08-12T14:28:55Z"
      },
      "currencyConversion": "none",
      "tsEvent": "2024-08-12T14:28:56.074863348Z"
    },
    {
      "underlyingInstrument": "KK_RFR_BTCUSD",
      "base": "btc",
      "quote": "usd",
      "exchanges": [
        "bfnx",
        "cbse",
        "krkn",
        "lmax",
        "stmp"
      ],
      "instrumentInterval": {
        "startTime": "2024-08-12T14:24:00Z",
        "endTime": "2024-08-12T14:29:00Z"
      },
      "currencyConversion": "none",
      "tsEvent": "2024-08-12T14:29:01.087284434Z"
    },
    {
      "underlyingInstrument": "KK_RFR_ETHUSD",
      "base": "eth",
      "quote": "usd",
      "exchanges": [
        "bfnx",
        "cbse",
        "krkn",
        "lmax",
        "stmp"
      ],
      "instrumentInterval": {
        "startTime": "2024-08-12T14:23:55Z",
        "endTime": "2024-08-12T14:28:55Z"
      },
      "currencyConversion": "none",
      "tsEvent": "2024-08-12T14:28:56.142347541Z"
    },
    {
      "underlyingInstrument": "KK_RFR_SOLUSD",
      "base": "sol",
      "quote": "usd",
      "exchanges": [
        "bfnx",
        "cbse",
        "gmni",
        "krkn",
        "stmp"
      ],
      "instrumentInterval": {
        "startTime": "2024-08-12T14:24:00Z",
        "endTime": "2024-08-12T14:29:00Z"
      },
      "currencyConversion": "none",
      "tsEvent": "2024-08-12T14:29:00.784958075Z"
    },
    {
      "underlyingInstrument": "KK_RFR_XRPUSD",
      "base": "xrp",
      "quote": "usd",
      "exchanges": [
        "cbse",
        "indr",
        "krkn",
        "lmax",
        "stmp"
      ],
      "instrumentInterval": {
        "startTime": "2024-08-12T14:23:55Z",
        "endTime": "2024-08-12T14:28:55Z"
      },
      "currencyConversion": "none",
      "tsEvent": "2024-08-12T14:28:55.988918370Z"
    }
  ],
  "price": {
    "indexValue": 334.99947165068875,
    "divisor": 26979870988.68237,
    "pairs": [
      {
        "underlyingInstrument": "KK_RFR_AVAXUSD",
        "underlyingPrice": 21.333163636363636,
        "weightingFactor": 17278580619.32558,
        "cappingFactor": 1.0,
        "currencyConversionFactor": 1.0
      },
      {
        "underlyingInstrument": "KK_RFR_BTCUSD",
        "underlyingPrice": 59699.73163636363,
        "weightingFactor": 390312772.9127332,
        "cappingFactor": 0.119856816159272,
        "currencyConversionFactor": 1.0
      },
      {
        "underlyingInstrument": "KK_RFR_ETHUSD",
        "underlyingPrice": 2680.1494545454543,
        "weightingFactor": 2288124768.3108406,
        "cappingFactor": 0.373375636405882,
        "currencyConversionFactor": 1.0
      },
      {
        "underlyingInstrument": "KK_RFR_SOLUSD",
        "underlyingPrice": 147.37236363636362,
        "weightingFactor": 17542805404.323048,
        "cappingFactor": 1.0,
        "currencyConversionFactor": 1.0
      },
      {
        "underlyingInstrument": "KK_RFR_XRPUSD",
        "underlyingPrice": 0.5706330909090909,
        "weightingFactor": 1755466226611.777,
        "cappingFactor": 1.0,
        "currencyConversionFactor": 1.0
      }
    ]
  },
  "tsEvent": "2024-08-12T14:29:00Z",
  "tsCompute": "2024-08-12T14:29:05.210675561Z"
}

Requesting multiple tickers at the same time To configure multiple tickers in the same stream, provide the indexCode as a comma-separated list eg KT5,KT10NYC Alternatively, use a wildcard by entering a * and you'll receive all tickers you have as part of your Kaiko subscription.

Response fields

Request examples

Response Example

FOREX conversion

Convert your USD reference rate into a currency of your choosing.

What is this endpoint for?

This endpoint retrieves a Reference Rate and converts it from USD into a local currency of your choosing using Forex Reference Rate as the source. This endpoint is for the following asset classes:

  • Equity

  • Fixed income

  • Foreign exchange

  • Commodities

  • Real estate

  • Digital assets

Available currencies: EUR / GBP / CHF / JPY / KRW / CAD / CNH / CNY / SGD / MXN / BRL

Parameter
Description
Examples
Parameter
Description
Examples
Field
Description

cURL requests are intended for testing purposes only.

Reference data - market calendar and trading sessions

This endpoint offers supplementary market calendar and trading session reference data for user subscribing to Reference Rates from the following asset classes:

  • Equity (unless "instrument type" is "futures")

  • Fixed income

Kaiko Stream

end_time

Start date of exDate in ISO 8601 (inclusive).

2026-04-22T05:04:33.000Z

composition

.underlying

.name

The ticker identifying the Reference Rate

.price

The price of original Reference Rate publication.

.tsEvent

The exact time of original Reference Rate publication.

.fxRate

.name

The ticker identifying the forex Reference Rate

.price

The price of forex Reference Rate publication

.tsEvent

The exact time of forex Reference Rate publication

index_code

The Kaiko Capital Market Reference Rate ticker. You can find a full list of our tickers here.

"KK_RFR_AAPLUSD_EUR"

index_codes

The list of Kaiko Reference Rate ticker. You can find a full list of our tickers here.

KK_RFR_AAPLUSD

start_time

Start date of exDate in ISO 8601 (exclusive).

2026-04-22T05:04:32.000Z

indexCode

The ticker identifying the rate.

price

The price of the Reference Rate in the converted currency.

tsEvent

The exact time of converted reference rate publication.

Endpoints

gateway.equ.kaiko.io:443 kaiko.equities.EquitiesService/StreamForexRates
gateway.equ.kaiko.io:443 kaiko.equities.EquitiesService/ReplayForexRates

Request parameters

Requesting multiple tickers at the same time To configure multiple tickers in the same stream, provide the index_codes as a comma separated list eg ["KK_RFR_AAPLUSD_EUR", "KK_RFR_A005930KRW_USD"]

Stream

Replay

Response fields

Request examples

Response Example

grpcurl \
  -H "Authorization: Bearer $KAIKO_API_KEY" \
  -d '{"index_codes":["KK_RFR_A005930KRW_USD"]}' \
  gateway.equ.kaiko.io:443 \
  kaiko.equities.EquitiesService/StreamForexRates
grpcurl
  -H "Authorization: Bearer $KAIKO_API_KEY" \
  -d '{
    "index_codes": ["KK_RFR_A005930KRW_USD"],
    "start_time": "2026-05-18T02:00:00Z",
    "end_time": "2026-05-18T02:00:05Z"
  }' \
  gateway.equ.kaiko.io:443 \
  kaiko.equities.EquitiesService/ReplayForexRates
{
  "indexCode": "KK_RFR_A005930KRW_USD",
  "price": 187.37048153198643,
  "tsEvent": "2026-05-18T02:00:04.376377752Z",
  "composition": {
    "underlying": {
      "name": "KK_RFR_A005930KRW",
      "price": 282056.2806693604,
      "tsEvent": "2026-05-18T02:00:04.358065922Z"
    },
    "fxRate": {
      "name": "KK_RFR_USDKRW",
      "price": 1505.34,
      "tsEvent": "2026-05-18T02:00:03.512848896Z"
    }
  }
Foreign exchange
  • Commodities

  • Real estate

  • Digital assets

  • Data is sourced from TradingHours.com and maintained by Kaiko, with updates when new exchanges are onboarded.

    gateway.equ.kaiko.io:443 kaiko.equities.EquitiesService/MarketCalendarV2
    Parameter
    Required
    Description
    Example

    start_date

    Yes

    Start date (yyyy-mm-dd) Cannot be earlier than 1 month before today.

    2026-03-31

    end_date

    timezone

    IANA timezone of the exchange.

    asset_class

    Asset class of the returned data.

    data

    List of daily market calendar entries.

    .date

    Date of the entry (yyyy-mm-dd).

    cURL requests are intended for testing purposes only.

    grpcurl \
      -H "Authorization: Bearer $EQUITY_KAIKO_KEY"\
      -d '{
        "start_date": "2026-05-19",
        "end_date": "2026-05-20",
        "asset_calendar": "equities",
        "region": "America/New_York"
      }' \
      gateway.equ.kaiko.io:443 kaiko.equities.EquitiesService/MarketCalendarV2
    

    What is this endpoint for?

    {
      "marketCalendars": [
        {
          "timezone": "America/New_York",
          "data": [
            {
              "date": "2026-05-19",
              "marketMics": [
                "BOAT",
                "XNAS",
                "XNYS"
              ],
              "status": "OPEN_REGULAR",
              "isTradingDay": true,
              "isRegularTradingDay": true,
              "nextRegularTradingDay": "2026-05-20T00:00:00-04:00",
              "sessionSchedule": [
                {
                  "exchanges": [
                    "XNAS",
                    "XNYS"
                  ],
                  "phaseType": "Pre-Trading Session",
                  "description": "Opening Session",
                  "start": "2026-05-19T04:00:00-04:00",
                  "end": "2026-05-19T09:30:00-04:00",
                  "isTrading": true
                },
                {
                  "exchanges": [
                    "XNAS",
                    "XNYS"
                  ],
                  "phaseType": "Primary Trading Session",
                  "description": "Core Trading Session",
                  "start": "2026-05-19T09:30:00-04:00",
                  "end": "2026-05-19T16:00:00-04:00",
                  "isTrading": true
                },
                {
                  "exchanges": [
                    "XNAS",
                    "XNYS"
                  ],
                  "phaseType": "Post-Trading Session",
                  "description": "Extended Trading Close",
                  "start": "2026-05-19T16:00:00-04:00",
                  "end": "2026-05-19T20:00:00-04:00",
                  "isTrading": true
                },
                {
                  "exchanges": [
                    "BOAT"
                  ],
                  "phaseType": "Overnight Trading Session",
                  "description": "Overnight Trading Session",
                  "start": "2026-05-19T20:00:00-04:00",
                  "end": "2026-05-20T04:00:00-04:00",
                  "isTrading": true
                }
              ]
            },
            {
              "date": "2026-05-20",
              "marketMics": [
                "BOAT",
                "XNAS",
                "XNYS"
              ],
              "status": "OPEN_REGULAR",
              "isTradingDay": true,
              "isRegularTradingDay": true,
              "previousRegularTradingDay": "2026-05-19T00:00:00-04:00",
              "sessionSchedule": [
                {
                  "exchanges": [
                    "XNAS",
                    "XNYS"
                  ],
                  "phaseType": "Pre-Trading Session",
                  "description": "Opening Session",
                  "start": "2026-05-20T04:00:00-04:00",
                  "end": "2026-05-20T09:30:00-04:00",
                  "isTrading": true
                },
                {
                  "exchanges": [
                    "XNAS",
                    "XNYS"
                  ],
                  "phaseType": "Primary Trading Session",
                  "description": "Core Trading Session",
                  "start": "2026-05-20T09:30:00-04:00",
                  "end": "2026-05-20T16:00:00-04:00",
                  "isTrading": true
                },
                {
                  "exchanges": [
                    "XNAS",
                    "XNYS"
                  ],
                  "phaseType": "Post-Trading Session",
                  "description": "Extended Trading Close",
                  "start": "2026-05-20T16:00:00-04:00",
                  "end": "2026-05-20T20:00:00-04:00",
                  "isTrading": true
                },
                {
                  "exchanges": [
                    "BOAT"
                  ],
                  "phaseType": "Overnight Trading Session",
                  "description": "Overnight Trading Session",
                  "start": "2026-05-20T20:00:00-04:00",
                  "end": "2026-05-21T04:00:00-04:00",
                  "isTrading": true
                }
              ]
            }
          ],
          "assetClass": "equities"
        }
      ]
    }
    

    Endpoints

    Request fields

    Response fields

    Request examples

    Response Example

    Replication data

    Identify the underlying trades used to calculate each rate publication

    What is this endpoint for?

    Crypto Reference Rates are available exclusively through our Stream Service. This helps you identify the underlying trades used to calculate each publication. Simply take the sequence_id field from any published rate you receive via Stream, and query this endpoint. The endpoint then generates a URL to query our endpoint where you'll see all the trades.

    We support publications for up to 72 hours using this endpoint. If you require the trades for a rate published more than 72 hours ago, contact our operations team.

    Endpoint

    https://us.market-api.kaiko.io/v1/data/index_replication.v1/rates

    Request parameters

    Parameter
    Required
    Description
    Example
    Field
    Description
    Example

    Staking indices

    This endpoint is used for staking indices, which are custom products whose value is derived from a combination of price data and yield data. The underlying quantity increases daily according to the APR of the asset, and the index value is obtained by multiplying the quantity by the asset price.

    Parameter
    Description
    Examples

    Reference data

    This endpoint returns a list of all our Reference Rates for the following asset classes:

    • Crypto

    No parameters supported

    Field
    Description

    API Key

    You'll need to provide your API Key to access Kaiko Indices services.

    Include your API key in your access credentials - see the code examples provided.

    When using REST API, include your API key in the header - see the code examples provided.

    Yes

    End date (yyyy-mm-dd) Cannot be later than 1 month before today.

    2026-04-01

    asset_class

    Yes (one of)

    Asset class of the market to filter and aggregate results by.

    equities, future

    asset_calendar

    Yes (one of)

    Asset calendar of the market to filter and aggregate results by. Relevant input for each rate is available in reference data.

    gold, oil

    region

    No

    IANA timezone string to filter and aggregate results by the timezone.

    America/New_York, Asia/Hong_Kong, Asia/Seoul

    exch

    No

    List of exchange MIC codes

    ["XNYS", "BOAT"]

    Supported exchanges: "XNYS", "XNAS", "BOAT" , "XKRX", "XHKG"

    status

    No

    List of trading statuses

    ["OPEN_REGULAR", "OPEN_IRREGULAR"]

    is_holiday

    No

    When set to true, returns only dates designated as holidays. When set to false, returns only non-holiday dates.

    true

    .marketMics

    List of exchange MIC codes included in the returned data.

    .status

    Trading status for the date.

    • OPEN_REGULAR : If it is regular trading day

    • OPEN_IRREGULAR : If there is any time changes

    • CLOSED : If it is closed

    .isHoliday

    true if the date is a weekend or public holiday.

    .isTradingDay

    true if the status is OPEN_REGULAR or OPEN_IRREGULAR.

    .isRegularTradingDay

    true if the session schedule includes a Primary Trading Session.

    .reason

    Description of the holiday or irregular closure. Empty on regular trading days.

    .previousRegularTradingDay

    Most recent regular trading day within the query range.

    .nextRegularTradingDay

    Next regular trading day within the query range.

    .sessionSchedule

    List of trading sessions for the date. Empty if the market is closed.

    .exchanges

    MIC code of the exchange for this session.

    .phase_type

    Type of trading session (e.g. Primary Trading Session, Overnight Trading Session).

    .description

    Detailed description of the session phase.

    .start

    Session start time in local time

    .end

    Session end time in local time

    .is_trading

    true if trading activity occurs during this session.

    Using Kaiko Stream

    Using REST API

    ticker

    The ticker of the rate.

    long_name

    Extensive name format of the rate issued

    short_name

    Short name format of the rate issued

    type

    Category to which the rate belongs . i.e . Reference Rate or Benchmark Reference Rate

    dissemination

    Frequency of publication of the rate

    quote

    Long and short name of the quote asset

    base

    Long and short name of the base asset

    pair

    Asset pair represented by the rate.

    launch_date

    Date when the rate was launched and entered into production.

    inception_date

    Earliest effective date of historical data for a rate.

    brand

    Qualifies if the rate is issued from a partnership or from Kaiko standard offer.

    isin

    The ISIN code of the rate

    exposition

    "Public" : Indicates that it is open reference data accessible to all users.

    What is this endpoint for?

    Endpoint

    Request parameters

    Response Fields

    Request example

    Response example

    curl --compressed -H 'Accept: application/json' 'https://us.market-api.kaiko.io/v2/data/index_reference_data.v1/rates'
    
    {'query': {'data_version': 'v1', 'commodity': 'indices', 'request_time': ''},
     'time': '2024-10-28T09:11:18.832Z',
     'timestamp': 1730106678832,
     'data': [{'ticker': 'KK_RFR_KNCUSD_SGP',
       'long_name': 'Kaiko KNC Reference_Rate Daily Fixing SGP',
       'short_name': 'Kaiko KNC Reference_Rate SGP',
       'type': 'Reference_Rate',
       'dissemination': 'Daily Fixing SGP',
       'quote': {'short_name': 'usd', 'long_name': 'United States Dollar'},
       'base': {'short_name': 'knc', 'long_name': 'Kyber Network'},
       'pair': 'knc-usd',
       'launch_date': '2024-03-04T00:00:00Z',
       'inception_date': '2024-03-04T00:00:00Z',
       'brand': 'Kaiko',
       'isin': 'NA',
       'exposition': 'Public'},
      ...],
     'result': 'success'}
    https://us.market-api.kaiko.io/v2/data/index_reference_data.v1/rates

    sequenceID

    The publication ID to explore. A publication is defined by event occurring on a specific instrument at a given point in time. Publication IDs can be retrieved from response.

    cnb0k3vvavm8ib6863qg

    underlying_data

    List of links to specific pre-filtered queries on the Rest API trades endpoint for the selected SequenceID.

    [ "https://us.market-api.kaiko.io/v3/data/trades.v1/exchanges/bfnx/spot/btc-usd/trades?start_time=2024-02-21T14:29:55.000Z&end_time=2024-02-21T14:34:55.000Z&index_inserted_at=2024-02-21T14:34:50.863ZZ&sort=asc", "https://us.market-api.kaiko.io/v3/data/trades.v1/exchanges/cbse/spot/btc-usd/trades?start_time=2024-02-21T14:29:55.000Z&end_time=2024-02-21T14:34:55.000Z&index_inserted_at=2024-02-21T14:34:50.863ZZ&sort=asc"]

    sequence_id

    Yes

    List of publication ID to explore. A publication is defined by event occurring on a specific instrument at a given point in time. Publication IDs can be retrieved from your index response.

    cmrqt2dugrtbh9jbhlk0,cmt40b74tfbpmrtbk180

    sort

    No

    If asc, sort time-series in ascending. If desc, sort time-series in descending.

    asc

    page_size

    No

    See pagination

    Min: 1 Max: 100 Default: 10

    100

    index_code

    Ticker identifying the rate.

    KK_PR_BTCUSD

    index_type

    Type of publication: real-time or fixings.

    SIC_REAL_TIME

    curl --compressed \
      -H 'Accept: application/json' \
      -H 'X-Api-Key: <client-api-key>' \
      'https://us.market-api.kaiko.io/v1/data/index_replication.v1/rates?sequence_id=csibfhkth8ejovmc3fcg'
    import http.client
    import json
    
    # Enter your Kaiko API Key
    api_key = "KAIKO_API_KEY"
    api_host = "us.market-api.kaiko.io"
    api_base_endpoint = "/v1/data/index_replication.v1/rates"
    # Start of mandatory parameter configuration
    mandatory_params = {
        "sequence_id": "csibfhkth8ejovmc3fcg",
    }
    # End of mandatory parameter configuration
    # Start of optional parameter configuration
    optional_params = {
            "sort": "asc",
    }
    # End of optional parameter configuration
    conn = http.client.HTTPSConnection(api_host)
    headers = {
        "X-Api-Key": api_key,
        "Accept": "application/json"
    }
    
    all_params = {**mandatory_params, **optional_params}
    
    url_params = []
    for param, value in all_params.items():
        url_params.append(f"{param}={value}")
    url_params = '&'.join(url_params)
    
    endpoint_with_params = f"{api_base_endpoint}?{url_params}"
    
    # Pagination for next pages
    all_data = []
    next_url = endpoint_with_params
    while next_url:
        conn.request("GET", next_url, headers=headers)
        response = conn.getresponse()
        data = json.loads(response.read().decode("utf-8"))
        all_data.extend(data.get("data", []))
        print(f"Fetched {len(data.get('data', []))} datapoints. Total: {len(all_data)}")
        next_url = data.get("next_url", "").replace("https://us.market-api.kaiko.io", "")
        if not next_url:
            break
    conn.close()
    print(f" datapoints fetched: {(all_data)}")
    {
        "time": "2024-11-01T11:18:09.931Z",
        "timestamp": 1730459889931,
        "data": [
            {
                "index_code": "KK_BRR_BTCUSD",
                "index_type": "SIC_REAL_TIME",
                "sequence_id": "csibfhkth8ejovmc3fcg",
                "underlying_data": [
                    "https://us.market-api.kaiko.io/v3/data/trades.v1/exchanges/cbse/spot/btc-usd/trades?start_time=2024-11-01T11:12:55Z&end_time=2024-11-01T11:13:10Z&index_inserted_at=2024-11-01T11:13:09.839473378Z&sort=asc",
                    "https://us.market-api.kaiko.io/v3/data/trades.v1/exchanges/gmni/spot/btc-usd/trades?start_time=2024-11-01T11:12:55Z&end_time=2024-11-01T11:13:10Z&index_inserted_at=2024-11-01T11:13:09.839473378Z&sort=asc",
                    "https://us.market-api.kaiko.io/v3/data/trades.v1/exchanges/krkn/spot/btc-usd/trades?start_time=2024-11-01T11:12:55Z&end_time=2024-11-01T11:13:10Z&index_inserted_at=2024-11-01T11:13:09.839473378Z&sort=asc",
                    "https://us.market-api.kaiko.io/v3/data/trades.v1/exchanges/lmax/spot/btc-usd/trades?start_time=2024-11-01T11:12:55Z&end_time=2024-11-01T11:13:10Z&index_inserted_at=2024-11-01T11:13:09.839473378Z&sort=asc",
                    "https://us.market-api.kaiko.io/v3/data/trades.v1/exchanges/stmp/spot/btc-usd/trades?start_time=2024-11-01T11:12:55Z&end_time=2024-11-01T11:13:10Z&index_inserted_at=2024-11-01T11:13:09.839473378Z&sort=asc"
                ]
            }
        ],
        "result": "success",
        "continuation_token": "",
        "next_url": "",
        "access": {
            "access_range": {
                "start_timestamp": 1454284800000,
                "end_timestamp": null
            },
            "data_range": {
                "start_timestamp": null,
                "end_timestamp": null
            }
        }
    }

    Response fields

    Request example

    Response example

    index_code

    The ticker of the staking rate

    KAIKO_STK_ETHUSD_LDNLF

    Field
    Description

    indexCode

    The ticker identifying the staking index.

    commodity

    The publication type.

    interval

    A nested object containing the requested time interval.

    Make sure to read our before starting.

     # This is a code example. Configure your parameters below #
    
    from __future__ import print_function
    
    import logging
    import os
    
    import grpc
    
    from google.protobuf.json_format import MessageToJson
    
    from kaikosdk import sdk_pb2_grpc
    from kaikosdk.stream.staking_rates_v1 import request_pb2 as pb_staking_rates
    
    
    def staking_rates_v1_request(channel: grpc.Channel):
        try:
            with channel:
                stub = sdk_pb2_grpc.StreamStakingRatesServiceV1Stub(channel)
    
                responses = stub.Subscribe(pb_staking_rates.StreamStakingRatesServiceRequestV1(
                    index_code="KK_STK_ETHUSD_LDNLF"
                ))
    
                for response in responses:
                    print("Received message %s" % (MessageToJson(response, including_default_value_fields=True)))
    
        except grpc.RpcError as e:
            print(e.details(), e.code())
    
    
    def run():
        credentials = grpc.ssl_channel_credentials(root_certificates=None)
        call_credentials = grpc.access_token_call_credentials(os.environ['KAIKO_API_KEY'])
        composite_credentials = grpc.composite_channel_credentials(credentials, call_credentials)
        channel = grpc.secure_channel('gateway-v0-grpc.kaiko.ovh', composite_credentials)
    
        staking_rates_v1_request(channel)
    
    
    if __name__ == '__main__':
        logging.basicConfig()
        run()
    # This is a code example. Configure your parameters below #
    
    from __future__ import print_function
    
    from datetime import datetime, timedelta
    import logging
    import os
    
    from google.protobuf.timestamp_pb2 import Timestamp
    import grpc
    
    from google.protobuf.json_format import MessageToJson
    
    from kaikosdk import sdk_pb2_grpc
    from kaikosdk.stream.staking_rates_v1 import request_pb2 as pb_staking_rates
    
    
    def staking_rates_v1_request(channel: grpc.Channel):
        try:
            # start of date configuration #
            start = Timestamp()
            start.FromDatetime(datetime.utcnow() - timedelta(days=3))
            end = Timestamp()
            end.FromDatetime(datetime.utcnow())
            # end of date configuration #
    
            stub = sdk_pb2_grpc.StreamStakingRatesServiceV1Stub(channel)
    
            responses = stub.Subscribe(pb_staking_rates.StreamStakingRatesServiceRequestV1(
                index_code="KK_STK_ETHUSD_LDNLF",
                interval={
                    'start_time': start,
                    'end_time': end
                }
            ))
    
            for response in responses:
                print("Received message %s" % (MessageToJson(response, including_default_value_fields=True)))
    
        except grpc.RpcError as e:
            print(e.details(), e.code())
    
    
    def run():
        credentials = grpc.ssl_channel_credentials(root_certificates=None)
        call_credentials = grpc.access_token_call_credentials(os.environ['KAIKO_API_KEY'])
        composite_credentials = grpc.composite_channel_credentials(credentials, call_credentials)
        channel = grpc.secure_channel('gateway-v0-grpc.kaiko.ovh', composite_credentials)
    
        staking_rates_v1_request(channel)
    
    
    if __name__ == '__main__':
        logging.basicConfig()
        run()

    cURL requests are intended for testing purposes only.

    curl -X POST "https://gateway-v0-http.kaiko.ovh/api/stream/staking_rates_v1" -H  "accept: application/json" -H  "X-Api-Key: $MARKET_DATA_API_KEY" -H  "Content-Type: application/json" -d '{  "indexCode": "KK_STK_ETHUSD_LDNLF", "interval": { "startTime": "2026-04-21T11:00:00Z", "endTime": "2026-04-24T22:00:00Z" } }'

    What is this endpoint for?

    Endpoints

    gateway-v0-grpc.kaiko.ovh
    gateway-v0-http.kaiko.ovh
    https://gateway-v0-http.kaiko.ovh/api/stream/staking_rates_v1

    Parameters

    {
    	"result": {
    		"indexCode": "KK_STK_ETHUSD_LDNLF",
    		"commodity": "SIC_DAILY_FIXING",
    		"interval": {
    			"startTime": "2026-04-22T14:00:00Z",
    			"endTime": "2026-04-22T15:00:00Z"
    		},
    		"composition": {
    			"quantity": {
    				"value": 0.035460005259701076,
    				"baseQuantity": 0.03544209350535485,
    				"utilizationRate": 0.42
    			},
    			"underlyingPrice": {
    				"name": "KK_RFR_ETHUSD_LDNLF",
    				"price": 2405.6083636363633,
    				"tsEvent": "2026-04-22T15:00:02.190418795Z"
    			},
    			"apr": {
    				"name": "eth-apr-2-d",
    				"value": 0.0276,
    				"forwardFilled": true,
    				"tsEvent": "2026-04-21T00:00:00Z"
    			}
    		},
    		"price": 85.30288522732634,
    		"tsEvent": "2026-04-22T15:00:05.029978898Z"
    	}
    }

    Fields

    Request examples

    Response Example

    REST API Pagination

    For queries that result in a larger dataset than can be returned in a single response, a continuation_token field is included. Calling the same endpoint again with the continuation_token query parameter added will return the next result page. For convenience, a next_url field is also included, containing a URL that can be called directly to get the next page. Paginated endpoints also takes a page_size parameter that specifies the maximum number of items that should be included in each response. Only the first call should include page_size, all subsequent calls should only use continuation_token. Paginating over a request with set to latest will preserve the current version across subsequent pagination requests.

    • startTime

    The start time of the interval.

    • endTime

    The end time of the interval.

    composition

    A nested object containing the inputs used to calculate the index price.

    • quantity

    A nested object containing the quantity inputs.

    • value

    The quantity used in the index calculation.

    • baseQuantity

    The base quantity used to derive quantity.value.

    • utilizationRate

    The utilization rate used in the quantity calculation.

    • underlyingPrice

    A nested object containing the underlying price input.

    • name

    The name of the price series used as the underlying price.

    • price

    The underlying asset price used in the calculation.

    • tsEvent

    The publication timestamp of the underlying price.

    • apr

    A nested object containing the APR input.

    • name

    The name of the APR series used in the calculation.

    • value

    The APR value used in the calculation.

    • forwardFilled

    Indicates whether the APR value was forward-filled.

    • tsEvent

    The publication timestamp of the APR value.

    price

    The calculated staking index price.

    tsEvent

    The exact time of the publication.

    Python quick-start guide
    Parameter
    Required?
    Description

    continuation_token

    No

    The token auto-generated at when a response hits its page_size limit.

    page_size

    No

    Maximum number of records to return in one response

    The following script can be used to browse pages in Python. Make sure to update your trade_url and X-Api-Key.

    import http.client
    import json
    conn 
    
    import requests
    import pandas as pd
    
    trade_url = "https://us.market-api.kaiko.io/v3/data/trades.v1/exchanges/usp3/spot/usdc-weth/trades?start_time=2022-11-01T00:00:00.000Z&end_time=2022-12-01T00:00:00.000Z"
    headers = {"X-Api-Key": "XXX","Accept": "application/json"}
    output = requests.get(trade_url, headers = headers).json()
    df = pd.DataFrame(output["data"])
    
    while "next_url" in output:
            output = requests.get(output["next_url"], headers = headers).json()
            df_to_add = pd.DataFrame(output["data"])
            print(df_to_add)
            df= pd.concat([df, df_to_add])
    print(df)

    Pagination

    Parameters

    version

    Browsing pages when using Python

    publication stream
    =
    http
    .
    client
    .
    HTTPSConnection
    (
    "
    us.market-api.kaiko.io
    "
    )
    endpoint = "/v2/data/trades.v1/spot_exchange_rate/btc/usd"
    params = "?interval=1h&start_time=2024-09-01T00:00:00.000Z&end_time=2024-09-10T00:00:00.000Z"
    headers = {
    "X-Api-Key": "XXX",
    "Accept": "application/json"
    }
    all_trades = []
    next_url = endpoint + params
    while next_url:
    conn.request("GET", next_url, headers=headers)
    response = conn.getresponse()
    data = json.loads(response.read().decode("utf-8"))
    all_trades.extend(data.get("data", []))
    print(f"Fetched {len(data.get('data', []))} datapoints. Total: {len(all_trades)}")
    next_url = data.get("next_url", "").replace("https://us.market-api.kaiko.io", "")
    if not next_url:
    break
    conn.close()
    print(f" datapoints fetched: {(all_trades)}")py

    Valour - CDF Index

    What is this endpoint for?

    This endpoint is a customized index made specifically for Valour, a Kaiko Indices client. It's designed to serve as an underlying price feed for leveraged financial instruments. The price is calculated by measuring the performance of live futures contracts with a constant time to expiry to effectively reflect a price, mitigating the volatility caused by rollovers.

    You can find out more about our Customized Indices .

    Endpoints

    gateway-v0-grpc.kaiko.ovh
    gateway-v0-http.kaiko.ovh
    https://gateway-v0-http.kaiko.ovh/api/stream/constant_duration_indices_v1

    Parameters

    Parameter
    Description
    Examples
    Field
    Description

    Make sure to read our before starting.

    cURL requests are intended for testing purposes only.

    For more advanced users, you can access our full SDK , where you'll find more coding languages, examples and guidance.

    quote

    Quote asset of futures

    computedCdf

    Price of CDF index

    exchange

    The exchange code for underlying futures trade. Please find for a full name of exchange.

    frontFuture

    A nested object containing:

    • symbol

    Instrument code of front future. Please find for detailed information.

    • price

    1-min VWAP of front future (Relevant doc of VWAP can be found .) If it's not available, last traded price

    • expiry

    The timestamp of expiration of front future

    • timestamp

    The timestamp of the price of front future. If price is 1-min VWAP, endTime of the calculation if price is from the last trade, the timestamp of the trade

    • weight

    Applied weight to the price of front future

    backFuture

    A nested object containing:

    • symbol

    Instrument code of back future. Please find for detailed information.

    • price

    1-min VWAP of back future (Relevant doc of VWAP can be found .) If it's not available, last traded price

    • expiry

    The timestamp of expiration of back future

    • timestamp

    The timestamp of the price of back future. If price is 1-min VWAP, endTime of the calculation if price is from the last trade, the timestamp of the trade

    • weight

    Applied weight to the price of back future

    constantDuration

    Constant Duration

    status

    Status of the publication CDF_SUCCESS : Calculation succeeded

    CDF_NO_FUTURE : Cannot find the relevant front or back future

    CDF_NO_PRICE : Futures are available but prices are not available

    rateQuoteConversion

    A nested object containing:

    • index

    Kaiko Reference Rate that is used to convert the currency. Detailed methodology of Kaiko Reference rate can be found

    • value

    Price of rateQuoteConversion / index

    • timestamp

    Timestamp of rateQuoteConversion / index

    interval_startTime

    The start time for the interval.

    interval_endTime

    The end time for the interval.

    tsEvent

    The exact time of the publication.

    index_code

    The Kaiko CDF Index tickers

    KAIKO_CDF_BTCUSDT

    See the methodology for a full list of tickers.

    commodity

    The type of publication. Either real-time or fixings

    indexCode

    The ticker identifying the rate.

    base

    Base asset of futures

     # This is a code example. Configure your parameters below #
    
    from __future__ import print_function
    from datetime import datetime, timedelta
    import logging
    import os
    from google.protobuf.timestamp_pb2 import Timestamp
    import grpc
    from google.protobuf.json_format import MessageToJson
    from kaikosdk import sdk_pb2_grpc
    from kaikosdk.stream.constant_duration_indices_v1 import request_pb2 as pb_constant_duration_indices
    
    def constant_duration_indices_v1_request(channel: grpc.Channel):
        try:
            with channel:
                stub = sdk_pb2_grpc.StreamConstantDurationIndicesServiceV1Stub(channel)
    
                responses = stub.Subscribe(pb_constant_duration_indices.StreamConstantDurationIndicesServiceRequestV1(
                    index_code = "KAIKO_CDF_BTCUSDT"
                ))
                for response in responses:
                    print("Received message %s" % (MessageToJson(response, including_default_value_fields = True)))
        except grpc.RpcError as e:
            print(e.details(), e.code())
    
    def run():
        credentials = grpc.ssl_channel_credentials(root_certificates=None)
        call_credentials = grpc.access_token_call_credentials(os.environ['KAIKO_API_KEY'])
        composite_credentials = grpc.composite_channel_credentials(credentials, call_credentials)
        channel = grpc.secure_channel('gateway-v0-grpc.kaiko.ovh', composite_credentials)
        constant_duration_indices_v1_request(channel)
    
    if __name__ == '__main__':
        logging.basicConfig()
        run()
    # This is a code example. Configure your parameters below #
    
    from __future__ import print_function
    from datetime import datetime, timedelta
    import logging
    import os
    from google.protobuf.timestamp_pb2 import Timestamp
    import grpc
    from google.protobuf.json_format import MessageToJson
    from kaikosdk import sdk_pb2_grpc
    from kaikosdk.stream.constant_duration_indices_v1 import request_pb2 as pb_constant_duration_indices
    
    def constant_duration_indices_v1_request(channel: grpc.Channel):
        try:
            # start of date configuration #
            start = Timestamp()
            start.FromDatetime(datetime.utcnow() - timedelta(days=2))
            end = Timestamp()
            end.FromDatetime(datetime.utcnow() - timedelta(days=1))
            # end of date configuration #
            
            stub = sdk_pb2_grpc.StreamConstantDurationIndicesServiceV1Stub(channel)
    
            responses = stub.Subscribe(pb_constant_duration_indices.StreamConstantDurationIndicesServiceRequestV1(
                index_code = "KAIKO_CDF_BTCUSDT",
                interval={
                    'start_time': start,
                    'end_time': end
                }
            ))
            for response in responses:
                print("Received message %s" % (MessageToJson(response, including_default_value_fields = True)))
        except grpc.RpcError as e:
            print(e.details(), e.code())
    
    def run():
        credentials = grpc.ssl_channel_credentials(root_certificates=None)
        call_credentials = grpc.access_token_call_credentials(os.environ['KAIKO_API_KEY'])
        composite_credentials = grpc.composite_channel_credentials(credentials, call_credentials)
        channel = grpc.secure_channel('gateway-v0-grpc.kaiko.ovh', composite_credentials)
        constant_duration_indices_v1_request(channel)
    
    if __name__ == '__main__':
        logging.basicConfig()
        run()
    curl -X POST "https://gateway-v0-http.kaiko.ovh/api/stream/constant_duration_indices_v1" -H "accept: application/json" -H "X-Api-Key: $KAIKO_API_KEY" -H "Content-Type: application/json" -d '{ "indexCode": "KAIKO_CDF_BTCUSDT", "interval": {"startTime": "2025-04-24T15:30:00.000Z", "endTime": "2025-04-24T15:31:00.000Z" } }'
    {
       "result":{
          "commodity":"SIC_REAL_TIME",
          "indexCode":"KAIKO_CDF_BTCUSDT",
          "composition":{
             "base":"btc",
             "quote":"usdt",
             "data":[
                {
                   "computedCdf":95024.52103689784,
                   "exchange":"binc",
                   "frontFuture":{
                      "symbol":"btcusdt_250627",
                      "price":94481.42295081966,
                      "expiry":"2025-06-27T08:00:00Z",
                      "timestamp":"2025-04-25T09:31:00Z",
                      "weight":0.6813186813186813
                   },
                   "backFuture":{
                      "symbol":"btcusdt_250926",
                      "price":96096.2,
                      "expiry":"2025-09-26T08:00:00Z",
                      "timestamp":"2025-04-25T09:29:41.131Z",
                      "weight":0.31868131868131866
                   },
                   "constantDuration":91,
                   "status":"CDF_SUCCESS",
                   "rateQuoteConversion":{
                      "index":"KK_RFR_USDTUSD",
                      "value":1.0003,
                      "timestamp":"2025-04-25T09:31:00Z"
                   }
                }
             ]
          },
          "startTime":"2025-04-25T09:30:00Z",
          "endTime":"2025-04-25T09:31:00Z",
          "tsEvent":"2025-04-25T09:31:05.247126935Z"
       }
    }

    Requesting multiple tickers at the same time To configure multiple tickers in the same stream, provide the indexCode as a comma separated list eg KAIKO_CDF_BTCUSDT,KAIKO_CDF_ETHUSDT Alternatively, use a wildcard by entering a * and you'll receive all tickers you have as part of you Kaiko subscription.

    Fields

    Request examples

    Response Example

    here
    here
    Python quick-start guide

    Compute indices

    GPU compute rental price indices, in USD per GPU-hour.

    Get a live feed or historical values for any Kaiko Compute Index.

    Compute Indices measure the market price of GPU compute rental, expressed in USD per GPU-hour. Values are calculated from provider offer data collected from compute marketplaces (e.g. Squaretower for NVIDIA H100), using a volume-weighted methodology (VWM or VWAP) with time-weighted aggregation (TWAP) over a rolling calculation window.

    Indices are published as a real-time feed and as scheduled fixings.

    Parameter
    instrument explorer
    instrument explorer
    here
    instrument explorer
    here
    here
    Description
    Examples

    index_codes

    The list of Kaiko Compute Index tickers.

    ["KK_CMP_H100ST_RT"]

    Parameter
    Description
    Examples

    index_code

    The Kaiko Compute Index ticker.

    KK_CMP_H100ST_RT

    start_time

    Optional. Start of the range in ISO 8601. Omit for the last published value.

    2026-08-17T00:00:00Z

    Field
    Description

    indexCode

    The ticker identifying the index.

    commodity

    The type of publication. Either real-time (SIC_REAL_TIME) or fixings (e.g. SIC_HOURLY_FIXING).

    interval

    The time period in which observation data are considered for the calculation of the index.

    cURL requests are intended for testing purposes only.

    grpcurl \
      -H "Authorization: Bearer $KAIKO_API_KEY" \
      -d '{
        "index_codes": ["KK_CMP_H100ST_RT"]
      }' \
      gateway.equ.kaiko.io:443 \
      kaiko.equities.EquitiesService/StreamComputeIndex

    cURL requests are intended for testing purposes only.

    grpcurl \
      -H "Authorization: Bearer $KAIKO_API_KEY" \
      -d '{
        "index_code":  "KK_CMP_H100ST_RT",
        "start_time":  "2026-08-17T00:00:00Z",
        "end_time":    "2026-08-17T12:00:00Z"
      }' \
      gateway.equ.kaiko.io:443 \
      kaiko.equities.EquitiesService/GetComputeIndex

    GetComputeIndex returns {"datapoints": [ ... ]}; the stream pushes one datapoint per publication.

    Captured from the live production feed (note the omitted defaults: no partition on the single bucket, fallbackInfo: {}, no sequenceId):

    What is this endpoint for?

    Endpoints

    gateway.equ.kaiko.io:443 kaiko.equities.EquitiesService/StreamComputeIndex
    gateway.equ.kaiko.io:443 kaiko.equities.EquitiesService/GetComputeIndex

    Full history available

    Unlike the Reference Rates replay endpoints, GetComputeIndex is not limited to a rolling replay window: the complete publication history can be requested. Omit start_time and end_time to receive the last published value.

    Each request returns at most 100 datapoints. For longer ranges, page by advancing start_time past the tsEvent of the last datapoint received.

    Request parameters

    Subscribe

    {
      "indexCode": "KK_CMP_H100ST_RT",
      "commodity": "SIC_REAL_TIME",
      "interval": {
        "startTime": "2026-08-24T14:52:22Z",
        "endTime": "2026-08-24T15:52:22Z"
      },
      "quote": "usd",
      "bases": [{ "asset": "h100_st", "weight": 1 }],
      "exchanges": ["sqrt"],
      "price": 2.81,
      "methodology": "vwm_twap",
      "details": [
        {
          "price": 2.81,
          "volume": 7.500000000000008,
          "count": 116,
          "underlyingTrade": {
            "exchange": "p011",
            "volume": 0.025,
            "id": "6222904fb5c4382a",
            "datetime": "2026-08-24T15:00:00.121715Z"
          }
        }
      ],
      "fallbackInfo": {},
      "tsEvent": "2026-08-24T15:52:22Z",
      "lastIngestTime": "2026-08-24T15:03:13.830312172Z"
    }

    Requesting multiple tickers at the same time

    To configure multiple tickers in the same call, provide the index_codes as a comma-separated list, e.g. ["KK_CMP_H100ST_RT", "KK_CMP_..."].

    Historical

    Response fields

    Default values are omitted from the JSON output

    Standard gRPC JSON behavior: fields at their default value are omitted — a missing partition means partition 0, fallbackInfo: {} means fallbackUsed: false, and an empty sequenceId is not shown. Treat absent fields as defaults, not as errors.

    Forward-fill

    When a calculation window contains no new observations, the index re-publishes the last computed value with fallbackUsed: true. Consumers can use this flag to detect stale values.

    Weights as volume

    Observation volume reflects provider weighting supplied by the data source, not traded quantity. underlyingTrade exposes one representative observation per partition for auditability; the full underlying dataset is not redistributed.

    Request examples

    Response Example

    end_time

    Optional. End of the range in ISO 8601.

    2026-08-17T12:00:00Z

    .startTime

    The start time of the data interval.

    .endTime

    The end time of the data interval.

    quote

    The quote asset used for the index denomination (usd).

    bases

    The list of base assets included in the index and their weight, e.g. h100_st.

    exchanges

    The data sources involved in the computation, e.g. sqrt (Squaretower).

    price

    The value of the index in the quote denomination (USD per GPU-hour).

    methodology

    The calculation methodology, e.g. vwm_twap, vwap_twap.

    details

    The different partitions included in the price computation.

    .partition

    The sequential number of the partition in the calculation window (0 = oldest).

    .price

    The volume-weighted price of the partition.

    .volume

    The total observation weight in the partition.

    .count

    The number of observations in the partition.

    .underlyingTrade

    The representative observation details of the partition.

    .datetime

    The datetime of the observation.

    .exchange

    The provider code.

    .volume

    The weight of the observation.

    .id

    The ID of the observation.

    fallbackInfo

    An object containing fallback information.

    .fallbackUsed

    true when the value is forward-filled (no new observations in the window).

    tsEvent

    The exact time of price publication.

    sequenceId

    A unique identifier for the publication.

    lastIngestTime

    The timestamp of the last source observation ingested.

    FOREX conversion

    Convert your USD rate into a currency of your choosing.

    What is this endpoint for?

    This endpoint retrieves a Reference Rate and converts USD into a local currency of your choosing using TP-ICAP as the source. This endpoint is for the following asset classes:

    • Crypto

    Available currencies are CHF / EUR / GBP / JPY / KRW.

    Endpoints

    gateway-v0-grpc.kaiko.ovh
    gateway-v0-http.kaiko.ovh
    https://gateway-v0-http.kaiko.ovh/api/stream/index_forex_rate_v1

    Request parameters

    Parameter
    Description
    Examples
    Field
    Description

    cURL requests are intended for testing purposes only.

    For more advanced users, you can access our full SDK , where you'll find more coding languages, examples and guidance.

    Subscribe - futures

    Get a live feed / 72-hour replay for any Reference Rate when the "instrument type" is:

    • Futures

    Parameter
    Description

    interval_endTime

    The end time for the interval.

    composition_underlying_name

    The Kaiko Reference Rate ticker.

    composition_underlying_tsEvent

    The exact time of original Reference Rate publication.

    price

    The price of the Reference Rate in the converted currency.

    tsEvent

    The exact time of converted reference rate publication.

    detail_underlying_name

    The ticker of the underlying reference rate.

    detail_underlying_price

    The original published price of the Reference Rate in USD.

    detail_underlying_tsEvent

    The exact timestamp of original reference rate publication.

    index_code

    The Kaiko Benchmark Reference Rate ticker. You can find a full list of our tickers here.

    KK_BRR_BTCUSD_EUR

    indexCode

    The ticker identifying the rate.

    commodity

    The type of publication. Either real-time or fixings

    interval_startTime

    The start time for the interval.

    curl -X POST "https://gateway-v0-http.kaiko.ovh/api/stream/index_forex_rate_v1" -H "accept: application/json" -H "X-Api-Key: $KAIKO_API_KEY" -H "Content-Type: application/json" -d "{\"indexCode\": \"KK_BRR_BTCUSD\"}"
    {
      "indexCode": "KK_BRR_BTCUSD_EUR",
      "commodity": "SIC_REAL_TIME",
      "interval": {
        "startTime": "2024-09-12T21:42:35Z",
        "endTime": "2024-09-12T21:42:50Z"
      },
      "composition": {
        "underlying": {
          "name": "KK_BRR_BTCUSD",
          "tsEvent": "2024-09-12T21:42:50.658126160Z"
        },
        "fxrate": {
          "name": "USD/EUR",
          "tsEvent": "2024-09-12T21:42:01.048683287Z"
        }
      },
      "price": 52215.539302000085,
      "tsEvent": "2024-09-12T21:42:50.857862111Z",
      "detail": {
        "underlying": {
          "name": "KK_BRR_BTCUSD",
          "price": 57826.099,
          "tsEvent": "2024-09-12T21:42:50.658126160Z"
        }
      }
    }

    Requesting multiple tickers at the same time To configure multiple tickers in the same stream, provide the indexCode as a comma separated list eg KK_BRR_BTCUSD_EUR,KK_BRR_BTCUSDC_USD Alternatively, use a wildcard by entering a * and you'll receive all tickers you have as part of you Kaiko subscription.

    Response fields

    Request examples

    Response Example

    here
    Examples

    index_codes

    The list of Kaiko Reference Rate ticker. You can find a full list of our tickers .

    ["KK_RFR_AAPLUSD", "KK_RFR_TSLAUSD"]

    Parameter
    Description
    Examples

    index_codes

    The list of Kaiko Reference Rate ticker. You can find a full list of our tickers .

    KK_RFR_AAPLUSD

    start_time

    Start date of exDate in ISO 8601 (exclusive).

    2026-04-22T05:04:32.000Z

    Field
    Description

    indexCode

    The list of tickers identifying the rate

    price

    The value of the rate in the quote denomination

    dtFinal

    The discounted factor (only applicable for Kaiko Implied Spot Reference rate)

    cURL requests are intended for testing purposes only.

    grpcurl\
          -H "Authorization:Bearer $KAIKO_API_KEY" \
          -emit-defaults \
          -d '{"index_codes":["KK_FRR_HKA50"]}' \
          'gateway.equ.kaiko.io:443' \
          kaiko.equities.EquitiesService.StreamFuturesRates

    cURL requests are intended for testing purposes only.

    grpcurl \
      -H "Authorization: Bearer $KAIKO_API_KEY" \
      -d '{
        "index_codes": ["KK_RFR_TSLAUSD"],
        "start_time":  "2026-04-27T20:04:32.000Z",
        "end_time":    "2026-04-27T20:04:33.000Z"
      }' \
      gateway.equ.kaiko.io:443 \
      kaiko.equities.EquitiesService/ReplayIndex

    What is this endpoint for?

    Endpoint

    gateway.equ.kaiko.io:443 kaiko.equities.EquitiesService/StreamFuturesRates
    gateway.equ.kaiko.io:443 kaiko.equities.EquitiesService/ReplayFuturesRates

    Request parameters

    Requesting multiple tickers at the same time To configure multiple tickers in the same call, provide the index_codes as a comma-separated list, e.g. ["KK_RFR_AAPLUSD", "KK_RFR_TSLAUSD"] .

    Subscribe

    {
      "indexCode": "KK_FRR_HKA50",
      "price": 2808.067428571429,
      "blendedPrice": 2808.067428571429,
      "dtFinal": 0,
      "ttm": 0,
      "timestamp": "2026-05-20T12:41:21.203067328Z",
      "startTime": "2026-05-20T12:41:06.175348398Z",
      "endTime": "2026-05-20T12:41:21.175348398Z",
      "frontFuture": {
        "symbol": "mcam6",
        "price": 2808.067428571429,
        "expiry": "2026-06-18T00:00:00Z",
        "weight": 1,
        "pairs": [
          {
            "pair": "mcam6",
            "instruments": [
              {
                "partition": "0",
                "price": 2807.9714285714285,
                "volume": 12,
                "count": "4",
                "trade": {
                  "exchange": "xhkf",
                  "id": "019e4567-34bd-79e3-bc6a-0f0062ee376f",
                  "datetime": "2026-05-20T12:40:51.808Z",
                  "volume": 3.5
                }
              },
              {
                "partition": "1",
                "price": 2808.04,
                "volume": 7,
                "count": "3",
                "trade": {
                  "exchange": "xhkf",
                  "id": "019e4567-47df-7e29-b982-db5e0a9cad99",
                  "datetime": "2026-05-20T12:40:56.885Z",
                  "volume": 2.5
                }
              },
              {
                "partition": "2",
                "price": 2808.1000000000004,
                "volume": 4,
                "count": "2",
                "trade": {
                  "exchange": "xhkf",
                  "id": "019e4567-4eca-74fb-a351-7b0f8d2c416a",
                  "datetime": "2026-05-20T12:40:58.467Z",
                  "volume": 2
                }
              },
              {
                "partition": "4",
                "price": 2808.1000000000004,
                "volume": 8.5,
                "count": "4",
                "trade": {
                  "exchange": "xhkf",
                  "id": "019e4567-624d-7c7a-a8ab-160f2ebbfaaf",
                  "datetime": "2026-05-20T12:41:03.467Z",
                  "volume": 2
                }
              },
              {
                "partition": "3",
                "price": 2808.04,
                "volume": 13.5,
                "count": "6",
                "trade": {
                  "exchange": "xhkf",
                  "id": "019e4567-5dbc-7a08-9ce2-9b72c8eaa648",
                  "datetime": "2026-05-20T12:41:02.484Z",
                  "volume": 2.5
                }
              }
            ]
          }
        ]
      },
      "backFuture": {
        "symbol": "mcan6",
        "price": 0,
        "expiry": "2026-07-17T00:00:00Z",
        "weight": 0,
        "pairs": []
      },
      "spotRate": {
        "indexCode": "",
        "price": 0
      },
      "quote": "usd",
      "exchanges": [
        "xhkf"
      ],
      "sequenceId": "d86qnsdg40ds72t0hebg",
      "sessionDetector": "INDEX_SESSION_DETECTOR_LATE_HOURS"
    }

    Replay

    Response fields

    Request examples

    Response Example

    end_time

    Start date of exDate in ISO 8601 (inclusive).

    2026-04-22T05:04:33.000Z

    ttm

    The time to maturity in seconds (only applicable for Kaiko Implied Spot Reference rate)

    timestamp

    The exact time of price publication.

    startTime

    The start time of the data interval

    endTime

    The end time of the data interval

    frontFuture

    The details of front future price calculation

    .symbol

    The symbol of the front future in the exchange

    .price

    The calculated price of front future

    .expiry

    The expiry date of front future

    .weight

    The weight in blended future when rollover is proceeding

    .pairs

    The list of pairs combined with additional details included in the computation.

    .pair

    The symbol code - quote asset code(if applicable)

    .instruments

    The different distribution levels included in the price computation.

    .partition

    The sequential number of the partition in calculation

    .price

    The price of the partition

    .volume

    The volume of the partition

    .count

    The number of transaction in the partition

    .trade

    The representative transaction details

    .exchange

    The exchange code

    .id

    The ID of orderbook update

    .datetime

    The datetime of orderbook update

    .volume

    The liquidity weight of the orderbook update

    backFuture

    The details of back future price calculation. It has identitical structure to the frontFuture

    spotRate

    The details of spot rate that is used to calculated implied spot price

    .indexCode

    The index code of underlying spot rate

    .price

    The price of underlying spot rate

    quote

    The quote asset code

    exchanges

    The exchanges involved in the computation.

    sequenceId

    A unique identifier for the publication.

    sessionDetector

    The status of market session.

    • INDEX_SESSION_DETECTOR_EARLY_HOURS

    • INDEX_SESSION_DETECTOR_REGULAR_HOURS

    • INDEX_SESSION_DETECTOR_LATE_HOURS

    • INDEX_SESSION_DETECTOR_OVERNIGHT

    • INDEX_SESSION_DETECTOR_CLOSED

    Please refer to for daily session schedule.

    here
    here
    Market calendar and trading endpoint

    Subscribe

    What is this endpoint for?

    Get a live feed / 7-days replay for any Reference Rate from the following asset classes:

    • Equity (unless "instrument type" is "futures")

    • Fixed income

    • Foreign exchange

    • Commodities

    • Real estate

    • Digital assets

    For crypto rates, please see the crypto section of the documentation.

    Parameter
    Description
    Examples
    Parameter
    Description
    Examples
    Field
    Description

    cURL requests are intended for testing purposes only.

    cURL requests are intended for testing purposes only.

    end_time

    Start date of exDate in ISO 8601 (inclusive).

    2026-04-22T05:04:33.000Z

    .startTime

    The start time of the data interval

    .endTime

    The end time of the data interval

    quote

    The quote asset used for the rate denomination.

    bases

    The list of base assets included in the rate and their weight. For reference rates, this will always be a single asset.

    exchanges

    The exchanges involved in the computation.

    percentages

    The different distribution levels included in the price computation.

    price

    The value of the rate in the quote denomination.

    pairs

    The list of pairs combined with additional details included in the computation.

    sessionDetector

    The status of market session.

    • INDEX_SESSION_DETECTOR_EARLY_HOURS

    • INDEX_SESSION_DETECTOR_REGULAR_HOURS

    tsEvent

    The exact time of price publication.

    index_codes

    The list of Kaiko Reference Rate ticker. You can find a full list of our tickers here.

    ["KK_RFR_AAPLUSD", "KK_RFR_TSLAUSD"]

    index_codes

    The list of Kaiko Reference Rate ticker. You can find a full list of our tickers here.

    KK_RFR_AAPLUSD

    start_time

    Start date of exDate in ISO 8601 (exclusive).

    2026-04-22T05:04:32.000Z

    index_codes

    The list of tickers identifying the rate.

    commodity

    The type of publication. Either real-time or fixings

    interval

    The time period in which transaction data are considered for the calculation of the rate.

    grpcurl \
      -H "Authorization: Bearer $KAIKO_API_KEY" \
      -d '{
        "index_codes": ["KK_RFR_TSLAUSD"]
      }' \
      gateway.equ.kaiko.io:443 \
      kaiko.equities.EquitiesService/StreamIndex
    grpcurl \
      -H "Authorization: Bearer $KAIKO_API_KEY" \
      -d '{
        "index_codes": ["KK_RFR_TSLAUSD"],
        "start_time":  "2026-04-27T20:04:32.000Z",
        "end_time":    "2026-04-27T20:04:33.000Z"
      }' \
      gateway.equ.kaiko.io:443 \
      kaiko.equities.EquitiesService/ReplayIndex
    {
      "index": {
        "indexCode": "KK_RFR_TSLAUSD",
        "commodity": "INDEX_COMMODITY_REAL_TIME",
        "interval": {
          "startTime": "2026-04-27T20:04:17Z",
          "endTime": "2026-04-27T20:04:32Z"
        },
        "quote": "usd",
        "bases": [
          {
            "asset": "tsla",
            "weight": 1
          }
        ],
        "exchanges": [
          "nutp",
          "boat",
          "xcta"
        ],
        "percentages": [
          {
            "percentage": 1,
            "price": 378.03249999999997,
            "pairs": [
              {
                "pair": "tsla-usd",
                "weight": 1,
                "instruments": [
                  {
                    "partition": "2",
                    "price": 378.025,
                    "volume": 40,
                    "count": "1",
                    "underlyingTrade": {
                      "volume": 40,
                      "exchange": "nutp",
                      "id": "019dd08b-0635-7077-a949-0c4aa816bedd",
                      "datetime": "2026-04-27T20:04:25.247777Z"
                    }
                  },
                  {
                    "partition": "3",
                    "price": 378.035,
                    "volume": 240,
                    "count": "2",
                    "underlyingTrade": {
                      "volume": 200,
                      "exchange": "nutp",
                      "id": "019dd08b-0d81-7cd5-914c-5a4c62cdbcb3",
                      "datetime": "2026-04-27T20:04:27.122012Z"
                    }
                  },
                  {
                    "partition": "4",
                    "price": 378.035,
                    "volume": 200,
                    "count": "1",
                    "underlyingTrade": {
                      "volume": 200,
                      "exchange": "nutp",
                      "id": "019dd08b-1833-7ef6-931e-2ef59a4bcb81",
                      "datetime": "2026-04-27T20:04:29.866528Z"
                    }
                  }
                ]
              }
            ]
          }
        ],
        "tsEvent": "2026-04-27T20:04:32.346558794Z",
        "sequenceId": "d7ns2k20qd5c72pg0220",
        "lastIngestTime": "2026-04-27T20:04:30.678413576Z"
      },
      "sessionDetector": "INDEX_SESSION_DETECTOR_LATE_HOURS"
    }

    Endpoint

    gateway.equ.kaiko.io:443 kaiko.equities.EquitiesService/StreamIndex
    gateway.equ.kaiko.io:443 kaiko.equities.EquitiesService/ReplayIndex

    Request parameters

    Requesting multiple tickers at the same time To configure multiple tickers in the same call, provide the index_codes as a comma-separated list, e.g. ["KK_RFR_AAPLUSD", "KK_RFR_TSLAUSD"] .

    Subscribe

    Replay

    Response fields

    Request examples

    Response Example

    INDEX_SESSION_DETECTOR_LATE_HOURS

  • INDEX_SESSION_DETECTOR_OVERNIGHT

  • INDEX_SESSION_DETECTOR_CLOSED_HOURS

  • Please refer to for daily session schedule.

    Market calendar and trading endpoint
    Tick-Level Trades
    here
    here

    Reference data

    What is this endpoint for?

    This endpoint returns a list of all our Reference Rates for the following asset classes:

    • Equity

    • Fixed income

    • Foreign exchange

    • Commodities

    • Real estate

    • Digital assets

    For crypto rates, please see the crypto section of the documentation.

    Parameter
    Required
    Description
    Example
    Field
    Description

    Array of base asset codes

    ["aapl", "tsla"]

    base_asset_classes

    No

    Array of base asset classes

    ["Equity", "ETF", "Commodities", "Foreign Exchange"]

    base_asset_isins

    No

    Array of base asset isin codes

    ["US0378331005"]

    quote_asset_codes

    No

    Array of quote asset codes

    ["usd", "hkd"]

    timezones

    No

    Array of IANA timezones

    ["America/New_York", "Asia/Seoul"]

    exchanges

    The exchanges involved in the computation.

    baseAsset

    .assetCode

    The asset code of base asset

    .name

    Full name of the base asset

    .isin

    The ISIN code of the base asset

    .bbgCompId

    The issuer ID on Bloomberg

    .timezone

    IANA timezone of the main trading venue

    .taxonomy

    .taxonomyVersion

    Kaiko Taxonomy version

    .kaikoTaxonomyCode

    Kaiko Taxonomy code

    .assetClass

    The asset class of base asset

    .instrumentType

    The instrument type of base asset

    .marketPhase

    The Market Phase of base asset

    .marketVenue

    The Market Venue of base asset

    .geoRegion

    The main trading region of base asset

    .geoCountry

    The main trading country of base asset

    quoteAsset

    .assetCode

    The asset code of quote asset

    .name

    Full name of the quote asset

    dissemination

    Frequency of publication of the rate

    timezone

    IANA timezone of the dissemination

    launchDate

    Date when the rate was launched and entered into production.

    exposition

    "Public" : Indicates that it is open reference data accessible to all users.

    streamEndpoint

    The name of method for subscription

    methodology

    The applied calculation methodology section in rulebook

    assetCalendar

    The applied market calendar.

    tickers

    No

    Array of tickers identifying the rate

    ["KK_RFR_AAPLUSD", "KK_RFR_TSLAUSD"]

    base_asset_codes

    indexCode

    The ticker of the rate.

    rateName

    Extensive name format of the rate issued

    pair

    Short name format of the rate issued

    Endpoint

    Query parameters

    Response Fields

    Request example

    Response example

    No

    gateway.equ.kaiko.io:443 kaiko.equities.EquitiesService.ReferenceData
    grpcurl \
      -d '{
        "tickers":            ["KK_RFR_AAPLUSD", "KK_RFR_700HKD"],
        "base_asset_codes":   ["aapl", "700"],
        "base_asset_classes": ["equity", "etf"],
        "base_asset_isins":   ["US0378331005", "KYG875721634"],
        "quote_asset_codes":  ["usd", "hkd"],
        "timezones":          ["America/New_York", "Asia/Hong_Kong"]
      }' \
      gateway.equ.kaiko.io:443 \
      kaiko.equities.EquitiesService.ReferenceData
    {
      "entries": [
        {
          "indexCode": "KK_RFR_700HKD",
          "rateName": "Kaiko TENCENT HKD Equity Reference Rate",
          "pair": "700-HKD",
          "exchanges": [
            "xhkg"
          ],
          "baseAsset": {
            "assetCode": "700",
            "name": "TENCENT",
            "isin": "KYG875721634",
            "bbgCompId": "BBG000BJ35F4",
            "timezone": "Asia/Hong_Kong",
            "taxonomy": {
              "taxonomyVersion": "1.0",
              "kaikoTaxonomyCode": "EQ.STK.SPOT.XCHG.HK",
              "assetClass": "Equity",
              "instrumentType": "Stock",
              "marketPhase": "Spot",
              "marketVenue": "Exchange",
              "geoRegion": "Asia-Pacific",
              "geoCountry": "HK"
            }
          },
          "quoteAsset": {
            "assetCode": "hkd",
            "name": "Hong Kong Dollar"
          },
          "dissemination": "Real-time",
          "timezone": "Asia/Hong_Kong",
          "launchDate": "2026-03-25",
          "exposition": "Public",
          "streamEndpoint": "/StreamIndex",
          "methodology": "3.1.1",
          "assetCalendar": "equities"
        },
        {
          "indexCode": "KK_RFR_AAPLUSD",
          "rateName": "Kaiko Apple USD Equity Reference Rate",
          "pair": "AAPL-USD",
          "exchanges": [
            "nutp",
            "xcta",
            "boat"
          ],
          "baseAsset": {
            "assetCode": "aapl",
            "name": "Apple",
            "isin": "US0378331005",
            "bbgCompId": "BBG000B9XRY4",
            "timezone": "America/New_York",
            "taxonomy": {
              "taxonomyVersion": "1.0",
              "kaikoTaxonomyCode": "EQ.STK.SPOT.XCHG.US",
              "assetClass": "Equity",
              "instrumentType": "Stock",
              "marketPhase": "Spot",
              "marketVenue": "Exchange",
              "geoRegion": "Americas",
              "geoCountry": "US"
            }
          },
          "quoteAsset": {
            "assetCode": "usd",
            "name": "US Dollar"
          },
          "dissemination": "Real-time",
          "timezone": "America/New_York",
          "launchDate": "2026-01-01",
          "exposition": "Public",
          "streamEndpoint": "/StreamIndex",
          "methodology": "3.1.1",
          "assetCalendar": "equities"
        }
      ]
    }