# Outright Market

This documentation describes the complete structure of a Outright Fixture Market Update message (Type 41) as delivered by TRADE.

{% tabs %}
{% tab title="JSON" %}

```json
{
  "Header": {
    "Type": 41,
    "MsgSeq": 1,
    "MsgGuid": "74fd7670-643f-4c7a-9ec7-9dc511a1fc97",
    "CreationDate": "2025-07-16T01:04:13.7549253Z",
    "ServerTimestamp": 1752627853754
  },
  "Body": {
    "Competition": {
      "Id": 11217,
      "Name": "Antepost",
      "Type": 0,
      "Events": [
        {
          "FixtureId": 24596935,
          "Livescore": null,
          "Markets": [
            {
              "Id": 160,
              "Name": "Race Winner",
              "Bets": [
                {
                  "Id": "131090421624596935",
                  "Name": "Cheltenham",
                  "Status": 1,
                  "Price": "1.44",
                  "ProviderBetId": "8",
                  "LastUpdate": "2025-07-16T01:04:13.6977685Z",
                  "ParticipantId": 51990374
                },
                {
                  "Id": "202386440924596935",
                  "Name": "Cheltenham Day 3",
                  "Status": 1,
                  "Price": "12.1",
                  "ProviderBetId": "8",
                  "LastUpdate": "2025-07-16T01:04:13.6977692Z",
                  "ParticipantId": 51990385
                },
                {
                  "Id": "85860433324596935",
                  "Name": "Catterick",
                  "Status": 1,
                  "Price": "8",
                  "ProviderBetId": "8",
                  "LastUpdate": "2025-07-16T01:04:13.6977698Z",
                  "ParticipantId": 52023599
                },
                {
                  "Id": "202386440824596935",
                  "Name": "Cheltenham Day 2",
                  "Status": 1,
                  "Price": "26",
                  "ProviderBetId": "8",
                  "LastUpdate": "2025-07-16T01:04:13.6977703Z",
                  "ParticipantId": 52027843
                },
                {
                  "Id": "202386440724596935",
                  "Name": "Cheltenham Day 1",
                  "Status": 1,
                  "Price": "26.1",
                  "ProviderBetId": "8",
                  "LastUpdate": "2025-07-16T01:04:13.6977718Z",
                  "ParticipantId": 52031169
                },
                {
                  "Id": "19991723824596935",
                  "Name": "Perth",
                  "Status": 1,
                  "Price": "21",
                  "ProviderBetId": "8",
                  "LastUpdate": "2025-07-16T01:04:13.6977724Z",
                  "ParticipantId": 52052758
                },
                {
                  "Id": "128907536924596935",
                  "Name": "Uttoxeter",
                  "Status": 1,
                  "Price": "8.1",
                  "ProviderBetId": "8",
                  "LastUpdate": "2025-07-16T01:04:13.6977729Z",
                  "ParticipantId": 52163726
                },
                {
                  "Id": "177332957724596935",
                  "Name": "Chelmsford City",
                  "Status": 1,
                  "Price": "3.9",
                  "ProviderBetId": "8",
                  "LastUpdate": "2025-07-16T01:04:13.6977734Z",
                  "ParticipantId": 52193184
                }
              ],
              "ProviderMarkets": [
                {
                  "Id": 8,
                  "Name": "Bet365",
                  "LastUpdate": "2025-07-16T01:04:12.3509314Z",
                  "Bets": [
                    {
                      "Id": 41983,
                      "Name": "Cheltenham",
                      "Status": 1,
                      "StartPrice": "1.0",
                      "Price": "1.44",
                      "LastUpdate": "2025-07-16T01:04:12.3533015Z"
                    },
                    {
                      "Id": 41984,
                      "Name": "Cheltenham Day 3",
                      "Status": 1,
                      "StartPrice": "1.0",
                      "Price": "12.1",
                      "LastUpdate": "2025-07-16T01:04:12.3533036Z"
                    },
                    {
                      "Id": 41985,
                      "Name": "Catterick",
                      "Status": 1,
                      "StartPrice": "1.0",
                      "Price": "8",
                      "LastUpdate": "2025-07-16T01:04:12.3533041Z"
                    },
                    {
                      "Id": 41986,
                      "Name": "Cheltenham Day 2",
                      "Status": 1,
                      "StartPrice": "1.0",
                      "Price": "26",
                      "LastUpdate": "2025-07-16T01:04:12.353305Z"
                    },
                    {
                      "Id": 41987,
                      "Name": "Cheltenham Day 1",
                      "Status": 1,
                      "StartPrice": "1.0",
                      "Price": "26.1",
                      "LastUpdate": "2025-07-16T01:04:12.3533055Z"
                    },
                    {
                      "Id": 41988,
                      "Name": "Perth",
                      "Status": 1,
                      "StartPrice": "1.0",
                      "Price": "21",
                      "LastUpdate": "2025-07-16T01:04:12.3533061Z"
                    },
                    {
                      "Id": 41989,
                      "Name": "Uttoxeter",
                      "Status": 1,
                      "StartPrice": "1.0",
                      "Price": "8.1",
                      "LastUpdate": "2025-07-16T01:04:12.3533067Z"
                    },
                    {
                      "Id": 41990,
                      "Name": "Chelmsford City",
                      "Status": 1,
                      "StartPrice": "1.0",
                      "Price": "3.9",
                      "LastUpdate": "2025-07-16T01:04:12.3533075Z"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  }
}
```

