Primeros pasos
Conceptos
Cómo funcionan los mercados de Seeryx: slugs de rondas y eventos, duraciones, estados de ronda, el libro reflejado, precios, divisiones, liquidación y pagos.
Mercados y rondas
Un mercado cripto es un activo y una duración de ronda: BTC 5m, ETH 1h, BNB 1d. Funciona como una cadena de rondas, cada una de ellas una pregunta independiente con su propio libro de órdenes, sus propias acciones y su propio resultado. GET /api/markets lista los mercados.
| tf | Duración | Empieza | Se operan por adelantado |
|---|---|---|---|
5m | 5 minutos | En cada múltiplo de 300 s (UTC) | La ronda en vivo y las 10 siguientes |
15m | 15 minutos | En cada múltiplo de 900 s | La ronda en vivo y las 10 siguientes |
1h | 1 hora | Cada hora en punto | La ronda en vivo y la siguiente |
1d | 24 horas | A las 12:00, hora de Nueva York | La ronda en vivo y la siguiente |
Las rondas que aún no han empezado también se operan: su precio de apertura sigue siendo el del segundo exacto en que empiezan, así que una orden colocada antes es una predicción sobre un periodo posterior.
Slugs de las rondas
Una ronda se llama {asset}-updown-{tf}-{start}: el activo en minúsculas, la duración y el inicio en segundos Unix. La ronda termina en start + length.
const LENGTH = { '5m': 300, '15m': 900, '1h': 3600, '1d': 86_400 } as const;
// the live round's slug comes from GET /api/markets/{asset}/{tf}/current; the ones after it follow on
const live = await api<{ slug: string; end: number }>('/markets/BTC/15m/current');
const next = (k: number) => `btc-updown-15m-${live.end + (k - 1) * LENGTH['15m']}`; // k = 1..10Una ronda diaria empieza a las 12:00, hora de Nueva York (16:00 UTC en verano, 17:00 en invierno), y siempre dura 24 horas, así que los dos días en que Nueva York cambia la hora las rondas se solapan o dejan un hueco de una hora: toma el inicio del día siguiente de GET /api/rounds/:slug o de la ronda en vivo cuando aparezca en la lista, en lugar de sumar 86.400.
Mercados de eventos
Un mercado de eventos es un resultado de una pregunta («¿Recortará la Fed las tasas en diciembre?»). Su slug empieza por ev-. Se opera como una ronda larga: el mismo libro de órdenes, las mismas órdenes, el mismo WebSocket y las mismas comisiones, con up para SÍ y down para NO. Las operaciones se detienen en closesAt; después, el Optimistic Oracle de UMA lo resuelve. GET /api/events los lista y GET /api/event-groups los agrupa en preguntas.
Estados de una ronda
| status | Significado | Se opera |
|---|---|---|
upcoming | Antes de su inicio | Sí, si está entre las rondas que se operan por adelantado |
live | Entre el inicio y el final | Hasta 5 segundos antes del final (después, "Round is closing") |
live | Pasado su final, con outcome aún en null: se está guardando el precio de cierre | No |
settled | outcome es up o down | No; se pagan las acciones ganadoras |
Los mercados de eventos tienen los estados open, closed (operaciones terminadas, a la espera de UMA) y resolved, con outcome yes o no.
Un libro, dos lados
Sube y Baja son un mismo libro de órdenes. Una compra de Sube a p es una venta de Baja a 100 − p, así que ?side=up y ?side=down muestran las mismas órdenes desde cada lado. Dos compradores pueden operar entre sí: un comprador de Sube a 60¢ y un comprador de Baja a 40¢ pagan juntos 1,00 $, con lo que se acuña una acción de Sube y una de Baja. Del mismo modo, un vendedor de Sube y un vendedor de Baja combinan sus acciones de nuevo en dólares.
Precios y tamaños
| Regla | Valor |
|---|---|
| Precios | Centavos enteros de 1 a 99; décimas de centavo de 0,1 a 0,9 y de 99,1 a 99,9 cuando finePrices de GET /api/funds está activado (lo está en seeryx.com). Cualquier otro precio: 400 "Invalid limit" |
| Acciones | Hasta 4 decimales; a un precio entre centavos enteros, en pasos de 0,001 |
| Orden mínima | 5 acciones (minOrderShares de GET /api/fees): una orden límite de esa cantidad de acciones, una compra de mercado por un importe que las compre al mejor precio de venta, una venta de esa cantidad o de todas las acciones libres que tengas. Por debajo: 400 below_minimum |
| Emparejamiento | Primero el mejor precio y después la orden más antigua; una ejecución se hace al precio de la orden que está en el libro |
Dividir y combinar
POST /api/split convierte USDC en el mismo número de acciones de Sube y de Baja, a 1,00 $ el par; POST /api/merge convierte los pares de nuevo en 1,00 $ cada uno. Ambas operaciones son gratuitas y requieren al menos 5 pares. Un par siempre paga exactamente 1,00 $ al final, así que un creador de mercado que tenga ambos lados puede combinarlos para liberar su efectivo al instante.
Liquidación en Solana
Una orden se empareja al instante y tu efectivo y tus posiciones cambian en ese mismo momento. Después, el programa de Seeryx liquida cada ejecución en una transacción de Solana propia, normalmente en segundos. Tu actividad muestra esa transacción:
| txStatus | Significado |
|---|---|
pending | Enviada a Solana, aún sin confirmar |
confirmed | Liquidada en la cadena de bloques |
failed | El programa la rechazó: la operación se deshace en tu cuenta |
Una transacción que no llega a la cadena de bloques a tiempo se envía de nuevo. Si el programa rechaza una liquidación (una firma vencida, una sesión que superó su límite), la operación se deshace en tu cuenta y aparece con el tipo revert. No se aceptan órdenes nuevas en los 5 segundos previos al cierre de una ronda, para que cada ejecución pueda liquidarse antes.
Pagos y anulaciones
- Los pagos son automáticos. Cuando una ronda o un evento se resuelve, cada acción ganadora paga 1,00 $ a tu efectivo (tipo de actividad
settle). No hay que reclamar nada. - Las rondas cripto se resuelven con el precio de Binance en el segundo exacto de apertura o cierre. Si ningún resultado llega a Solana en los 15 minutos siguientes al cierre, la ronda se anula y cada acción paga 50¢.
- Los mercados de eventos se resuelven a través de UMA cuando cierran las operaciones. Uno que UMA no haya resuelto 30 días después de su cierre se anula y cada acción paga 50¢.