Per iniziare
Concetti
Come funzionano i mercati di Seeryx per chi sviluppa: slug di round ed eventi, durate, stati dei round, libro ordini speculare, prezzi, divisioni e pagamenti.
Mercati e round
Un mercato crypto è un asset più una durata del round: BTC 5m, ETH 1h, BNB 1d. Funziona come una catena di round, ciascuno una domanda distinta con il proprio libro ordini, le proprie azioni e il proprio esito. GET /api/markets elenca i mercati.
| tf | Durata | Inizio | Negoziabili in anticipo |
|---|---|---|---|
5m | 5 minuti | A ogni multiplo di 300 s (UTC) | Il round in corso e i 10 successivi |
15m | 15 minuti | A ogni multiplo di 900 s | Il round in corso e i 10 successivi |
1h | 1 ora | A ogni ora esatta | Il round in corso e il successivo |
1d | 24 ore | Alle 12:00, ora di New York | Il round in corso e il successivo |
Anche i round non ancora iniziati sono negoziabili: il loro prezzo di partenza resta il prezzo nel secondo di apertura, quindi un ordine inserito in anticipo è una posizione su una finestra successiva.
Slug dei round
Un round si chiama {asset}-updown-{tf}-{start}: l’asset in minuscolo, la durata e l’inizio in secondi Unix. Il round termina a 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..10Il round di un giorno inizia alle 12:00, ora di New York (16:00 UTC in estate, 17:00 in inverno), e dura sempre 24 ore, quindi nei due giorni in cui New York cambia l’ora i round si sovrappongono o lasciano un vuoto di un’ora: ricava l’inizio del giorno successivo da GET /api/rounds/:slug o dal round in corso, una volta elencato, invece di aggiungere 86.400.
Mercati sugli eventi
Un mercato su un evento è un singolo esito di una domanda («La Fed taglierà i tassi a dicembre?»). Il suo slug inizia con ev-. Si negozia come un unico round lungo: lo stesso libro ordini, gli stessi ordini, lo stesso WebSocket e le stesse commissioni, con up che significa SÌ e down che significa NO. Il trading si ferma a closesAt; poi l’Optimistic Oracle di UMA lo risolve. GET /api/events li elenca, GET /api/event-groups li raggruppa in domande.
Stati dei round
| status | Significato | Negoziabile |
|---|---|---|
upcoming | Prima dell’inizio | Sì, se è tra i round negoziabili in anticipo |
live | Tra inizio e fine | Fino a 5 secondi prima della fine (dopo: "Round is closing") |
live | Dopo la fine, con outcome ancora null: si sta registrando il prezzo di chiusura | No |
settled | outcome è up o down | No; le azioni vincenti vengono pagate |
I mercati sugli eventi hanno gli stati open, closed (trading terminato, in attesa di UMA) e resolved con outcome yes o no.
Un libro ordini, due lati
Su e Giù sono un unico libro ordini. Una proposta in acquisto di Su a p è una proposta in vendita di Giù a 100 − p, quindi ?side=up e ?side=down mostrano gli stessi ordini dai due lati. Due acquirenti possono negoziare tra loro: chi compra Su a 60¢ e chi compra Giù a 40¢ pagano insieme 1,00 $, che conia un’azione Su e una Giù. Allo stesso modo, un venditore di Su e un venditore di Giù riconvertono insieme le loro azioni in dollari.
Prezzi e quantità
| Regola | Valore |
|---|---|
| Prezzi | Centesimi interi da 1 a 99; decimi di centesimo da 0,1 a 0,9 e da 99,1 a 99,9 dove finePrices di GET /api/funds è attivo (lo è su seeryx.com). Qualsiasi altro prezzo: 400 "Invalid limit" |
| Azioni | Fino a 4 decimali; a un prezzo tra due centesimi interi, in passi di 0,001 |
| Ordine minimo | 5 azioni (minOrderShares di GET /api/fees): un ordine limite di almeno altrettante azioni, un acquisto a mercato di un importo che le compra al miglior prezzo in vendita, una vendita di altrettante azioni o di tutte le azioni libere che possiedi. Al di sotto: 400 below_minimum |
| Abbinamento | Prima il prezzo migliore, poi l’ordine più vecchio; un’esecuzione avviene al prezzo dell’ordine in attesa |
Divisione e unione
POST /api/split trasforma USDC nello stesso numero di azioni Su e Giù, 1,00 $ per coppia; POST /api/merge ritrasforma ogni coppia in 1,00 $. Entrambe le operazioni sono gratuite e richiedono almeno 5 coppie. Alla fine una coppia paga sempre esattamente 1,00 $, quindi un market maker che detiene entrambi i lati può unirli per liberare subito i suoi fondi.
Regolamento su Solana
Un ordine viene abbinato subito e i tuoi fondi e le tue posizioni cambiano nello stesso istante. Ogni esecuzione viene poi regolata dal programma Seeryx in una transazione Solana a sé, di solito in pochi secondi. La tua attività mostra quella transazione:
| txStatus | Significato |
|---|---|
pending | Inviata a Solana, non ancora confermata |
confirmed | Regolata on-chain |
failed | Il programma l’ha rifiutata: l’operazione viene stornata nel tuo conto |
Una transazione che non arriva in tempo viene inviata di nuovo. Se il programma rifiuta un regolamento (una firma scaduta, una sessione oltre il suo limite), l’operazione viene stornata nel tuo conto e compare con il tipo revert. I nuovi ordini si fermano 5 secondi prima della chiusura di un round, così ogni esecuzione può essere regolata prima di essa.
Pagamenti e annullamenti
- I pagamenti sono automatici. Quando un round o un evento si risolve, ogni azione vincente versa 1,00 $ nei tuoi fondi disponibili (tipo di attività
settle). Non c’è nulla da riscuotere. - I round crypto si risolvono sul prezzo di Binance nel secondo esatto di apertura o di chiusura. Se nessun risultato arriva su Solana entro 15 minuti dalla chiusura, il round viene annullato e ogni azione paga 50¢.
- I mercati sugli eventi si risolvono tramite UMA dopo la chiusura del trading. Un mercato che UMA non ha risolto 30 giorni dopo la chiusura viene annullato e ogni azione paga 50¢.