Underlier RPC provides a pulsed underlier price stream, aggregated over multiple exchanges. It is used in the funding calculation.

Outside of extended market hours, the underlier price will not be returned.

Sample Code

import grpc
import common_pb2
import market_data_pb2_grpc

def stream_underlier():
    channel = grpc.secure_channel('mds.pfex.io:443', grpc.ssl_channel_credentials())
    stub = market_data_pb2_grpc.MarketDataServiceStub(channel)

    for underlier in stub.GetUnderlier(common_pb2.GetSymbol(symbol="SP500-USD")):
        print(underlier)

if __name__ == '__main__':
    stream_underlier()

Example Response

symbol: "SP500-USD"
price: 566.6
timestamp {
  seconds: 1746911241
  nanos: 829600944
}