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.