Skip to main content

gRPC Streaming API

The Polymarket Exchange provides gRPC streaming services for real-time market data and order execution updates. This enables low-latency, efficient data delivery for applications that need continuous updates.

Why Use gRPC Streaming?

gRPC streaming offers several advantages:
  • Bidirectional Communication: Server can push updates without client polling
  • Type Safety: Strongly-typed messages defined in Protocol Buffers
  • Real-time Updates: Receive market data and order updates as they happen

REST + gRPC Hybrid Approach

Most participants use REST for requests and gRPC for streaming. This hybrid approach combines the simplicity of REST with the efficiency of gRPC streaming.

Typical Integration Pattern

  1. REST API - Used for:
    • Authentication (/auth/v1beta1/login)
    • Placing orders (/api/v1beta1/insert_order)
    • Canceling orders (/api/v1beta1/cancel_order)
    • Querying account information
    • One-time data requests
  2. gRPC Streaming - Used for:
    • Real-time market data updates
    • Live order execution reports
    • Continuous position monitoring
    • Order book changes

Available Streaming Services

Market Data Streaming

Subscribe to real-time market data updates including:
  • Order book (bids and offers)
  • Instrument state changes
  • Trade statistics (last price, OHLC, volume)
  • Open interest
Service: MarketDataSubscriptionAPI.CreateMarketDataSubscription Learn more about Market Data Streaming →

Order Execution Streaming

Subscribe to real-time order and execution updates:
  • New order confirmations
  • Partial and complete fills
  • Order cancellations and rejections
  • Execution reports with trade details
Service: OrderEntryAPI.CreateOrderSubscription Learn more about Order Streaming →

Server Endpoints

Pre-Production Environment

traderapi.us-east-1.privatelink.preprod.polymarketexchange.com:443

Production Environment

traderapi.us-east-1.privatelink.prod.polymarketexchange.com:443
Both endpoints use TLS/SSL for secure communication. All connections must be encrypted.

Protocol Buffer Definitions

The exchange uses Protocol Buffers (proto3) to define message structures. Proto files are available:
  • Upon request: Contact support@qcex.com
  • Via server reflection: Use gRPC reflection to discover services at runtime

Package Structure

connamara.ep3.v1beta1           # Core services
├── MarketDataSubscriptionAPI   # Market data streaming
├── OrderEntryAPI               # Order streaming and entry
connamara.ep3.orders.v1beta1    # Order message types
connamara.ep3.instruments.v1beta1  # Instrument definitions

Quick Start

Ready to get started? Follow our Getting Started Guide to:
  1. Install Python gRPC libraries
  2. Obtain and compile proto files
  3. Authenticate and connect
  4. Subscribe to your first data stream

Architecture Overview

Authentication Flow

  1. Obtain JWT Token: Login via REST API endpoint
  2. Attach Token: Include token in gRPC metadata as authorization header
  3. Stream Data: Receive continuous updates over persistent connection
Learn more about Authentication →

Key Concepts

Heartbeats

Periodic keep-alive messages ensure connection health. If heartbeats stop, the connection may be stale.

Snapshots

Initial state of data (e.g., all open orders) sent when subscription starts.

Updates

Incremental changes streamed continuously after the snapshot.

Session IDs

Unique identifiers for each streaming session, useful for logging and debugging.

Next Steps