> For the complete documentation index, see [llms.txt](https://docs.kaiko.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kaiko.com/kaiko-indices/customized-indices/compute-indices.md).

# Compute indices

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

## What is this endpoint for?

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.

## Endpoints

{% tabs %}
{% tab title="gRPC Stream" %}

```url
gateway.equ.kaiko.io:443 kaiko.equities.EquitiesService/StreamComputeIndex
```

{% endtab %}

{% tab title="gRPC Historical" %}

```url
gateway.equ.kaiko.io:443 kaiko.equities.EquitiesService/GetComputeIndex
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
**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.
{% endhint %}

## Request parameters

### Subscribe

| Parameter     | Description                              | Examples               |
| ------------- | ---------------------------------------- | ---------------------- |
| `index_codes` | The list of Kaiko Compute Index tickers. | `["KK_CMP_H100ST_RT"]` |

{% hint style="info" %}
**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_..."]`.
{% endhint %}

### Historical

| 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` |
| `end_time`   | Optional. End of the range in ISO 8601.                                      | `2026-08-17T12:00:00Z` |

## Response fields

| 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.         |
| `.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.                                             |

{% hint style="info" %}
**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.
{% endhint %}

{% hint style="info" %}
**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.
{% endhint %}

{% hint style="info" %}
**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.
{% endhint %}

## Request examples

{% tabs %}
{% tab title="cURL Stream" %}
**cURL requests are intended for testing purposes only.**

{% code overflow="wrap" %}

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

{% endcode %}
{% endtab %}

{% tab title="cURL Historical" %}
**cURL requests are intended for testing purposes only.**

{% code overflow="wrap" %}

```url
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
```

{% endcode %}
{% endtab %}
{% endtabs %}

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

## Response Example

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

```json
{
  "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"
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.kaiko.com/kaiko-indices/customized-indices/compute-indices.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
