> ## 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.

# Markets

> A deep dive into what a market is on SX Bet and everything you need to know to work with them.

## 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:

| Field             | Description                                    |
| ----------------- | ---------------------------------------------- |
| `outcomeOneName`  | The name of the first bettable outcome         |
| `outcomeTwoName`  | The name of the second bettable outcome        |
| `outcomeVoidName` | The condition under which the market is voided |

The meaning of these fields depends on the market type:

| Market type | `outcomeOneName`           | `outcomeTwoName`           |
| ----------- | -------------------------- | -------------------------- |
| Moneyline   | Team/player one            | Team/player two            |
| Spread      | Team A covering the spread | Team B covering the spread |
| Total       | Over                       | Under                      |
| 1X2         | Team A wins                | Team 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](/api-reference/market-types). A few common examples:

| `type` | Name                  | Description                                                                                 |
| ------ | --------------------- | ------------------------------------------------------------------------------------------- |
| `52`   | 12                    | Who will win the game (no draw) — e.g. `"Lakers"` vs `"Celtics"`                            |
| `1`    | 1X2                   | Who will win the game, including draw — e.g. `"Man City wins"` vs `"Man City does not win"` |
| `226`  | 12 Including Overtime | Who will win the game including overtime                                                    |
| `3`    | Asian Handicap        | Who will win with a points handicap — e.g. `"Lakers -3.5"` vs `"Celtics +3.5"`              |
| `2`    | Under/Over            | Will 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:

```json theme={null}
{
  "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:

```json theme={null}
{ "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.

| Status     | Description                                          |
| ---------- | ---------------------------------------------------- |
| `ACTIVE`   | The market is open — orders can be posted and filled |
| `INACTIVE` | The 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:

```json theme={null}
{ "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](/developers/slippage) and [betting delays](/developers/betting-delays) when filling live orders.

***

## Full market object

Here's a complete market object for reference:

```json theme={null}
{
  "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"
}
```

| Field             | Description                                                                                   |
| ----------------- | --------------------------------------------------------------------------------------------- |
| `status`          | `ACTIVE` or `INACTIVE`                                                                        |
| `marketHash`      | The unique identifier for the market                                                          |
| `outcomeOneName`  | Outcome one for this market                                                                   |
| `outcomeTwoName`  | Outcome two for this market                                                                   |
| `outcomeVoidName` | Outcome void for this market                                                                  |
| `teamOneName`     | The name of the scheduled home team/player                                                    |
| `teamTwoName`     | The name of the scheduled away team/player                                                    |
| `type`            | The type of the market                                                                        |
| `gameTime`        | The UNIX timestamp of the game                                                                |
| `line`            | The line of the market. Only applicable to markets with a line                                |
| `sportXeventId`   | The unique event ID for this market                                                           |
| `liveEnabled`     | Whether or not this match is available for live betting                                       |
| `sportLabel`      | The name of the sport for this market                                                         |
| `sportId`         | The ID of the sport for this market                                                           |
| `leagueId`        | The league ID for this market                                                                 |
| `leagueLabel`     | The name of the league for this market                                                        |
| `mainLine`        | Whether this market is currently the main line. Not present on markets without multiple lines |
| `group1`          | Indicator to the client of how to display this market                                         |
| `group2`          | Indicator to the client of how to display this market                                         |
