Coloca, agrupa y cancela órdenes en Seeryx: órdenes límite, de mercado y solo maker, claves de idempotencia, vencimiento, división y combinación, con ejemplos.
Operas con POST /api/orders (una orden) o POST /api/orders/batch (hasta 15), cancelas con DELETE /api/orders/:id o DELETE /api/orders, y conviertes efectivo en pares y viceversa con /api/split y /api/merge. En seeryx.com cada orden, división y combinación lleva un objeto signed creado por tu clave de sesión de trading: Firma de órdenes explica cómo; los ejemplos de esta página lo hacen por ti.
El token de inicio de sesión (o Authorization: Bearer).
Idempotency-Keycabeceraobligatorio
string
En cada POST y DELETE que opera: de 8 a 128 letras, dígitos, _ o -, nueva para cada acción. La misma clave con el mismo cuerpo responde lo mismo que la primera solicitud y no cambia nada; con otro cuerpo, se rechaza. Las claves se recuerdan durante 24 horas.
Una orden límite en el libro; una compra de mercado de 5 $ que se ejecutó; una compra de mercado cuyo cap estaba por debajo de la mejor venta.
order es el id de lo que queda en el libro, null cuando no queda nada. filled son las acciones operadas ahora; spent y proceeds son los USDC pagados y recibidos, comisiones incluidas.
Una orden de mercado añade requested, fee, avgPrice (centavos, sin la comisión), unspent o unsold, status (filled, partial o none) y, cuando no se ejecutó por completo, reason: no_liquidity, beyond_limit (con bestPrice) o share_limit.
Una orden de mercado que no ejecuta nada sigue siendo un 200, no un error.
Las órdenes límite se firman hasta el cierre del mercado (el final de la ronda o el closesAt de un evento) y quedan en el libro hasta entonces.
Las órdenes de mercado, las divisiones y las combinaciones se liquidan en segundos, así que fírmalas por 5 minutos, nunca más allá del cierre. El servidor acepta un vencimiento desde 5 segundos en el futuro hasta el cierre.
En los últimos 5 segundos de una ronda no se aceptan órdenes nuevas (400 "Round is closing"). Las órdenes en el libro vencen al cierre y aparecen con el tipo expire en tu actividad.
Rondas por adelantado. Las diez rondas siguientes de 5m y 15m (una de 1h y de 1d) ya aceptan órdenes, así que un bot puede cotizar una ronda antes de que empiece.
POST /api/orders/batch coloca hasta 15 órdenes en una sola solicitud, en el orden indicado, cada una con sus propias comprobaciones: la respuesta tiene un { status, body } por orden, exactamente lo que habría respondido POST /api/orders. La orden i se registra con <your key>-<i>, así que reintentar el lote entero con la misma clave no coloca nada dos veces. DELETE /api/orders cancela todas tus órdenes abiertas, o con ?slug= las de un mercado, en una sola transacción.
curl
# two orders in one request (on seeryx.com each also carries its own "signed")curl-s-X POST https://seeryx.com/api/orders/batch \
-H"X-Auth-Token: $TOKEN"-H"Idempotency-Key: $(uuidgen)"-H"Content-Type: application/json" \
-d'{"orders":[{"slug":"btc-updown-5m-1791916200","side":"up","action":"buy","type":"limit","shares":5,"limit":40},
{"slug":"btc-updown-5m-1791916200","side":"down","action":"buy","type":"limit","shares":5,"limit":40}]}'# {"results":[{"status":200,"body":{"order":21306,...}},{"status":200,"body":{"order":21307,...}}]}# cancel everything still resting in the roundcurl-s-X DELETE "https://seeryx.com/api/orders?slug=btc-updown-5m-1791916200"-H"X-Auth-Token: $TOKEN"-H"Idempotency-Key: $(uuidgen)"# {"success":true,"cancelled":[21306,21307]}
POST /api/split con { slug, amount } convierte amount USDC en otras tantas acciones de Sube y de Baja; POST /api/merge con { slug, shares } convierte los pares de nuevo en 1,00 $ cada uno. Sin comisión; al menos 5 pares; en seeryx.com se firman con un mensaje PMS1.
Efectivo. Las compras en el libro no retienen efectivo, pero todas tus compras abiertas en un mercado, con la comisión taker a su precio límite, deben caber en tu efectivo disponible. El efectivo solo se mueve cuando una orden se ejecuta; una compra que ya no puedes pagar se cancela.
Tus propias órdenes. Una orden puede operar contra tus propias órdenes en el libro, y entonces paga la comisión taker como cualquier otra; una orden solo maker, en cambio, se rechaza.
Órdenes en el libro. Como máximo 200 por cuenta y 100 en un mismo mercado (400 open_orders_limit).
Frecuencia de solicitudes. 250 solicitudes de órdenes, cancelaciones, divisiones y combinaciones cada 10 segundos por cuenta; cuenta cada orden de un lote (429 rate_limited). Consulta Límites de solicitudes y errores.
Cuando GET /api/funds indica onChainTrading (siempre en seeryx.com), el cuerpo lleva además "signed", creado por tu clave de sesión de trading: consulta Firma de órdenes.
order es el id de la parte que queda en el libro, null cuando no queda nada. filled son las acciones operadas ahora; spent y proceeds son los USDC pagados y recibidos, comisiones incluidas.
Una orden de mercado responde con su resultado completo: requested, fee, avgPrice (centavos, sin la comisión), unspent (en una compra) o unsold (en una venta), status "filled", "partial" o "none" y, si no se ejecutó por completo, un reason: "no_liquidity" (el libro se agotó), "beyond_limit" con bestPrice (el resto tiene un precio peor que tu cap) o "share_limit" (una compra de mercado firmada en acciones las obtuvo todas por debajo de su cap). Una orden de mercado que no ejecuta nada sigue siendo un 200.
Estado
Cuándo
400
Entrada no válida ("Invalid limit", "Invalid slug"), "Round is not live", "Round is closing", "Insufficient balance", "Insufficient free shares", una orden firmada que no coincide
400 below_minimum
Menos acciones que minOrderShares; la respuesta añade "minimum"
400 would_take
Una orden solo maker que se ejecutaría al instante
400 open_orders_limit
Demasiadas órdenes en el libro; la respuesta añade "limit": { account, round }
400 trading_paused
La clave de sesión que la firmó se cerró: abre una sesión nueva y vuelve a firmar
429 rate_limited
Más solicitudes de órdenes de las permitidas por intervalo; espera "retryAfter" segundos
503 trading_halted
Las operaciones están detenidas para todos (consulta GET /api/notice); las cancelaciones siguen funcionando
503
Exchange clock unavailable: el servidor no puede confirmar la hora de la ronda; inténtalo de nuevo en unos segundos
POST/api/orders/batch
Colocar hasta 15 órdenes en una sola solicitud
Con sesión + Idempotency-Key
Campo
Tipo
Descripción
orderscuerpoobligatorio
array
De 1 a 15 órdenes, cada una exactamente con el cuerpo de POST /api/orders y su propio objeto signed
Se colocan en el orden indicado, cada una con sus propias comprobaciones; una orden rechazada no detiene las demás. Cada orden cuenta como una solicitud para el límite de solicitudes.
La orden i se registra con la clave de idempotencia <your key>-<i> (i desde 0; tu clave, de 125 caracteres como máximo), así que reintentar el lote entero no coloca nada dos veces.
Estado
Cuándo
400
orders no es una lista de 1 a 15 órdenes
429 rate_limited
El lote superaría las solicitudes de órdenes permitidas por intervalo