Skip to main content

What is a market?

A market on SX Bet represents a single, binary question about the outcome of a sporting event. For example:
  • Will the Lakers or the Celtics win? (Moneyline)
  • Will the total goals scored be over or under 2.5? (Total)
  • Will Manchester City win by more than 1.5 goals? (Spread)
Every market has exactly two sides you can bet on. When you place a bet, you’re taking a position on one of those two outcomes. If neither outcome is valid (e.g. the game is cancelled), the market resolves as void and all bets are returned. Many markets exist for any single fixture. A Premier League match might have a moneyline market, multiple spread markets at different lines, multiple over/under totals, and more.

The market hash

Every market on SX Bet is identified by a unique marketHash.
"marketHash": "0x024902746edaed3ffd447aca28f695362264e045be71b3d2ba53e2097dd7667b"
The marketHash is the primary key used across the entire API. You’ll use it to:
  • Fetch orders on a market
  • Post and cancel orders
  • Query your trade history
  • Subscribe to orderbook updates via WebSocket
Whenever you’re working with a specific market, you’ll need its marketHash.

Outcomes

Every market has three outcome fields:
FieldDescription
outcomeOneNameThe name of the first bettable outcome
outcomeTwoNameThe name of the second bettable outcome
outcomeVoidNameThe condition under which the market is voided
The meaning of these fields depends on the market type:
Market typeoutcomeOneNameoutcomeTwoName
MoneylineTeam/player oneTeam/player two
SpreadTeam A covering the spreadTeam B covering the spread
TotalOverUnder
1X2Team A winsTeam A does not win

Market types

In addition to outcome names, each market has a type field. This numeric identifier tells you what kind of market it is. SX Bet supports over 30 market types — see the full list on the Market Types page. A few common examples:
typeNameDescription
5212Who will win the game (no draw) — e.g. "Lakers" vs "Celtics"
11X2Who will win the game, including draw — e.g. "Man City wins" vs "Man City does not win"
22612 Including OvertimeWho will win the game including overtime
3Asian HandicapWho will win with a points handicap — e.g. "Lakers -3.5" vs "Celtics +3.5"
2Under/OverWill the total score be over or under a line — e.g. "Over 2.5" vs "Under 2.5"
For spread and total markets, the line field contains the relevant value:
{
  "type": 2,
  "outcomeOneName": "Over 2.5",
  "outcomeTwoName": "Under 2.5",
  "line": 2.5
}

Main lines and alternate lines

For spread and total markets, multiple lines are often available for the same fixture. For example, a soccer match might have totals at 1.5, 2.5, and 3.5 goals. The mainLine field indicates whether a market is currently the primary line for its type:
{ "type": 2, "line": 1.5, "mainLine": false }   // alternate line
{ "type": 2, "line": 2.5, "mainLine": true }    // main line
{ "type": 2, "line": 3.5, "mainLine": false }   // alternate line
The main line is the primary, most balanced line where both outcomes are closest to having an equal probability (50/50) — it shifts as the market moves.

Market status

The status field tells you whether a market is currently open for trading.
StatusDescription
ACTIVEThe market is open — orders can be posted and filled
INACTIVEThe market is closed for trading
Markets returned from GET /markets/active will always have status: ACTIVE. Once a game starts or a market is suspended, it will no longer appear in that endpoint.

Live markets

Many markets support in-play (live) betting. The liveEnabled field indicates whether a market is available for live betting:
{ "liveEnabled": true }
Live markets remain active while the game is in progress. Odds and liquidity can move quickly on live markets, so be mindful of slippage and betting delays when filling live orders.

Full market object

Here’s a complete market object for reference:
{
  "status": "ACTIVE",
  "marketHash": "0x1c8f12c7e05760295e95ea83666e0e199c9ba07b571631d695f8a91325bcbc83",
  "outcomeOneName": "Paris Saint Germain -2",
  "outcomeTwoName": "Chelsea +2",
  "outcomeVoidName": "NO_GAME_OR_EVEN",
  "teamOneName": "Paris Saint Germain",
  "teamTwoName": "Chelsea",
  "type": 3,
  "gameTime": 1773259200,
  "line": -2,
  "sportXeventId": "L18148217",
  "liveEnabled": true,
  "sportLabel": "Soccer",
  "sportId": 5,
  "leagueId": 30,
  "leagueLabel": "Champions League_UEFA",
  "group1": "Champions League",
  "group2": "UEFA",
  "chainVersion": "SXR",
  "participantOneId": 839,
  "participantTwoId": 4,
  "mainLine": false,
  "__type": "Market"
}
FieldDescription
statusACTIVE or INACTIVE
marketHashThe unique identifier for the market
outcomeOneNameOutcome one for this market
outcomeTwoNameOutcome two for this market
outcomeVoidNameOutcome void for this market
teamOneNameThe name of the first team/player participating
teamTwoNameThe name of the second team/player participating
typeThe type of the market
gameTimeThe UNIX timestamp of the game
lineThe line of the market. Only applicable to markets with a line
sportXeventIdThe unique event ID for this market
liveEnabledWhether or not this match is available for live betting
sportLabelThe name of the sport for this market
sportIdThe ID of the sport for this market
leagueIdThe league ID for this market
leagueLabelThe name of the league for this market
mainLineWhether this market is currently the main line. Not present on markets without multiple lines
group1Indicator to the client of how to display this market
group2Indicator to the client of how to display this market