Skip to main content
This page outlines how to use the gRPC endpoint for streaming asset OHLC (open, high, low, close) candles. Candles are bucketed by minute and updated on every tick within the bucket. The stream emits only live, in-progress candles; it does not backfill history. To load historical OHLC candles, use the REST Get OHLC Data for an Asset endpoint. The two are designed to be used together to form the full picture. The REST endpoint provides historical candles to build the chart while the streaming endpoint keeps the chart up to date in real time.

Authentication

All requests must include your API key in the x-api-key metadata header.

Request

RPC: ondo.gm.backend.v1.BackendService/StreamOHLC
symbols
string[]
Asset symbols to subscribe to. If empty, you will receive updates for all assets.

Response

A server stream of messages. Each message batches one or more OHLCUpdate objects into a single updates array. Each update is a partial or closed minute candle for a single symbol, covering both the GM token (primary market) and the underlying stock (underlying market).
updates
OHLCUpdate[]
Array of OHLC updates.
grpcurl \
  -H "x-api-key: <YOUR_API_KEY>" \
  -d '{"symbols": ["AAPLon", "GOOGLon"]}' \
  grpc.gm.ondo.finance:443 \
  ondo.gm.backend.v1.BackendService/StreamOHLC
{
  "updates": [
    {
      "primaryMarket": {
        "symbol": "AAPLon",
        "open": "256.791808070580506978",
        "high": "257.013422018348623853",
        "low": "256.500000000000000000",
        "close": "256.901234567890123456"
      },
      "underlyingMarket": {
        "ticker": "AAPL",
        "open": "256.2475",
        "high": "256.47",
        "low": "255.96",
        "close": "256.36"
      },
      "isClosed": false,
      "timestamp": "1773350220000000000"
    },
    {
      "primaryMarket": {
        "symbol": "GOOGLon",
        "open": "305.39957516982939159",
        "high": "305.812345678901234567",
        "low": "304.900000000000000000",
        "close": "305.612345678901234567"
      },
      "underlyingMarket": {
        "ticker": "GOOGL",
        "open": "304.915",
        "high": "305.33",
        "low": "304.51",
        "close": "305.12"
      },
      "isClosed": false,
      "timestamp": "1773350220000000000"
    }
  ]
}