Skip to main content
Data is streamed via WebSocket connections directly to the provider, not through the LI.FI API. This provides the lowest possible latency for market data and user events.
If you’re using the @lifi/perps-sdk, the PerpsWsClient handles all connection management, subscriptions, and data normalization automatically.

Connection Discovery

The WebSocket URL for each provider is advertised via the GET /providers endpoint in the optional wsUrl field. Not all providers may support WebSocket — check for its presence before attempting to connect.
Connect directly to the returned wsUrl. The URL points to the provider’s native WebSocket endpoint — message formats, available channels, and rate limits are provider-specific.

Reconnection

If the connection drops:
  1. Wait with jittered exponential backoff — the first retry delay is drawn once per socket from [500ms, 1500ms) (to de-synchronize reconnect storms), then grows by a factor of 1.3 each attempt, capped at 10s
  2. Reconnect to the same wsUrl
  3. Re-send all active subscriptions
After 10 failed attempts, the connection is declared disconnected and stops retrying. The SDK’s PerpsWsClient handles this automatically.

Provider-Specific Protocol

Each provider has its own native WebSocket protocol, message formats, channels, and rate limits. See the provider pages for details: