Rate Limits

We enforce rate limits on both REST API and WebSocket usage. These limits applies on both IP address and L1 wallet address.

Below is an overview of our rate limiting rules:


πŸ“Š REST API Endpoint Limits

The following limits apply to the https://mainnet.zklighter.elliot.ai/ base URL, different limits (listed further below) apply to https://explorer.elliot.ai/.

Premium Account users have limit of 24000 weighted REST API requests per minute window, while Standard Account users 60 per minute.

ThesendTx and sendTxBatch transaction types are the only types of transactions that can increase in quota (see Volume Quota ), which are used to create and modify orders. All other endpoints are have a set limit of tx per minute and do not increase with volume.

Weights per endpoint are the following:

/api/v1/sendTx, /api/v1/sendTxBatch, /api/v1/nextNonce

  • Per User: 6

/api/v1/publicPools,/api/v1/txFromL1TxHash, /api/v1/candlesticks

  • Per User: 50

/api/v1/accountInactiveOrders, /api/v1/deposit/latest

  • Per User: 100

/api/v1/apikeys

  • Per User: 150

Other endpoints not listed above are limited to:

  • Per User: 300

🌐 Standard Tier Rate Limit

Requests from a single IP address and L1 wallet address are capped at:

  • 60 requests per minute under the Standard Account

πŸ“Š Explorer REST API Endpoint Limits

The following limits apply to the https://explorer.elliot.ai/ Base URL.

Standard Users and Premium Users have the same limit of 15 weighted requests per minute window.

Weights per endpoint are the following:

/api/search

  • Per User: 3

/api/accounts/param/positions, /api/accounts/param/logs

  • Per User: 2

Other endpoints not listed above are limited to:

  • Per User: 1

πŸ”Œ WebSocket Limits

To prevent resource exhaustion, we enforce the following usage limits per IP:

  • Connections: 100
  • Subscriptions per connection: 100
  • Total Subscriptions: 1000
  • Max Inflight Messages: 50
  • Unique Accounts: 10

🧾 Transaction Type Limits (per user)

These limits applied for only Standard Accounts.

Transaction TypeLimit
Default40 requests / minute
L2Withdraw2 requests / minute
L2UpdateLeverage1 request / minute
L2CreateSubAccount2 requests / minute
L2CreatePublicPool2 requests / minute
L2ChangePubKey2 requests / 10 seconds
L2Transfer1 request / minute

β›” Rate Limit Exceeding Behavior

If you exceed any rate limit:

  • You will receive an HTTP 429 Too Many Requests error.
  • For WebSocket connections, excessive messages may result in disconnection.

To avoid this, please ensure your clients are implementing proper backoff and retry strategies.