Esta página fue traducida automáticamente. El original en inglés es la versión canónica. Leer en inglés
Saltar al contenido principal

Límites de Tasa

Limitación de tasa por wallet para operaciones de órdenes y solicitudes de API.

Descripción General

La limitación de tasa se aplica por wallet utilizando un algoritmo de ventana fija. Los límites se aplican a:

  • Colocación de órdenes (POST /order)
  • Cancelación de órdenes (DELETE /order)
  • Solicitudes de API (uso general de endpoints)

Los límites se reinician cada 60 segundos.

Límites Predeterminados

NivelÓrdenes/minCancelaciones/minSolicitudes API/minMáx. Órdenes AbiertasMáx. Posiciones
Predeterminado6012060010050
Nivel 130603005020
Nivel 21203001,200500200
Market Maker6001,2006,0002,000Ilimitado

Las wallets nuevas reciben los límites predeterminados. Contacte a soporte para actualizaciones de nivel.

Respuesta de Límite de Tasa

Cuando se excede un límite de tasa, la API devuelve 429 Too Many Requests:

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

Encabezados de Respuesta

Todos los endpoints con límite de tasa incluyen estos encabezados tanto en respuestas exitosas como de error:

EncabezadoDescripciónEjemplo
X-RateLimit-LimitMáximo de solicitudes permitidas por ventana60
X-RateLimit-RemainingSolicitudes restantes en la ventana actual42
X-RateLimit-ResetTimestamp Unix cuando se reinicia la ventana1737312060
Retry-AfterSegundos hasta poder reintentar (solo en 429)45

Ejemplo de Encabezados de Respuesta

Solicitud exitosa:

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

Solicitud con límite de tasa excedido:

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

Categorías de Límites de Tasa

Los límites de tasa se rastrean por separado para cada tipo de acción:

Colocación de Órdenes

Se aplica a:

  • POST /order (órdenes de opciones)
  • POST /bulk_order (órdenes en lote, cada orden del lote cuenta)
  • PUT /bulk_order (reemplazos en lote, cada reemplazo cuenta)

Cancelación de Órdenes

Se aplica a:

  • DELETE /order
  • DELETE /bulk_order (cancelaciones en lote, cada cancelación cuenta)
  • DELETE /bulk_order_cloid (cancelaciones en lote por ID de orden del cliente, cada cancelación cuenta)

Solicitudes de API

Se aplica al uso general de la API en todos los endpoints autenticados.

Límites de Posiciones y Órdenes

Además de los límites de tasa, las wallets tienen límites máximos de órdenes abiertas y posiciones:

Tipo de LímiteDescripciónRechazo
Máx. Órdenes AbiertasMáximo de órdenes abiertas concurrentesOrden rechazada antes de llegar al motor
Máx. PosicionesMáximo de posiciones únicas (-1 = ilimitado)Orden rechazada si crearía una nueva posición

Cuando se exceden los límites:

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

Mejores Prácticas

Manejo de Límites de Tasa

  1. Monitoree los encabezados: Rastree X-RateLimit-Remaining de forma proactiva
  2. Respete Retry-After: Espere la duración especificada antes de reintentar
  3. Implemente backoff: Use backoff exponencial ante 429s repetidos
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")

Optimización del Uso de Solicitudes

  1. Use endpoints en lote: POST /bulk_order para múltiples órdenes en una sola solicitud
  2. Cancele en lote: DELETE /bulk_order o DELETE /bulk_order_cloid en lugar de múltiples solicitudes DELETE /order
  3. WebSocket para actualizaciones: Suscríbase a las actualizaciones de órdenes en lugar de consultar GET /orders repetidamente

Monitoreo

Rastree estas métricas del lado del cliente:

  • Tasa de solicitudes por tipo de acción
  • Tendencias de X-RateLimit-Remaining
  • Frecuencia de respuestas 429
  • Duraciones promedio de Retry-After

Referencia de Errores

Estado HTTPCódigo de ErrorDescripción
429rate_limit_exceededLímite de tasa excedido, reintente después del tiempo especificado

Consulte Errores para la referencia completa de errores.