API
Marktdaten
Öffentliche Marktdaten von Seeryx über REST: Märkte, die Live-Runde, Rundenverlauf, Orderbücher, Trades, Volumen, Ereignismärkte und ihre Fragen.
Überblick
Jeder Marktdaten-Endpunkt ist öffentlich: keine Anmeldung, kein Schlüssel. Antworten sind JSON; Preise in Cent, Größen in Anteilen.
| Du willst | Aufruf |
|---|---|
| Alle Krypto-Märkte mit ihrer Live-Runde und den besten Preisen, in einer Anfrage | GET /api/markets/summary |
| Die Live-Runde eines Marktes | GET /api/markets/BTC/5m/current |
| Eine Runde per Slug, vergangen, live oder demnächst | GET /api/rounds/:slug |
| Das vollständige Orderbuch eines Marktes | GET /api/orderbook/:slug?side=up |
| Trades in Echtzeit | WebSocket-Abo der Runde; GET /api/trades/:slug zum Nachholen |
| Ereignismärkte und ihre Fragen | GET /api/events, GET /api/event-groups |
Märkte und Runden
Die Krypto-Märkte und ihre Runden. Runden werden pro Markt (die Live-Runde, der abgerechnete Verlauf) oder per Slug gelesen.
/api/marketsAlle Krypto-Märkte
curl "https://seeryx.com/api/markets"[{ "asset": "BTC", "tf": "5m", "symbol": "BTCUSDT", "duration": 300, "liquidityRewards": true },
{ "asset": "BTC", "tf": "1h", "symbol": "BTCUSDT", "duration": 3600, "liquidityRewards": false },
{ "asset": "BTC", "tf": "1d", "symbol": "BTCUSDT", "duration": 86400, "liquidityRewards": false }, ...]- duration ist die Rundendauer in Sekunden; symbol das Binance-Paar, dessen Kurs die Runden entscheidet. liquidityRewards: Orders im Orderbuch dieses Marktes sammeln Liquiditätspunkte (siehe „Market-Making-Bot“).
/api/markets/upcomingAngekündigte Märkte, die noch nicht gehandelt werden
curl "https://seeryx.com/api/markets/upcoming"[{ "asset": "BTC", "tf": "1d", "opensAt": 1791993600 }]- Ein Markt erscheint ab seiner ersten Runde in GET /api/markets; bis dahin wird er hier mit dem Beginn dieser Runde gelistet. Meist leer.
/api/markets/summaryAlle Märkte auf einmal: Live-Runde, beste Preise, letzte Ergebnisse
curl "https://seeryx.com/api/markets/summary"{ "at": 1791915884702, "markets": [{ "asset": "BTC", "tf": "5m",
"round": { "slug": "btc-updown-5m-1791915600", "asset": "BTC", "tf": "5m", "start": 1791915600, "end": 1791915900, "open": 83189.47, "close": null, "outcome": null, "status": "live" },
"up": { "bid": [52, 120], "ask": [54, 80] }, "down": { "bid": [46, 80], "ask": [48, 120] },
"last": [{ "start": 1791915300, "end": 1791915600, "outcome": "up" }, ...] }, ...] }- Das beste Kaufgebot und Verkaufsangebot jeder Seite als [Cent, Anteile], null, wenn diese Seite leer ist, und die letzten 5 abgerechneten Runden, die neueste zuerst. Höchstens einmal pro Sekunde aktualisiert: Frage dies ab statt eines Orderbuchs pro Markt.
/api/markets/:asset/:tf/currentDie Live-Runde eines Marktes
| Feld | Typ | Beschreibung |
|---|---|---|
asset | BTC | ETH | BNB | Groß-/Kleinschreibung egal |
tf | 5m | 15m | 1h | 1d | Rundendauer |
curl "https://seeryx.com/api/markets/BTC/5m/current"{ "slug": "btc-updown-5m-1791916200", "asset": "BTC", "tf": "5m", "start": 1791916200, "end": 1791916500,
"open": 83082.005, "close": null, "outcome": null, "status": "live" }- Eine Runde nach ihrem Ende bleibt "live" mit outcome null, bis ihr Schlusskurs gespeichert ist, meist innerhalb von Sekunden: Prüfe end und geh nicht davon aus, dass sie noch gehandelt wird.
| Status | Wann |
|---|---|
| 404 | Kein solcher Markt |
/api/markets/:asset/:tf/roundsAbgerechnete Runden eines Marktes, die neueste zuerst
| Feld | Typ | Beschreibung |
|---|---|---|
asset | BTC | ETH | BNB | Groß-/Kleinschreibung egal |
tf | 5m | 15m | 1h | 1d | Rundendauer |
before | number | Runden, die davor beginnen, Unix-Sekunden; Standard jetzt |
limit | number | 1–100, Standard 24 |
curl "https://seeryx.com/api/markets/BTC/5m/rounds?limit=2"[{ "slug": "btc-updown-5m-1791915600", "asset": "BTC", "tf": "5m", "start": 1791915600, "end": 1791915900, "open": 83189.465, "close": 83133.425, "outcome": "down", "status": "settled" }, ...]- Übergib für die nächste Seite den Beginn der letzten Runde als before. Höchstens 7 Tage zurück.
| Status | Wann |
|---|---|
| 429 | Zu viele Verlaufsabfragen von deiner IP-Adresse; Retry-After sagt, wann du es erneut versuchen kannst |
/api/rounds/:slugEine Runde, vergangen, live oder demnächst
| Feld | Typ | Beschreibung |
|---|---|---|
slug | string | Ein Runden-Slug wie btc-updown-5m-1791916200 oder der Slug eines Ereignismarkts (ev-...) |
curl "https://seeryx.com/api/rounds/btc-updown-5m-1791916500"{ "slug": "btc-updown-5m-1791916500", "asset": "BTC", "tf": "5m", "start": 1791916500, "end": 1791916800, "open": null, "close": null, "outcome": null, "status": "upcoming" }- Liefert jede Runde, die gehandelt wird: die Live-Runde und die nächsten zehn eines 5m- oder 15m-Marktes (bei 1h und 1d die nächste). Ein Ereignis-Slug antwortet in der Form einer Runde (tf "event", end = closesAt).
| Status | Wann |
|---|---|
| 400 | „Round too far in future“ oder „Invalid round slug“ |
| 404 | Eine vergangene Runde, die nicht gespeichert ist |
/api/rounds/:slug/holdersDie größten Inhaber von Steigt und Fällt
| Feld | Typ | Beschreibung |
|---|---|---|
slug | string | Ein Runden-Slug wie btc-updown-5m-1791916200 oder der Slug eines Ereignismarkts (ev-...) |
curl "https://seeryx.com/api/rounds/btc-updown-5m-1791916200/holders"{ "up": { "count": 2, "holders": [{ "name": "alice", "handle": "alice", "address": "7xKXtg...gAsU", "avatar": null, "shares": 250.5 }] }, "down": { "count": 0, "holders": [] } }- count ist die Zahl aller Konten, die diese Seite halten; holders die 50 größten nach Anteilen. Positionen sind öffentlich, wie in Profilen. 5 Sekunden zwischengespeichert.
/api/rounds/:slug/activityDie letzten 100 Trades eines Marktes mit ihren Takern
| Feld | Typ | Beschreibung |
|---|---|---|
slug | string | Ein Runden-Slug wie btc-updown-5m-1791916200 oder der Slug eines Ereignismarkts (ev-...) |
curl "https://seeryx.com/api/rounds/btc-updown-5m-1791916200/activity"[{ "id": 812, "side": "up", "action": "buy", "shares": 20, "price": 47, "time": 1791916330063, "trader": { "name": "alice", "handle": "alice", "address": "7xKXtg...gAsU", "avatar": null }, "tx": "5Kq3...", "txStatus": "confirmed" }]- Dieselben Trades wie /trades/:slug, die neuesten zuerst, jeder mit dem öffentlichen Profil seines Takers. tx ist die Solana-Transaktion des Trades, sobald es eine gibt, mit txStatus pending, confirmed oder failed.
Orderbuch, Trades und Gebühren
Jeder Endpunkt hier nimmt einen Runden-Slug oder den Slug eines Ereignismarkts.
/api/orderbook/:slugDas Orderbuch einer Seite
| Feld | Typ | Beschreibung |
|---|---|---|
slug | string | Ein Runden-Slug wie btc-updown-5m-1791916200 oder der Slug eines Ereignismarkts (ev-...) |
side | up | down | Standard up (bei einem Ereignismarkt: up ist JA, down ist NEIN) |
curl "https://seeryx.com/api/orderbook/btc-updown-5m-1791916200?side=up"{ "bids": [[17, 5], [16, 5], [15, 5]], "asks": [[26, 5], [27, 5], [28, 5]] }- Stufen sind [Preis in Cent, Anteile], die beste zuerst, jede Stufe des Orderbuchs. Die Orderbücher spiegeln einander: Ein Steigt-Kaufgebot zu p ist ein Fällt-Verkaufsangebot zu 100 − p, daher zeigt jedes der beiden Orderbücher jede Order.
/api/trades/:slugDie letzten 100 Trades, die neuesten zuerst
| Feld | Typ | Beschreibung |
|---|---|---|
slug | string | Ein Runden-Slug wie btc-updown-5m-1791916200 oder der Slug eines Ereignismarkts (ev-...) |
curl "https://seeryx.com/api/trades/btc-updown-5m-1791916200"[{ "id": 13, "side": "down", "action": "buy", "shares": 10, "price": 53, "time": 1791916330063 }]- side, action und price (Cent) sind die der Order des Takers; time ist in Unix-Millisekunden.
/api/volume/:slugVolumen und Anzahl der Trades
| Feld | Typ | Beschreibung |
|---|---|---|
slug | string | Ein Runden-Slug wie btc-updown-5m-1791916200 oder der Slug eines Ereignismarkts (ev-...) |
curl "https://seeryx.com/api/volume/btc-updown-5m-1791916200"{ "volume": 55.845724, "trades": 13 }- volume ist in USDC.
/api/feesTaker-Gebührensatz, Maker-Rückvergütung und kleinste Order
curl "https://seeryx.com/api/fees"{ "rateBps": 700, "rebateBps": 2000, "minOrderShares": 5 }- Der Taker zahlt Anteile × rateBps/10000 × p × (1 − p), wobei p der Preis in Dollar ist; der Maker erhält rebateBps/10000 davon zurück. Siehe „Gebühren“.
/api/noticeEin Hinweis an alle Trader, falls es einen gibt
curl "https://seeryx.com/api/notice"{ "notice": null }- Andernfalls { "text": "...", "level": "info" | "warning", "at": <ms> }. Solange der Handel angehalten ist, antworten Orders, Aufteilungen und Zusammenlegungen mit 503 trading_halted; Stornierungen funktionieren weiter.
/api/stats24-Stunden-Volumen, Trades und Trader, pro Markt und insgesamt
curl "https://seeryx.com/api/stats"{ "volume24h": 41.493814, "trades24h": 16, "traders24h": 3,
"markets": { "btc-5m": { "volume24h": 41.493814, "trades24h": 16, "traders24h": 3 } } }- 5 Sekunden zwischengespeichert.
Ereignismärkte
Ja/Nein-Fragen, entschieden über das Optimistic Oracle von UMA. Ein Ereignismarkt wird wie eine lange Runde gehandelt: Sein Slug funktioniert mit Orderbuch, Trades, Volumen, Orders und dem WebSocket. Up ist JA, Down ist NEIN.
/api/eventsAlle Ereignismärkte
curl "https://seeryx.com/api/events"[{ "slug": "ev-mlb-ws26-brewers", "groupId": "mlb-world-series-2026", "group": "MLB World Series Champion 2026", "title": "Milwaukee Brewers",
"question": "Will the Milwaukee Brewers win the 2026 World Series?", "rules": "...", "category": "sports",
"closesAt": 1792796400, "createdAt": 1791840170963, "status": "open", "outcome": null, "oracle": { "kind": "uma-oov3", ... } }, ...]- status: open, closed (Handel beendet, wartet auf UMA) oder resolved; outcome "yes" oder "no", sobald entschieden. closesAt (Unix-Sekunden) ist der Handelsschluss.
/api/events/:slugEin Ereignismarkt
| Feld | Typ | Beschreibung |
|---|---|---|
slug | string | ev-... |
curl "https://seeryx.com/api/events/ev-mlb-ws26-brewers"{ "slug": "ev-mlb-ws26-brewers", "title": "Milwaukee Brewers", "closesAt": 1792796400, "status": "open", "outcome": null, ... }| Status | Wann |
|---|---|
| 404 | Kein Ereignismarkt |
/api/event-groupsFragen mit ihren Ausgängen und Preisen
| Feld | Typ | Beschreibung |
|---|---|---|
category | finance | politics | sports | esports | weather | Optional |
curl "https://seeryx.com/api/event-groups?category=politics"[{ "id": "us-aliens-2026", "category": "politics", "title": "Will the US confirm that aliens exist before 2027?", "status": "open",
"outcomes": [{ "slug": "ev-us-aliens-dec31", "label": "Before 2027", "closesAt": 1798779540, "status": "open", "outcome": null,
"yes": { "bid": 1, "ask": 5 }, "no": { "bid": 95, "ask": 99 }, "chance": 3, "change24h": null, "history": [[1791830000, 3]] }] }]- Eine Frage fasst einen oder mehrere Ereignismärkte (ihre Ausgänge) zusammen. history ist eine Woche an Punkten [Unix-Sekunden, Cent].
/api/event-groups/:idEine Frage mit ihren Ausgängen
| Feld | Typ | Beschreibung |
|---|---|---|
id | string | Die ID der Frage oder der Slug eines ihrer Ausgänge |
range | 1h | 1d | 1w | 1m | max | Preisverlauf, Standard 1m |
curl "https://seeryx.com/api/event-groups/us-aliens-2026?range=1w"{ "id": "us-aliens-2026", "title": "Will the US confirm that aliens exist before 2027?", "outcomes": [...], "seriesGroups": [...] }| Status | Wann |
|---|---|
| 404 | Unbekannte Frage |
/api/event-groups/:id/holdersDie größten Inhaber jedes Ausgangs
| Feld | Typ | Beschreibung |
|---|---|---|
id | string | Die ID der Frage |
curl "https://seeryx.com/api/event-groups/us-aliens-2026/holders"[{ "slug": "ev-us-aliens-dec31", "label": "Before 2027", "yes": [], "no": [] }]- Die zehn größten JA- und die zehn größten NEIN-Positionen jedes Ausgangs.