System Limits
Overview
Ethereal uses a time-weighted point system tracking both IP addresses and wallet addresses. Each API call consumes points from your available quota within a rolling time window. Point consumption varies by endpoint.
Current Limits and Shared Quotas
The system allows up to 20,000 points per 1-minute window for HTTP and 3500 points per 5-minute window for WS connections. HTTP API calls and WebSocket connections share different point pools, with WebSocket streams only consuming points upon connection and subscription. Use websockets for data retrieval - polling HTTP endpoints incurs more points.
WebSocket connections automatically disconnect after 12 hours. Your client must handle reconnections.
RateLimit-*, Retry-After Headers
All rate-limited HTTP API endpoints return the following headers to provide insight into your remaining points:
RateLimit-Limit: <total points allowed in the time window>
RateLimit-Remaining: <points remaining in the current time window>
RateLimit-Reset: <seconds until rate limit resets>
Retry-After: <seconds until rate limit resets (only when rate limited)>Retry-After/RateLimit-Reset: Indicates the number of seconds until the rate limit window resets. If you've exceeded your rate limit, this header tells you how long to wait before making additional requests.
RateLimit-Limit: Shows the total number of points available in your current time window (1 million points by default).
RateLimit-Remaining: Displays the number of points you have remaining in the current time window. This decreases with each API call according to the point cost of the specific endpoint.
RateLimit Response Body
When rate limited, the response body will include a type attribute indicating the cause:
RATE_LIMIT_IP- IP address exceeded rate limitRATE_LIMIT_ACCOUNT- Account exceeded rate limitRATE_LIMIT_WITHDRAW- Withdrawal rate limit exceededRATE_LIMIT_LINKED_SIGNER- Linked signer exceeded rate limit
Points
Each operation consumes rate limit units proportional to its computational cost: 1, 5, or 10.
1: Minimal impact endpoints (simple reads, submit/cancels)
5: Moderate impact endpoints (moderately complex reads)
10: Elevated average impactful endpoints (moderately complex pagination)
All endpoints are classified into one of these categories to provide a straightforward understanding of their relative impact on your rate limit quota.
Rate limits will change over time based on exchange traffic.
All websocket connections consume 10 points per connection and 5 point to subscribe to a message stream.
Account Limits
Maximum 50 open positions per subaccount (for efficient onchain verification)
No limit on number of subaccounts per trader
10 withdrawals per day
23 linked signers per 7 day window up to 101 maximum linked signers
Order Limits
A maximum of 200 orders
Last updated
