> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hyperprop.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Rate limits & quotas

> What is rate-limited, the exact numbers, and how to handle 429s.

Every limit on this page exists in production today — there are no
undocumented ones, and nothing here is aspirational.

## Platform API

The Platform API (organization + user endpoints) currently has **no fixed
request-rate limit**. Reasonable integration traffic — including bulk
account provisioning — needs no throttling on your side.

<Note>
  Fair use applies: if a runaway integration ever degrades service we may
  contact you or introduce limits, announced in advance via the changelog.
  Design for it cheaply by respecting `Idempotency-Key` on writes and backing
  off on `ENGINE_UNREACHABLE` / `IDEMPOTENCY_KEY_IN_PROGRESS` — see
  [Idempotency](/concepts/idempotency).
</Note>

## Trade API

The trade engine rate-limits **per account, per action category** using
token buckets: each category has a burst capacity and a steady refill rate.
Short bursts up to the capacity are fine; sustained throughput is the
refill rate.

| Action category          | Endpoints                          | Burst | Sustained |
| ------------------------ | ---------------------------------- | ----- | --------- |
| Order submissions        | `POST /trade/order`                | 10    | 10/s      |
| Order modifications      | modify, attach/detach bracket      | 10    | 10/s      |
| Order cancellations      | cancel, cancel-all                 | 20    | 20/s      |
| Position close / flatten | close, reverse, close-all, flatten | 5     | 2/s       |
| Copy config changes      | all `/trade/copy/*` writes         | 10    | 2/s       |
| Lockout operations       | create/delete lockout              | 5     | 1/s       |

Exceeding a bucket returns **429** with code `RATE_LIMITED` and full retry
guidance in the body:

```json theme={null}
{
  "success": false,
  "data": null,
  "error": "Rate limit exceeded for order submissions. Max 10 requests per second per account. Retry after 0.1 seconds.",
  "code": "RATE_LIMITED",
  "rate_limit": {
    "limit": 10,
    "remaining": 0,
    "reset": 1711800125,
    "retry_after": 0.1
  }
}
```

Handle it by sleeping `rate_limit.retry_after` seconds and retrying —
that value is exact, not an estimate. The same `rate_limit` block also
rides along on successful responses so you can pace proactively.

<Tip>
  Limits are per **account**: a copy-trading leader fanning out to followers
  doesn't consume the followers' buckets — mirrored executions are internal
  and unmetered.
</Tip>

## Webhooks & event stream quotas

Not request-rate limits, but the delivery-side quotas to size for
(details in the [webhooks guide](/guides/webhooks)):

| Quota                                              | Value                                            |
| -------------------------------------------------- | ------------------------------------------------ |
| Webhook endpoints per organization                 | 5                                                |
| Delivery timeout                                   | 10 s (respond 2xx within it)                     |
| Delivery attempts                                  | 5, with backoff (immediate, 1 m, 5 m, 30 m, 2 h) |
| Auto-disable                                       | after 25 consecutive failures                    |
| Minimum spacing between deliveries to one endpoint | 200 ms                                           |
| Concurrent org event-stream WebSocket connections  | 10 per organization                              |
| Event-stream catch-up replay (`?since=`)           | 1,000 events per reconnect                       |

## Market Data API

No request-rate limits on the REST endpoints. Access is governed by
licensing instead: a valid CME agreement plus active entitlements per
user, and WebSocket entitlement refreshes are throttled to one per 2
seconds server-side.


## Related topics

- [Partner integrations](/guides/partner-integrations.md)
- [Changelog](/changelog.md)
- [Submit a market, limit, or stop order](/trade-api/orders/submit-a-market-limit-or-stop-order.md)
- [Delete a copy trading config](/trade-api/copy-trading/delete-a-copy-trading-config.md)
- [Cancel all pending orders for an account](/trade-api/orders/cancel-all-pending-orders-for-an-account.md)
