Diese Seite wurde maschinell übersetzt. Das englische Original ist maßgeblich. Auf Englisch lesen
Zum Hauptinhalt springen

Rate Limits

Rate Limiting pro Wallet für Order-Operationen und API-Anfragen.

Überblick

Rate Limiting wird pro Wallet mit einem Fixed-Window-Algorithmus durchgesetzt. Limits gelten für:

  • Orderplatzierungen (POST /order)
  • Orderstornierungen (DELETE /order)
  • API-Anfragen (allgemeine Endpunkt-Nutzung)

Die Limits werden alle 60 Sekunden zurückgesetzt.

Standard-Limits

StufeOrders/MinStornierungen/MinAPI-Anfragen/MinMax. offene OrdersMax. Positionen
Standard6012060010050
Stufe 130603005020
Stufe 21203001.200500200
Market Maker6001.2006.0002.000Unbegrenzt

Neue Wallets erhalten Standard-Limits. Kontaktieren Sie den Support für Stufen-Upgrades.

Rate-Limit-Antwort

Wenn ein Rate Limit überschritten wird, gibt die API 429 Too Many Requests zurück:

{
"error": "rate_limit_exceeded",
"message": "Rate limit exceeded for OrderPlacement: 60 per minute, retry after 45 seconds",
"retry_after_secs": 45,
"limit": 60
}

Antwort-Header

Alle Endpunkte mit Rate Limiting enthalten diese Header sowohl bei Erfolgs- als auch bei Fehlerantworten:

HeaderBeschreibungBeispiel
X-RateLimit-LimitMaximal erlaubte Anfragen pro Fenster60
X-RateLimit-RemainingVerbleibende Anfragen im aktuellen Fenster42
X-RateLimit-ResetUnix-Zeitstempel, wann das Fenster zurückgesetzt wird1737312060
Retry-AfterSekunden bis zum erneuten Versuch (nur bei 429)45

Beispiel für Antwort-Header

Erfolgreiche Anfrage:

HTTP/1.1 200 OK
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 42
X-RateLimit-Reset: 1737312060

Anfrage mit überschrittenem Rate Limit:

HTTP/1.1 429 Too Many Requests
Retry-After: 45
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1737312060

Rate-Limit-Kategorien

Rate Limits werden für jeden Aktionstyp separat erfasst:

Orderplatzierung

Gilt für:

  • POST /order (Optionsorders)
  • POST /bulk_order (Bulk-Orders, jede Order im Batch zählt)
  • PUT /bulk_order (Bulk-Ersetzungen, jede Ersetzung zählt)

Orderstornierung

Gilt für:

  • DELETE /order
  • DELETE /bulk_order (Bulk-Stornierungen, jede Stornierung zählt)
  • DELETE /bulk_order_cloid (Bulk-Stornierungen per Client-Order-ID, jede Stornierung zählt)

API-Anfragen

Gilt für die allgemeine API-Nutzung über alle authentifizierten Endpunkte hinweg.

Positions- und Order-Limits

Zusätzlich zu Rate Limits haben Wallets Limits für maximale offene Orders und Positionen:

Limit-TypBeschreibungAblehnung
Max. offene OrdersMaximale Anzahl gleichzeitig offener OrdersOrder wird abgelehnt, bevor sie die Engine erreicht
Max. PositionenMaximale Anzahl eindeutiger Positionen (-1 = unbegrenzt)Order wird abgelehnt, wenn sie eine neue Position erzeugen würde

Wenn Limits überschritten werden:

{
"error": "limit_exceeded",
"message": "Maximum open orders limit exceeded (100)"
}

Best Practices

Umgang mit Rate Limits

  1. Header überwachen: Verfolgen Sie X-RateLimit-Remaining proaktiv
  2. Retry-After beachten: Warten Sie die angegebene Dauer, bevor Sie es erneut versuchen
  3. Backoff implementieren: Verwenden Sie exponentielles Backoff bei wiederholten 429-Antworten
import time

def place_order_with_retry(order, max_retries=3):
for attempt in range(max_retries):
response = api.place_order(order)

if response.status_code == 429:
retry_after = int(response.headers.get('Retry-After', 60))
time.sleep(retry_after)
continue

return response

raise RateLimitError("Max retries exceeded")

Optimierung der Anfrage-Nutzung

  1. Bulk-Endpunkte verwenden: POST /bulk_order für mehrere Orders in einer Anfrage
  2. Stornierungen bündeln: DELETE /bulk_order oder DELETE /bulk_order_cloid anstelle mehrerer DELETE /order-Anfragen
  3. WebSocket für Updates: Abonnieren Sie Order-Updates, anstatt GET /orders per Polling abzufragen

Monitoring

Verfolgen Sie diese clientseitigen Metriken:

  • Anfragerate pro Aktionstyp
  • Trends bei X-RateLimit-Remaining
  • Häufigkeit von 429-Antworten
  • Durchschnittliche Retry-After-Dauern

Fehlerreferenz

HTTP-StatusFehlercodeBeschreibung
429rate_limit_exceededRate Limit überschritten, erneuter Versuch nach der angegebenen Zeit

Siehe Fehler für die vollständige Fehlerreferenz.