Websocket V1
WebSocket API Documentation for real time Tickers Monitoring
Overview
This API allows clients to subscribe/unsubscribe to real-time market feeds over Socket.IO.Supported feed types:
Crypto tickers via
subscribe_ticker / unsubscribe_tickerEquities via
subscribe_equity / unsubscribe_equity
Updates are currently emitted every 1 second for subscribed feeds. Each emitted record includes sentTimestampMs (server send timestamp in milliseconds).
Authentication
A valid API key is required at connection time. Use either:
auth.apiKey (recommended)
x-api-key handshake header
If key is missing/invalid, connection is rejected with connect_error (e.g. Missing or invalid API key.).
WebSocket endpoint
WebSocket communication is implemented using a socket.io server, providing built-in support for automatic message compression and automatic reconnections, making client integration simpler and more reliable.
To connect, use the following WebSocket endpoint:
Server URL:
https://pricing.aleno.aiSocket.IO path:
/v1/socket
Javascript Example (using socket.io-client):
Events
Client -> Server
subscribe_ticker (string[], ack)
unsubscribe_ticker (string[], ack)
subscribe_equity (string[], ack)
unsubscribe_equity (string[], ack)
Server -> Client
new_token_states (crypto updates)
new_equity_states (equities updates)
Subscription behavior
Symbols are normalized server-side (trim + uppercase).
Unsupported symbols are rejected.
Subscription acknowledgements can be:
ok (all accepted),
partial (some accepted, some rejected),
error (request rejected, e.g. per-key feed limit exceeded).
Acknowledgement payload
Fields:
status: operation result
involvedSubscriptions: accepted symbols involved in the request
subscriptionsAfterUpdate: current active subscriptions after processing
rejectedSubscriptions (optional): unsupported/denied symbols
error (optional): human-readable error for rejected operation
Example: subscribe to crypto + equities
Unsubscribe example
Payload notes
new_token_states
Array of crypto ticker state objects (existing ticker schema) with additional:
sentTimestampMs: number
new_equity_states
Array of objects:
sentTimestampMs: number
symbol: string
price: number
Limits
Per API key limits are enforced server-side (customer-specific configuration), including feed subscription limits.If a subscription exceeds your allowed limit, the server returns:
status: "error"error: "Subscription limit reached. Contact us to increase limits."
Reconnection & resubscription
Socket.IO handles transport reconnection automatically, but clients should always reissue subscriptions on reconnect to guarantee continuity after disconnect/server restarts.socket.on('connect', () => { // re-subscribe all required feeds here});
Last updated