Every trade made on SX Bet is publicly available through the SX Bet API. You can query trades for a specific user, event, market, time period, and more.Documentation Index
Fetch the complete documentation index at: https://docs.sx.bet/llms.txt
Use this file to discover all available pages before exploring further.
| Endpoint | Best for |
|---|---|
GET /trades | Individual filled orders — split by order, so one taker bet filling five maker orders returns five records |
GET /trades/consolidated | Aggregated history — that same bet appears as one record with weighted average odds |
GET /trades/orders | When you have specific order hashes and want to see all fills against them |
tradeStatus reflects the on-chain confirmation state of a trade: "PENDING" while awaiting confirmation, then "SUCCESS" or "FAILED" once confirmation completes.GET /trades
Use this when you need granular fill data — individual order matches, settlement status, or trade history for a specific market or user. Filter by bettor, market hash, time range, settlement status, and more. See the full parameter reference →.Sample response + field notes
Sample response + field notes
odds is the bettor’s implied probability as a fixed-point integer — divide by
10^20 to get a decimal. 50875000000000000000 = 50.875% (1.97 in decimal odds format).stake and normalizedStake reflect the bettor’s stake — stake is in raw token units, normalizedStake is in whole token units. See
Unit Conversions for token decimal details.nextKey field inside data.
Pass it as paginationKey in your next request. Default page size is 100, max 300.
When nextKey is absent, you’ve reached the last page.
GET /trades/consolidated
Use this when you want one record per bet regardless of how many maker orders it filled — for portfolio views, PnL tracking, or reviewing a user’s betting history. Fills that crossed multiple maker orders are rolled up with weighted average odds. See the full parameter reference →.page, perPage, sortBy, sortAsc, and settled are all required parameters for this endpoint.Sample response + field notes
Sample response + field notes
count is the total number of matching trades — use it to calculate total pages:
Math.ceil(count / perPage). Pagination starts at page 0.GET /trades/orders
Use this when you have specific order hashes and want to see exactly how and when they were filled. See the full parameter reference →.Sample response + field notes
Sample response + field notes
odds is from each bettor’s perspective as a fixed-point integer — divide by 10^20 to get a decimal.Real-time trades
Rather than polling, subscribe to WebSocket channels to receive trades as they happen:recent_trades:global— Global feed of every trade on the exchange, one message per order fill.recent_trades_consolidated:global— Same feed, but one message per taker bet regardless of how many maker orders it filled.
