Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Rate Limits

Rate limits are enforced per authenticated identity (Ethereum address or Telegram user ID). All limits are shared across your WebSocket connections - if you open multiple connections, they draw from the same pool.

Connections

Each identity can maintain a limited number of concurrent WebSocket connections. AlphaHype users can open up to 10 connections, while Telegram users can open up to 20 connections. This allows you to run multiple clients or services under the same identity without interference.

If you try to open a new connection after reaching the limit, it will be rejected with HTTP 429.

Subscriptions

You can have up to 100 active subscriptions across all your connections.

When you hit the limit, new subscribe requests will fail, but your existing subscriptions keep working. Unsubscribe from channels you no longer need to free up slots.

Unique Users

For user-specific subscriptions (orderUpdates and userFills), there's a limit of 10 unique user addresses you can track across all connections. This prevents any single client from monitoring too many accounts.

Subscribing to both orderUpdates and userFills for the same address counts as just one unique user. When you close a connection, the user slots it was using become available again.

Messages

Inbound WebSocket messages are limited to 1,000 per minute with a small burst allowance for temporary spikes. This includes all message types: subscribe, unsubscribe, ping, and post requests.

Under normal usage you won't hit this limit - it's primarily there to protect against runaway clients or bugs that might flood the server.

Inflight Posts

The post method for queries allows up to 100 concurrent requests awaiting response. This is a high limit that accommodates heavy query workloads while preventing any single client from monopolizing server resources.

If you hit this limit, wait for some of your pending requests to complete before sending more.

HTTP Requests

The HTTP /info endpoint is limited to 30 requests per minute. For real-time data, prefer WebSocket subscriptions which don't count against this limit.

Errors

When any rate limit is exceeded, the server responds with:

{
  "channel": "error",
  "data": {
    "error": "rate limit exceeded"
  }
}

For connection limits, the WebSocket handshake is rejected with HTTP 403.