inicio

Comisiones y límites

Límites de solicitudes y errores

Límites y errores de la API de Seeryx: el formato JSON de los errores, códigos como below_minimum y rate_limited, estados HTTP, límites y reintentos.

Formato de los errores

Todo error es un JSON con una frase para personas en error y, cuando un programa debe actuar en consecuencia, un code estable y, a veces, más campos.

Errores
{ "error": "Invalid limit" }
{ "error": "Minimum order is 5 shares", "code": "below_minimum", "minimum": 5 }
{ "error": "Post only: this order would trade at once at 16¢; lower the price or turn Post only off", "code": "would_take" }
{ "error": "Too many open orders ...", "code": "open_orders_limit", "limit": { "account": 200, "round": 100 } }
{ "error": "Too many orders", "code": "rate_limited", "retryAfter": 4 }

Códigos de error

codeEstadoSignificadoQué hacer
below_minimum400Menos acciones que el mínimo; minimum indica cuántasAumenta el tamaño
would_take400Una orden solo maker se ejecutaría al instanteAleja el precio del otro lado
open_orders_limit400Demasiadas órdenes en el libro; limit contiene los topes por cuenta y por mercadoCancela algunas primero
trading_paused400La clave de sesión que la firmó se cerróAbre una sesión nueva y vuelve a firmar
rate_limited429Demasiadas solicitudes de órdenes; retryAfter en segundosEspera y envía la misma solicitud
trading_halted503Las operaciones están detenidas para todos; GET /api/notice puede indicar el motivoEspera; las cancelaciones siguen funcionando

Las respuestas a las órdenes también pueden llevar un reason que no es un error: no_liquidity, beyond_limit y share_limit (consulta Operar).

Códigos de estado HTTP

EstadoCuándo
400Entrada no válida, efectivo o acciones libres insuficientes, una ronda que no se opera o que está cerrando, una orden por debajo del mínimo, una orden solo maker que se ejecutaría, una orden firmada que no coincide, una Idempotency-Key ausente o reutilizada
401Un token de inicio de sesión ausente, no válido o vencido (seeryx.com responde a estos casos con 403)
403Un token de inicio de sesión ausente, no válido o vencido en seeryx.com ("Authentication required", "Invalid or expired token"), o una cuenta bloqueada
404Ronda, mercado o perfil desconocido
408La solicitud tardó más de 30 segundos
409No es posible en este momento: aún no hay cuenta, una operación se sigue liquidando, un retiro no está disponible
413Cuerpo demasiado grande: 16 KB para una orden, una división o una combinación, 15 veces eso para un lote y 100 KB para todo lo demás
429Un límite de solicitudes: espera los segundos que indique Retry-After
502Solana o el puente no respondieron
503Operaciones detenidas (código trading_halted), reloj del exchange no disponible o servidor ocupado (Retry-After)

Límites de solicitudes

ConceptoLímiteSe cuenta por
Órdenes (cuenta cada orden de un lote), cancelaciones, divisiones, combinaciones250 cada 10 segundosCuenta
Órdenes en el libro200 en total, 100 en un mismo mercadoCuenta
Tu cuenta, órdenes, posiciones, saldo, /auth/me12.000 por minuto en conjuntoCuenta
Tu actividad, /settled, /feed, G/P300 por minuto en conjuntoCuenta
Mercados y rondas (/markets..., /rounds/:slug)1200 por minutoDirección IP
Libro de órdenes, operaciones, volumen, resumen de mercados, actividad de la ronda3000 por minutoDirección IP
Estadísticas, clasificación, perfiles, tenedores300 por minutoDirección IP
/auth/nonce, /auth/verify30 por minuto cada unoDirección IP
/deposit/recover2 por minutoCuenta
WebSocketVer WebSocketConexión, dirección IP

Al superar un límite, la respuesta es 429 con Retry-After en segundos. Un servidor ocupado responde 503 con Retry-After. Las respuestas de estadísticas, de la clasificación y de los tenedores pueden tener unos segundos de antigüedad. GET https://seeryx.com/health responde { "status": "ok" } para las comprobaciones de disponibilidad.

Reintentar con seguridad

  • 429 y 503: espera lo que indique Retry-After y vuelve a enviar la misma solicitud.
  • Un error de red o un 5xx en una escritura: reenvía el mismo cuerpo con la misma Idempotency-Key; si el primer intento se procesó, recibes su respuesta y nada se coloca dos veces.
  • 400: no la repitas sin cambios; corrige la solicitud y envíala con una clave nueva (y un id firmado nuevo).
  • 401 o 403: vuelve a iniciar sesión.