TypeScript SDK
Официальный TypeScript-клиент оборачивает REST + CLOB API и берёт на себя HMAC-подпись. В нём два класса: MarketClient (публичное чтение) и TradingClient (торговля с авторизацией).
Подключение#
SDK живёт в монорепозитории GloBet как @market/sdk. Используйте его из воркспейса или скопируйте src/index.ts в свой проект — он зависит только от crypto из Node и глобального fetch.
import { MarketClient, TradingClient } from "@market/sdk";MarketClient#
Публичный, без ключей. Читает данные рынков и стакан.
const client = new MarketClient({
apiUrl: "https://globet.market/api",
clobUrl: "https://globet.market/clob",
});
const { data } = await client.getMarkets({ active: "true", limit: "20" });
const market = await client.getMarket(data[0].slug);
const book = await client.getOrderBook(market.tokens[0].tokenId);
const mid = await client.getMidpoint(market.tokens[0].tokenId);| Метод | Возвращает | Описание |
|---|---|---|
getMarkets(params?) | PaginatedResponse<Market> | Список рынков с фильтрами. |
getMarket(idOrSlug) | Market | Один рынок с токенами и событием. |
getPriceHistory(id, fidelity?) | { t, p }[] | Временной ряд цены. |
getEvents(params?) | PaginatedResponse<Event> | Список событий. |
getEvent(idOrSlug) | Event | Одно событие. |
getOrderBook(tokenId) | OrderBookSnapshot | Биды и аски. |
getMidpoint(tokenId) | string | Средняя цена. |
getSpread(tokenId) | string | Спред бид-аск. |
getPrice(tokenId, side?) | { bestBid, bestAsk } | Вершина стакана. |
getTickSize(tokenId) | string | Мин. шаг цены. |
getFeeRate(tokenId) | string | Комиссия тейкера (б.п.). |
search(query) | — | Полнотекстовый поиск. |
TradingClient#
Расширяет MarketClient торговлей с авторизацией. Создайте его с walletAddress и credentials; он подписывает каждый запрос автоматически.
const client = new TradingClient({
apiUrl: "https://globet.market/api",
clobUrl: "https://globet.market/clob",
walletAddress: "0xYourWallet",
credentials: {
apiKey: process.env.GLOBET_API_KEY!,
secret: process.env.GLOBET_API_SECRET!,
passphrase: process.env.GLOBET_API_PASSPHRASE!,
},
});
await client.createOrder({ tokenId, side: "BUY", price: "0.62", size: "100" });
const open = await client.getOpenOrders();
await client.cancelAllOrders();| Метод | Возвращает | Описание |
|---|---|---|
TradingClient.deriveApiKey(clobUrl, address, signature) | ApiCredentials | Статический — обменять подпись кошелька на ключи. |
createOrder(order) | — | Разместить подписанный ордер. |
cancelOrder(orderId) | — | Отменить один ордер. |
cancelAllOrders() | — | Отменить все ордера. |
getOpenOrders() | Order[] | Ваши активные ордера. |
getTrades() | Trade[] | Ваши сделки. |
Другие языки
Отдельного пакета для Python/Go пока нет, но протокол прост: подпишите каноническое сообщение через HMAC-SHA256 и отправьте пять заголовков poly_*. Скопируйте хелпер подписи со страницы «Аутентификация» — и получите рабочий клиент на любом языке.
Самостоятельное хранение
API-секрет лишь подписывает запросы — он не может двигать средства. Ваш кошелёк авторизует ордера, а токены исходов всё время остаются в вашем владении.