---
title: "GetMarketSummaryStreaming"
method: POST
path: "/market_service.v1.MarketService/GetMarketSummaryStreaming"
tags: ["Markets"]
---

# GetMarketSummaryStreaming

`POST /market_service.v1.MarketService/GetMarketSummaryStreaming`

Server-streaming endpoint. Opens a long-lived Connect/gRPC-Web stream
 and sends a `GetMarketSummaryResponse` message immediately, then
 again on a fixed interval, until the client disconnects. Reuses the
 same response schema as the unary `GetMarketSummary`.

 Resolved by `market_id` or `market_symbol`

 `update_interval_ms` defaults to 250ms when omitted, and is clamped
 to the 100–60000ms range rather than rejected.

 Note: Mintlify's request-based API explorer cannot exercise a real
 streaming response

## Headers

- `Connect-Protocol-Version` 1, required — Define the version of the Connect protocol. If omitted, use 1.
- `Connect-Timeout-Ms` number — Define the timeout, in ms

## Request body

- MarketServiceV1GetMarketSummaryStreamingRequest
  - `market` union, required — Market to stream a summary for, by `market_id` or `market_symbol`.
    - object
      - `marketId` string, int64, required
    - object
      - `marketSymbol` BaseObjectsV1MarketSymbol, required
        - `assetSymbol` string — Underlying asset symbol, e.g. `"BTC"`. Matched case-insensitively and trimmed.
        - `quoteSymbol` string — Quote symbol, e.g. `"PERP"`. Technically optional, but omitting it looks up a market named exactly by `assetSymbol` alone (e.g. `"BTC"`) rather than `"BTC-PERP"`, which will not resolve to any real market. In practice, always set this.
  - `updateIntervalMs` integer, nullable — Interval between stream updates, in milliseconds. Defaults to 250 when omitted or zero, and is clamped to the 100–60000 range.

## Response `200`

One streamed message (the server sends a sequence of these, not a single response).

- MarketServiceV1GetMarketSummaryResponse
  - `marketSummary` BaseObjectsV1MarketSummary
    - `marketId` string, int64 — On-chain market identifier.
    - `marketName` string — Human-readable market name, such as `BTC-PERP`.
    - `openInterest` number, float — Total open position size in this market, in the underlying asset's units.
    - `priceChange24h` number, float — Price change over the last 24 hours, as a percentage.
    - `volume24h` number, float — Total traded notional in the last 24 hours, in quote asset terms.
    - `executableDepth` BaseObjectsV1ExecutableDepth
      - `short` number, double — Deprecated. Truncated to a whole number; use `shortDouble` instead.
      - `long` number, double — Deprecated. Truncated to a whole number; use `longDouble` instead.
      - `shortDouble` number, double — Executable short-side depth at the current price, in quote asset units.
      - `longDouble` number, double — Executable long-side depth at the current price, in quote asset units.
    - `marketType` string — Market category/classification tag used for grouping markets.
    - `price` number, double — Current oracle price for this market, in quote asset terms.
    - `rebateIndicatorLong` number, double — Total rebate amount paid to long-side takers in the last 24 hours, in quote asset terms.
    - `rebateIndicatorShort` number, double — Total rebate amount paid to short-side takers in the last 24 hours, in quote asset terms.
    - `isOpen` boolean — Whether the market is currently open for trading, from the pricing service's market-hours schedule

---

[API](https://skmtc.net/fairground/apis/fairground-fi-api.md) · [All operations](https://skmtc.net/fairground/apis/fairground-fi-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fairground/fairground-fi-api/versions/be66e6dc0ac0/schema)
