accueil

Frais et limites

Limites de requêtes et erreurs

Limites et erreurs de l’API Seeryx : format JSON des erreurs, codes comme below_minimum et rate_limited, statuts HTTP, limites et nouvelles tentatives.

Format des erreurs

Chaque erreur est un objet JSON avec une phrase lisible par un humain dans error ; lorsqu’un programme doit réagir, un code stable et parfois d’autres champs.

Erreurs
{ "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 }

Codes d’erreur

codeStatutSignificationQue faire
below_minimum400Moins de parts que le minimum ; minimum indique combienAugmentez la taille
would_take400Un ordre Post-only s’exécuterait aussitôtÉloignez le prix de l’autre côté du carnet
open_orders_limit400Trop d’ordres en attente ; limit contient les plafonds par compte et par marchéAnnulez-en d’abord quelques-uns
trading_paused400La clé de session qui l’a signé a été ferméeOuvrez une nouvelle session et signez de nouveau
rate_limited429Trop de requêtes d’ordre ; retryAfter en secondesAttendez, puis renvoyez la même requête
trading_halted503Le trading est suspendu pour tous ; GET /api/notice peut en indiquer la raisonAttendez ; les annulations fonctionnent toujours

Les réponses aux ordres peuvent aussi contenir un champ reason qui n’est pas une erreur : no_liquidity, beyond_limit et share_limit (voir Trading).

Statuts HTTP

StatutCas
400Entrée invalide, liquidités ou parts libres insuffisantes, manche non négociable ou en cours de clôture, ordre inférieur au minimum, ordre Post-only qui s’exécuterait, ordre signé qui ne correspond pas, en-tête Idempotency-Key manquant ou réutilisé
401Jeton de connexion manquant, invalide ou expiré (seeryx.com répond à ces cas par un 403)
403Jeton de connexion manquant, invalide ou expiré sur seeryx.com ("Authentication required", "Invalid or expired token"), ou compte bloqué
404Manche, marché ou profil inconnu
408La requête a pris plus de 30 secondes
409Impossible pour le moment : pas encore de compte, une opération encore en cours de règlement, un retrait pas encore prêt
413Corps trop volumineux : 16 Ko pour un ordre, une scission ou une fusion, 15 fois plus pour un lot, 100 Ko pour tout le reste
429Une limite de requêtes : attendez le nombre de secondes indiqué par Retry-After
502Solana ou le pont n’a pas répondu
503Trading suspendu (code trading_halted), horloge de la plateforme indisponible, ou serveur surchargé (Retry-After)

Limites de requêtes

OpérationLimiteCompté par
Ordres (chaque ordre d’un lot compte), annulations, scissions, fusions250 par tranche de 10 secondesCompte
Ordres en attente200 au total, 100 sur un même marchéCompte
Votre compte, vos ordres, vos positions, votre solde, /auth/me12 000 par minute au totalCompte
Votre activité, vos positions réglées, votre flux, vos gains et pertes300 par minute au totalCompte
Marchés et manches (/markets..., /rounds/:slug)1 200 par minuteAdresse IP
Carnet d’ordres, transactions, volume, résumé des marchés, activité de la manche3 000 par minuteAdresse IP
Statistiques, classement, profils, détenteurs300 par minuteAdresse IP
/auth/nonce, /auth/verify30 par minute chacunAdresse IP
/deposit/recover2 par minuteCompte
WebSocketVoir WebSocketConnexion, adresse IP

Au-delà d’une limite, la réponse est 429 avec Retry-After en secondes. Un serveur surchargé répond 503 avec Retry-After. Les réponses des statistiques, du classement et des détenteurs peuvent dater de quelques secondes. GET https://seeryx.com/health répond { "status": "ok" } pour les vérifications de disponibilité.

Réessayer sans risque

  • 429 et 503 : attendez le temps indiqué par Retry-After, puis renvoyez la même requête.
  • Une erreur réseau ou un 5xx sur une écriture : renvoyez le même corps avec le même en-tête Idempotency-Key ; si la première tentative a abouti, vous recevez sa réponse, et rien n’est passé deux fois.
  • 400 : ne la répétez pas telle quelle ; corrigez la requête, puis envoyez-la avec une nouvelle clé (et un nouvel id signé).
  • 401 ou 403 : reconnectez-vous.