главная

API

Рыночные данные

Публичные рыночные данные Seeryx через REST: рынки, текущий раунд, история раундов, стаканы, сделки, объём, событийные рынки и их вопросы.

Обзор

Все эндпоинты рыночных данных публичны: без входа и без ключа. Ответы в JSON; цены в центах, размеры в долях.

Что нужноВызов
Все криптовалютные рынки с текущим раундом и лучшими ценами — одним запросомGET /api/markets/summary
Текущий раунд одного рынкаGET /api/markets/BTC/5m/current
Раунд по slug: прошедший, текущий или предстоящийGET /api/rounds/:slug
Полный стакан одного рынкаGET /api/orderbook/:slug?side=up
Сделки в момент совершенияПодписка на раунд по WebSocket; GET /api/trades/:slug, чтобы наверстать пропущенное
Событийные рынки и их вопросыGET /api/events, GET /api/event-groups

Рынки и раунды

Криптовалютные рынки и их раунды. Раунды запрашиваются по рынку (текущий, история рассчитанных) или по slug.

GET/api/markets

Все криптовалютные рынки

Публичный
Запрос
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 — длительность раунда в секундах; symbol — пара Binance, цена которой определяет исход раундов. liquidityRewards: ордера в стакане этого рынка приносят баллы за ликвидность (см. страницу «Бот для маркет-мейкинга»).
GET/api/markets/upcoming

Анонсированные рынки, торги на которых ещё не начались

Публичный
Запрос
curl "https://seeryx.com/api/markets/upcoming"
Ответ
[{ "asset": "BTC", "tf": "1d", "opensAt": 1791993600 }]
  • Рынок появляется в GET /api/markets начиная с первого раунда; до этого он указан здесь вместе с началом этого раунда. Обычно список пуст.
GET/api/markets/summary

Все рынки сразу: текущий раунд, лучшие цены, последние результаты

Публичный
Запрос
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" }, ...] }, ...] }
  • Лучшие бид и аск каждой стороны в виде [центы, доли] или null, если сторона пуста, и последние 5 рассчитанных раундов, от новых к старым. Обновляется не чаще раза в секунду: опрашивайте этот эндпоинт, а не стакан каждого рынка.
GET/api/markets/:asset/:tf/current

Текущий раунд рынка

Публичный
ПолеТипОписание
assetпутьобязательноBTC | ETH | BNBВ любом регистре
tfпутьобязательно5m | 15m | 1h | 1dДлительность раунда
Запрос
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" }
  • Раунд после своего конца остаётся "live" с outcome null, пока не сохранена цена закрытия, — обычно несколько секунд: проверяйте end и не считайте, что он всё ещё торгуется.
СтатусКогда
404Такого рынка нет
GET/api/markets/:asset/:tf/rounds

Рассчитанные раунды рынка, от новых к старым

Публичный
ПолеТипОписание
assetпутьобязательноBTC | ETH | BNBВ любом регистре
tfпутьобязательно5m | 15m | 1h | 1dДлительность раунда
beforeстрока запросанеобязательноnumberРаунды, начавшиеся раньше этого момента, секунды Unix; по умолчанию — сейчас
limitстрока запросанеобязательноnumber1–100, по умолчанию 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" }, ...]
  • Для следующей страницы передайте начало последнего раунда в before. Не более 7 дней назад.
СтатусКогда
429Слишком много запросов истории с вашего IP-адреса; Retry-After указывает, когда повторить
GET/api/rounds/:slug

Один раунд: прошедший, текущий или предстоящий

Публичный
ПолеТипОписание
slugпутьобязательноstringSlug раунда, например btc-updown-5m-1791916200, или slug событийного рынка (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" }
  • Отвечает для каждого раунда, который торгуется: текущего и следующих десяти для рынка 5m или 15m (следующего одного для 1h и 1d). Для slug события ответ возвращается в форме раунда (tf "event", end = closesAt).
СтатусКогда
400«Round too far in future» или «Invalid round slug»
404Прошедший раунд, который не сохранён
GET/api/rounds/:slug/holders

Крупнейшие держатели «Вверх» и «Вниз»

Публичный
ПолеТипОписание
slugпутьобязательноstringSlug раунда, например btc-updown-5m-1791916200, или slug событийного рынка (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 — все аккаунты, держащие эту сторону; holders — 50 крупнейших по числу долей. Позиции публичны, как и в профилях. Кэшируется на 5 секунд.
GET/api/rounds/:slug/activity

Последние 100 сделок рынка и кто их совершил

Публичный
ПолеТипОписание
slugпутьобязательноstringSlug раунда, например btc-updown-5m-1791916200, или slug событийного рынка (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" }]
  • Те же сделки, что и в /trades/:slug, от новых к старым, каждая с публичным профилем тейкера. tx — транзакция Solana сделки, когда она появится, с txStatus pending, confirmed или failed.

Стакан, сделки и комиссии

Каждый эндпоинт здесь принимает slug раунда или событийного рынка.

GET/api/orderbook/:slug

Стакан одной стороны

Публичный
ПолеТипОписание
slugпутьобязательноstringSlug раунда, например btc-updown-5m-1791916200, или slug событийного рынка (ev-...)
sideстрока запросанеобязательноup | downПо умолчанию up (для событийного рынка up — это «Да», down — «Нет»)
Запрос
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]] }
  • Уровни в виде [цена в центах, доли], начиная с лучшего, все уровни стакана. Стаканы зеркальны: бид «Вверх» по p — это аск «Вниз» по 100 - p, поэтому любой из стаканов показывает все ордера.