{% endtab %}

{% tab title="XML" %}

```xml
    <Header>
        <Type>41</Type>
        <MsgGuid>01017c9c-beb3-47d0-9f8e-110c22dab96e</MsgGuid>
        <ServerTimestamp>1575369435847</ServerTimestamp>
    </Header>
    <Body>
        <Competition Id="3310" Name="Wolverhampton" Type="1">
          <Events>
              <Event FixtureId="5001151">
                  <Markets>
                      <Market Id="160" Name="Race Winner">
                          <Bets>
                            <Bet Id="1526487835001151" Name="Boston   United" Status="2" StartPrice="1.0" Price="35.0" ProviderBetId="8" LastUpdate="2019-12-02T09:00:00.913Z" ParticipantId="14921" />
                            <Bet Id="9855082825001151" Name="Gateshead Fc"  Status="2" StartPrice="1.0" Price="58.0" ProviderBetId="8" LastUpdate="2019-12-02T09:00:00.913Z" ParticipantId="173955" />
                            <Bet Id="3086359045001151" Name="Brackley Town" Status="2" StartPrice="1.0" Price="18.0"  ProviderBetId="8" LastUpdate="2019-12-02T09:00:00.913Z" ParticipantId="191097" />
                            <Bet Id="59317895001151" Name="Hereford United" Status="2" StartPrice="1.0" Price="131.0" ProviderBetId="8" LastUpdate="2019-12-02T09:00:00.913Z" ParticipantId="85214" />
                            <Bet Id="9146688705001151" Name="Chester Fc"  Status="2" StartPrice="1.0" Price="6.9" ProviderBetId="8" LastUpdate="2019-12-02T09:00:00.913Z" ParticipantId="15468" />
                            <Bet Id="20421503435001151" Name="Darlington  1883" Status="2" StartPrice="1.0" Price="217.0" ProviderBetId="8" LastUpdate="2019-12-02T09:00:00.913Z" ParticipantId="1026" />
                          </Bets>
                      </Market>
                  </Markets>
              </Event>
          </Events>
        </Competition>
    </Body>
```

{% endtab %}
{% endtabs %}

## **Model**

### Competition

| Element | Data Type | Description                        |
| ------- | --------- | ---------------------------------- |
| Id      | int       | The unique ID of the competition   |
| Name    | string    | The competition name               |
| Type    | enum      | Type 3 is League, Type 4 is Season |
| Events  | array     | Array of Events                    |

#### Events

