Skip to main content
WebSockets provide a persistent connection between your application and Pragma’s servers, allowing for real-time data streaming with minimal latency.

Connection Endpoints

  • Development
  • Production
wss://ws.devnet.pragma.build/node/v1
We recommend using the Development endpoint while building and testing your application.

Authentication

All WebSocket connections are currently public and open without authentication.
In the near future, WebSocket connections will require authentication using an API key similar to the REST API. We recommend designing your implementation with this upcoming change in mind.

Connection Management

Connection Lifecycle

Understanding how to properly establish, maintain, and close WebSocket connections is essential for reliable real-time data streaming.

Reconnection Strategy

Implement proper reconnection logic to handle network interruptions and server-initiated disconnects gracefully.

Connection Limits

256

KB per second limit

Each IP address is limited to 256 KB per second of data transmission

Connections exceeding this limit are automatically closed without warning
Rate limits are tracked and enforced per unique IP address. Consider this when deploying multiple applications or services from the same origin.
60s

Inactivity timeout

Connections automatically close after 60 seconds of inactivity

Recommended Practice

Send a ping message every 30 seconds to keep the connection alive

This timeout prevents resource consumption from idle connections and ensures efficient server utilization.

Best Practices

1

Implement proper error handling

Always include robust error handling and reconnection logic in your WebSocket implementation. Network disconnections and server-side issues can occur, and your application should gracefully recover from these scenarios.
2

Use ping/pong messages

Send regular ping messages (every 30 seconds) to keep the connection alive and detect stale connections early.
3

Monitor connection health

Track connection state and performance metrics in your application to ensure reliable data delivery and prompt detection of issues.
4

Implement backoff strategy

When reconnecting after failures, use an exponential backoff strategy to avoid overwhelming the server during outages.

Common Issues & Troubleshooting

Possible causes:
  • Rate limit exceeded (256 KB/s)
  • Inactivity timeout (60 seconds without messages)
  • Server maintenance or restarts
Solution: Implement reconnection logic with exponential backoff. Ensure you’re sending ping messages every 30 seconds to keep the connection alive.
Possible causes:
  • Incorrectly formatted JSON messages
  • Missing required fields
  • Invalid subscription parameters
Solution: Validate all outgoing message formats against the API documentation. Log and inspect error responses from the server.
Possible causes:
  • Network congestion
  • Geographic distance from server
  • Client-side processing delays
Solution: Consider using a closer geographic endpoint if available. Optimize client-side message processing to reduce delays.