Commissioni e limiti
Limiti di richieste ed errori
Limiti ed errori dell’API di Seeryx: il formato JSON degli errori, codici come below_minimum e rate_limited, stati HTTP, limiti di richieste e nuovi tentativi.
Formato degli errori
Ogni errore è un JSON con una frase leggibile da una persona in error; quando un programma deve reagire, anche un code stabile e a volte altri campi.
{ "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 }Codici di errore
| code | Stato | Significato | Cosa fare |
|---|---|---|---|
below_minimum | 400 | Meno azioni del minimo; minimum indica quante | Aumenta la quantità |
would_take | 400 | Un ordine post-only verrebbe eseguito subito | Allontana il prezzo dal lato opposto |
open_orders_limit | 400 | Troppi ordini in attesa; limit contiene i limiti per conto e per mercato | Annullane prima alcuni |
trading_paused | 400 | La chiave di sessione che l’ha firmato è stata chiusa | Apri una nuova sessione e firma di nuovo |
rate_limited | 429 | Troppe richieste di ordine; retryAfter in secondi | Attendi, poi invia la stessa richiesta |
trading_halted | 503 | Il trading è sospeso per tutti; GET /api/notice potrebbe indicarne il motivo | Attendi; gli annullamenti funzionano comunque |
Le risposte agli ordini possono contenere anche un reason che non è un errore: no_liquidity, beyond_limit e share_limit (vedi Trading).
Stati HTTP
| Stato | Quando |
|---|---|
| 400 | Input non valido, fondi disponibili o azioni libere insufficienti, un round non negoziabile o in chiusura, un ordine sotto il minimo, un ordine post-only che verrebbe eseguito, un ordine firmato che non corrisponde, una Idempotency-Key mancante o riutilizzata |
| 401 | Un token di accesso mancante, non valido o scaduto (seeryx.com risponde in questi casi con 403) |
| 403 | Un token di accesso mancante, non valido o scaduto su seeryx.com ("Authentication required", "Invalid or expired token"), oppure un conto bloccato |
| 404 | Round, mercato o profilo sconosciuto |
| 408 | La richiesta ha impiegato più di 30 secondi |
| 409 | Non possibile al momento: nessun conto ancora, un’operazione ancora in fase di regolamento, un prelievo non pronto |
| 413 | Corpo troppo grande: 16 KB per un ordine, una divisione o un’unione, 15 volte tanto per un blocco, 100 KB per tutto il resto |
| 429 | Un limite di richieste: attendi i secondi indicati da Retry-After |
| 502 | Solana o il bridge non hanno risposto |
| 503 | Trading sospeso (codice trading_halted), orologio della piattaforma non disponibile, o server sovraccarico (Retry-After) |
Limiti di richieste
| Voce | Limite | Conteggio per |
|---|---|---|
| Ordini (conta ogni ordine di un blocco), annullamenti, divisioni, unioni | 250 ogni 10 secondi | Conto |
| Ordini in attesa | 200 in tutto, 100 in un singolo mercato | Conto |
| Il tuo conto, ordini, posizioni, saldo, /auth/me | 12.000 al minuto in totale | Conto |
| La tua attività, settled, feed, P&L | 300 al minuto in totale | Conto |
| Mercati e round (/markets..., /rounds/:slug) | 1200 al minuto | Indirizzo IP |
| Libro ordini, operazioni, volume, riepilogo dei mercati, attività del round | 3000 al minuto | Indirizzo IP |
| Statistiche, classifica, profili, detentori | 300 al minuto | Indirizzo IP |
| /auth/nonce, /auth/verify | 30 al minuto ciascuno | Indirizzo IP |
| /deposit/recover | 2 al minuto | Conto |
| WebSocket | Vedi WebSocket | Connessione, indirizzo IP |
Oltre un limite la risposta è 429 con Retry-After in secondi. Un server sovraccarico risponde 503 con Retry-After. Le risposte di statistiche, classifica e detentori possono risalire a qualche secondo prima. GET https://seeryx.com/health risponde { "status": "ok" } per i controlli di disponibilità.
Riprovare in sicurezza
- 429 e 503: attendi quanto indica
Retry-After, poi invia di nuovo la stessa richiesta. - Un errore di rete o un 5xx in scrittura: invia di nuovo lo stesso corpo con la stessa
Idempotency-Key; se il primo tentativo è andato a buon fine ricevi la sua risposta, e nulla viene inserito due volte. - 400: non ripetere la richiesta invariata; correggila, poi inviala con una nuova chiave (e un nuovo id firmato).
- 401 o 403: accedi di nuovo.