GET/api/trades/:slug

Последние 100 сделок, от новых к старым

Публичный
ПолеТипОписание
slugпутьобязательноstringSlug раунда, например btc-updown-5m-1791916200, или slug событийного рынка (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 и price (центы) относятся к ордеру тейкера; time — в миллисекундах Unix.
GET/api/volume/:slug

Объём и число сделок

Публичный
ПолеТипОписание
slugпутьобязательноstringSlug раунда, например btc-updown-5m-1791916200, или slug событийного рынка (ev-...)
Запрос
curl "https://seeryx.com/api/volume/btc-updown-5m-1791916200"
Ответ
{ "volume": 55.845724, "trades": 13 }
  • volume — в USDC.
GET/api/fees

Размер комиссии тейкера, возврат мейкеру и минимальный ордер

Публичный
Запрос
curl "https://seeryx.com/api/fees"
Ответ
{ "rateBps": 700, "rebateBps": 2000, "minOrderShares": 5 }
  • Тейкер платит shares × rateBps/10000 × p × (1 − p), где p — цена в долларах; мейкеру возвращается rebateBps/10000 этой суммы. См. раздел «Комиссии».
GET/api/notice

Объявление для всех трейдеров, если оно есть

Публичный
Запрос
curl "https://seeryx.com/api/notice"
Ответ
{ "notice": null }
  • Иначе { "text": "...", "level": "info" | "warning", "at": <ms> }. Пока торговля остановлена, ордера, разделения и объединения получают 503 trading_halted; отмена ордеров работает.
GET/api/stats

Объём, сделки и трейдеры за 24 часа — по рынкам и в сумме

Публичный
Запрос
curl "https://seeryx.com/api/stats"
Ответ
{ "volume24h": 41.493814, "trades24h": 16, "traders24h": 3,
  "markets": { "btc-5m": { "volume24h": 41.493814, "trades24h": 16, "traders24h": 3 } } }
  • Кэшируется на 5 секунд.

Событийные рынки

Вопросы «Да/Нет», разрешаемые через Optimistic Oracle от UMA. Событийный рынок торгуется как один длинный раунд: его slug работает со стаканом, сделками, объёмом, ордерами и WebSocket. Up — это «Да», Down — «Нет».

GET/api/events

Все событийные рынки

Публичный
Запрос
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 (торги закончены, ожидается ответ UMA) или resolved; outcome "yes" или "no" после разрешения. closesAt (секунды Unix) — момент остановки торгов.
GET/api/events/:slug

Один событийный рынок

Публичный
ПолеТипОписание
slugпутьобязательноstringev-...
Запрос
curl "https://seeryx.com/api/events/ev-mlb-ws26-brewers"
Ответ
{ "slug": "ev-mlb-ws26-brewers", "title": "Milwaukee Brewers", "closesAt": 1792796400, "status": "open", "outcome": null, ... }
СтатусКогда
404Это не событийный рынок
GET/api/event-groups

Вопросы с их исходами и ценами

Публичный
ПолеТипОписание
categoryстрока запросанеобязательноfinance | politics | sports | esports | weatherНеобязательно
Запрос
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]] }] }]
  • Вопрос объединяет один или несколько событийных рынков (свои исходы). history — точки [секунды Unix, центы] за неделю.
GET/api/event-groups/:id

Один вопрос с его исходами

Публичный
ПолеТипОписание
idпутьобязательноstringId вопроса или slug одного из его исходов
rangeстрока запросанеобязательно1h | 1d | 1w | 1m | maxИстория цен, по умолчанию 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": [...] }
СтатусКогда
404Неизвестный вопрос
GET/api/event-groups/:id/holders

Крупнейшие держатели каждого исхода

Публичный
ПолеТипОписание
idпутьобязательноstringId вопроса
Запрос
curl "https://seeryx.com/api/event-groups/us-aliens-2026/holders"
Ответ
[{ "slug": "ev-us-aliens-dec31", "label": "Before 2027", "yes": [], "no": [] }]
  • Десять крупнейших позиций «Да» и десять крупнейших позиций «Нет» по каждому исходу.