Version: 0.10.7 • Status: Production • Public URL: wss://ws.gemini.com
Our WebSocket API provides low latency access to real-time market data and order execution for professional traders and institutions. Built from the ground up for performance, our WebSocket API delivers fastest latency on AWS with enterprise-grade reliability.
Key Features
- Low Latency - Sub-10ms market data updates for competitive advantage
- Real-Time Trading - Place, modify, and cancel orders via WebSocket
- Multiple Streams - Subscribe to multiple markets simultaneously
Performance Tiers
| Tier | Target | Description |
|---|---|---|
| Tier 2 (Public Internet) | p99~15ms | Public offering connecting to AWS us-east-1 over the public internet. Provides good baseline performance with minimal setup complexity. |
| Tier 1 (In Region) | p99~10ms | Direct connection to us-east-1 feed. Provides improved performance a step above the public offering but requires onboarding to peer to our infrastructure. |
| Tier 0 (Local Zone) | p99~5ms | Best performance outside of NY5, physically closest to our data center. Requires onboarding similar to us-east-1. |
Please email api@gemini.com to onboard to our WebSocket high performance tiers.
Connection Parameters
Connection-level query parameters can be passed in the WebSocket URL to customize behavior:
| Parameter | Type | Default | Description |
|---|---|---|---|
snapshot | integer | 0 | Controls initial orderbook snapshot delivery when subscribing to differential depth streams |
Snapshot Parameter
The snapshot parameter controls whether an initial orderbook snapshot is sent when subscribing to differential depth streams ({symbol}@depth, {symbol}@depth@100ms).
Connection URL example:
Code
snapshot Value | Behavior |
|---|---|
Not specified / 0 | No snapshot — only incremental updates (default) |
-1 (or any negative) | Full orderbook snapshot sent immediately on subscribe |
Positive integer (e.g., 100) | Top N levels snapshot sent on subscribe |
Use snapshot=-1 to receive a full orderbook snapshot immediately when subscribing to differential depth streams. This is useful for initializing your local orderbook state without needing a separate REST API call.

