Endpoint Details
- URL:
wss://api.mobula.io - Event Type:
market-details
Subscription Formats
Themarket-details endpoint supports subscribing to multiple pool addresses for real-time market data.
Multiple Pools Subscription (Recommended)
Subscribe to multiple pools using thepools array format:
Parameters
pools(required): Array of pool subscription items, each containing:blockchain(required): Blockchain identifier (e.g.,"evm:1","solana")address(required): Pool address
subscriptionId(optional): Unique identifier for your WebSocket connection. Auto-generated if not providedsubscriptionTracking(optional, default:false): Include subscription details in response logs for debuggingmaxUpdatesPerMinute(optional): Limit how often the server sends updates for each pool. See Update Rate Throttling below
Pool Addresses Only: This endpoint is for subscribing to pool addresses. For token-specific subscriptions, use the
token-details endpoint instead.Real-Time Updates
After subscribing, you’ll receive real-time updates whenever new trades occur on the subscribed pools.Real-Time Trade Updates for Pool Subscriptions
When trades happen on subscribed pool addresses, you’ll receive updates with trade information:Optional Fields Behavior
Unsubscribing from the Stream
Unsubscribe from All Market-Details Streams
Unsubscribe from Specific Subscription
Unsubscribe from Specific Subscription with Type
Unsubscribe from Specific Pools (Partial Unsubscription)
You can unsubscribe from specific pools while keeping others active in the same subscription:Unsubscribe from Multiple Specific Pools
Unsubscribe from Specific Pools in a Specific Subscription
If you didn’t provide a
subscriptionId when subscribing, one is auto-generated. To retrieve it, set "subscriptionTracking": true in the subscription payload.For partial unsubscriptions without subscriptionId, the system will automatically find and modify subscriptions that contain the specified pools, leaving other pools in those subscriptions active.Update Rate Throttling
You can control how frequently the server sends update messages per pool using themaxUpdatesPerMinute field. This is useful for reducing bandwidth on dashboards that don’t need every single trade update.
- Per-pool throttle: Each pool is throttled independently. Subscribing to 5 pools with
maxUpdatesPerMinute: 60means each pool sends at most 1 update/second. - Dropped, not buffered: When an update arrives within the throttle window, it is silently dropped. The next update after the interval elapses will be delivered normally.
maxUpdatesPerMinute | Effective interval | Description |
|---|---|---|
| 600 | 100ms | Maximum rate (~10 updates/sec per pool) |
| 60 | 1s | One update per second per pool |
| 6 | 10s | One update every 10 seconds |
| 1 | 60s | One update per minute (minimum rate) |
When
maxUpdatesPerMinute is not provided, no throttle is applied and updates are delivered as fast as they arrive.