messageType, clientId, requestId, topic, optional data), plus connect / ping / pong for lifecycle.
Auth: Public for most topics. Restricted flows (e.g. per-address history) may require appropriate subscription data — follow product security guidance.
Connection
- Typical public URL:
wss://analytics.snek.fun/websocket/ws - Application path:
GET /wson the WebSocket server port.
DefaultOutgoingMessage with event, messageType, and optional data (JSON mirrors server code: MainPage, PoolsFeed, KOTH, LiveOrdersFeed, UserHistoryByAddress, UserHistoryByAddressAndAsset).
Topics (subscribe topic field)
| topic | data | Purpose |
|---|---|---|
Latest | omit | Main page — latest-updated pools |
New | omit | Main page — newest listings |
MCapDesc | omit | Main page — market cap descending |
CompletedCreateOn | omit | Completed pools by creation time |
CompletedMCap | omit | Completed pools by market cap |
KOTH | omit | King of the Hill updates |
PoolFeed | required | Single pool: { "asset": "{policy}.{hex}", "pkhFilter": null | ["…"] } |
LiveOrdersFeed | required | Orders table: { "asset": "…", "pkhFilter": null | ["…"] } |
UserHistoryByAddress | required | { "address": "addr1…" } |
UserHistoryByAddressAndAsset | required | { "address": "addr1…", "asset": "policy.hex" } |
PoolFeed data type is FeedByAssetData; live orders use the same shape.
Subscribe example
Unsubscribe
Connect / heartbeat
Use connect (messageType: connect) with clientId and requestId, and ping / pong (messageType: ping | pong) per the shared protocol implementation.