| **Element** | **Data Type** | **Description**                                                                      |
| ----------- | ------------- | ------------------------------------------------------------------------------------ |
| FixtureId   | int           | The unique ID of the fixture.                                                        |
| Livescore   | int           | [Livescore](https://docs.lsports.eu/u/trade/integration/message-structure/livescore) |
| Markets     | int           | Markets                                                                              |

#### Markets

| **Element**     | **Data Type** | **Description**                                                                                       |
| --------------- | ------------- | ----------------------------------------------------------------------------------------------------- |
| Id              | int           | The unique ID of the market                                                                           |
| Name            | string        | The name of the market                                                                                |
| MainLine        | string        | **OPTIONAL**: Indicates the main line for relevant markets. Sends `suspended` if no open lines exist. |
| Bets            | array         | An array of Bets                                                                                      |
| ProviderMarkets | array         | An array of ProviderMarket                                                                            |

#### Bets

| **Element**      | **Data Type** | **Description**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ---------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Id               | int           | The uniqueness of the bet id is for a specific market under a specific fixture                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Name             | string        | The name of the bet                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Line             | string        | **OPTIONAL**: The line of the bet                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| BaseLine         | string        | **OPTIONAL**: The baseline helps you group all bets that belong together. In the example above – all bets with the same baseline (0:2) belong together                                                                                                                                                                                                                                                                                                                                                                         |
| Status           | enum          | The [status](https://docs.lsports.eu/u/trade/enumerations/bet-settlements-and-statuses) of the bet                                                                                                                                                                                                                                                                                                                                                                                                                             |
| StartPrice       | string        | The initial price of the bet, when it was first introduced                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| Price            | string        | The price (odd) of the bet                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| ProviderBetId    | string        | **OPTIONAL**: The bet ID, as shown by the provider                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| LastUpdate       | DateTime      | Timestamp representing the time the bet was last updated                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ParticipantId    | int           | <p><strong>OPTIONAL</strong>: Reference ID to the participant in the fixture<br><code>Note: Provided in outright fixtures or in player's markets</code></p>                                                                                                                                                                                                                                                                                                                                                                    |
| Probability      | double        | <p><strong>OPTIONAL</strong>: Probability won't be calculated and will be sent with value= "-1" in the following cases:</p><ol><li>One of the market bets is suspended.</li><li>one of the market bets is equal to or lower than 1.00 (similar to suspended).</li><li>The market is a special market and TRADE cannot calculate fair odds or probability.</li></ol><p>If the probability ="-1", customers should not calculate the cash-out amount for the bets under this market (or line in case of a market with lines)</p> |
| PlayerName       | string        | **OPTIONAL**: Appears only in player props markets, which are markets where the player's names are the bets.                                                                                                                                                                                                                                                                                                                                                                                                                   |
| PlayerId         | string        | **OPTIONAL**: The unique identifier of the player. Appears only in player props markets.                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| SuspensionReason | int           | The [reason](https://docs.lsports.eu/u/trade/enumerations/bet-suspension-reasons) the bet was suspended                                                                                                                                                                                                                                                                                                                                                                                                                        |
| PriceIN          | string        | **OPTIONAL**: The PriceIN field is configurable per customer request. The price (odd) of the bet in Indonesian odds format                                                                                                                                                                                                                                                                                                                                                                                                     |
| PriceUS          | string        | **OPTIONAL**: The PriceUS field is configurable per customer request. The price (odd) of the bet in American odds format                                                                                                                                                                                                                                                                                                                                                                                                       |
| PriceUK          | string        | **OPTIONAL**: The PriceUK field is configurable per customer request. The price (odd) of the bet in Fractional odds format                                                                                                                                                                                                                                                                                                                                                                                                     |
| PriceMA          | string        | **OPTIONAL**: The PriceMA field is configurable per customer request. The price (odd) of the bet in Malaysian odds format                                                                                                                                                                                                                                                                                                                                                                                                      |
| PriceHK          | string        | **OPTIONAL**: The PriceHK field is configurable per customer request. The price (odd) of the bet in Hong Kong odds format                                                                                                                                                                                                                                                                                                                                                                                                      |
| Order            | int           | **OPTIONAL**: Defines the display and logical sequence of bets within the market.                                                                                                                                                                                                                                                                                                                                                                                                                                              |

#### ProviderMarkets

{% hint style="info" %}
**Note:** Available for ProviderOdds+ packages only. Contact your CSM to enable ProviderOdds+ access.
{% endhint %}

| **Element** | **Data Type** | **Description**                                            |
| ----------- | ------------- | ---------------------------------------------------------- |
| Id          | int           | Unique identifier for the provider (e.g., 8 for Bet365).   |
| Name        | string        | Name of the provider offering the odds (e.g., "Bet365").   |
| LastUpdate  | DateTime      | Timestamp of the last update to the provider odds.         |
| Bets        | array         | Contains an array of bet objects specific to the provider. |

## When Are Delta Messages Sent?

A market update message is sent only when one of the following changes occurs on a bet:

* **Price** (odds value)
* **Probability**
* **Status** (e.g., open/suspended)

Other field changes — such as a change in Suspension Reason alone — do not trigger a new message.
