# Outright League Market

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

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

```json
{
    "Header": {
      "Type": 40,
      "MsgSeq": 1,
      "MsgGuid": "66501c84-108e-448e-971c-a66c729e3db1",
      "CreationDate": "2025-07-21T09:18:10.9845636Z",
      "ServerTimestamp": 1753089490984
    },
    "Body": {
      "Competition": {
        "Id": 67,
        "Name": "Premier League",
        "Type": 3,
        "Competitions": [
          {
            "Id": 2029,
            "Name": "2023/2024",
            "Type": 4,
            "Events": [
              {
                "FixtureId": 24605645,
                "Livescore": null,
                "Markets": [
                  {
                    "Id": 274,
                    "Name": "Outright Winner",
                    "Bets": [
                      {
                        "Id": 185757142624605645,
                        "Name": "Reliable Miss",
                        "Status": 1,
                        "StartPrice": "1.44",
                        "Price": "1.44",
                        "ProviderBetId": "8",
                        "LastUpdate": "2025-07-21T09:18:10.9166641Z",
                        "ParticipantId": 52280038
                      },
                      {
                        "Id": 14141400824605645,
                        "Name": "El Senor",
                        "Status": 1,
                        "StartPrice": "12.1",
                        "Price": "12.1",
                        "ProviderBetId": "8",
                        "LastUpdate": "2025-07-21T09:18:10.9166688Z",
                        "ParticipantId": 52280039
                      },
                      {
                        "Id": 33333730824605645,
                        "Name": "Brian Boru",
                        "Status": 1,
                        "StartPrice": "8",
                        "Price": "8",
                        "ProviderBetId": "8",
                        "LastUpdate": "2025-07-21T09:18:10.9166704Z",
                        "ParticipantId": 52280040
                      },
                      {
                        "Id": 36157726424605645,
                        "Name": "Master Black Jack",
                        "Status": 1,
                        "StartPrice": "26",
                        "Price": "26",
                        "ProviderBetId": "8",
                        "LastUpdate": "2025-07-21T09:18:10.9166718Z",
                        "ParticipantId": 52280041
                      },
                      {
                        "Id": 83613793524605645,
                        "Name": "Spithill",
                        "Status": 1,
                        "StartPrice": "26.1",
                        "Price": "26.1",
                        "ProviderBetId": "8",
                        "LastUpdate": "2025-07-21T09:18:10.9166732Z",
                        "ParticipantId": 52280294
                      },
                      {
                        "Id": 139908971824605645,
                        "Name": "Grandiscoccymelums",
                        "Status": 1,
                        "StartPrice": "21",
                        "Price": "21",
                        "ProviderBetId": "8",
                        "LastUpdate": "2025-07-21T09:18:10.9166748Z",
                        "ParticipantId": 52280295
                      },
                      {
                        "Id": 58605226324605645,
                        "Name": "Twin Spinner",
                        "Status": 1,
                        "StartPrice": "8.1",
                        "Price": "8.1",
                        "ProviderBetId": "8",
                        "LastUpdate": "2025-07-21T09:18:10.9166771Z",
                        "ParticipantId": 52289573
                      }
                    ],
                    "ProviderMarkets": [
                      {
                        "Id": 8,
                        "Name": "Bet365",
                        "LastUpdate": "2025-07-21T09:18:09.482338Z",
                        "Bets": [
                          {
                            "Id": 23362,
                            "Name": "Reliable Miss",
                            "Status": 1,
                            "StartPrice": "1.44",
                            "Price": "1.44",
                            "LastUpdate": "2025-07-21T09:18:09.483322Z",
                            "ParticipantId": 52280038
                          },
                          {
                            "Id": 23363,
                            "Name": "El Senor",
                            "Status": 1,
                            "StartPrice": "12.1",
                            "Price": "12.1",
                            "LastUpdate": "2025-07-21T09:18:09.483372Z",
                            "ParticipantId": 52280039
                          },
                          {
                            "Id": 23364,
                            "Name": "Brian Boru",
                            "Status": 1,
                            "StartPrice": "8",
                            "Price": "8",
                            "LastUpdate": "2025-07-21T09:18:09.483372Z",
                            "ParticipantId": 52280040
                          },
                          {
                            "Id": 23365,
                            "Name": "Master Black Jack",
                            "Status": 1,
                            "StartPrice": "26",
                            "Price": "26",
                            "LastUpdate": "2025-07-21T09:18:09.483372Z",
                            "ParticipantId": 52280041
                          },
                          {
                            "Id": 23366,
                            "Name": "Spithill",
                            "Status": 1,
                            "StartPrice": "26.1",
                            "Price": "26.1",
                            "LastUpdate": "2025-07-21T09:18:09.483373Z",
                            "ParticipantId": 52280294
                          },
                          {
                            "Id": 23367,
                            "Name": "Grandiscoccymelums",
                            "Status": 1,
                            "StartPrice": "21",
                            "Price": "21",
                            "LastUpdate": "2025-07-21T09:18:09.483373Z",
                            "ParticipantId": 52280295
                          },
                          {
                            "Id": 23368,
                            "Name": "Twin Spinner",
                            "Status": 1,
                            "StartPrice": "8.1",
                            "Price": "8.1",
                            "LastUpdate": "2025-07-21T09:18:09.483374Z",
                            "ParticipantId": 52289573
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  }
}
```

{% endtab %}

{% tab title="XML" %}

```xml
    <Header>
        <Type>40</Type>
        <MsgGuid>01017c9c-beb3-47d0-9f8e-110c22dab96e</MsgGuid>
        <ServerTimestamp>1575369435847</ServerTimestamp>
    </Header>
    <Body>
        <Competition Id="1" Name="League" Type="3">
          <Competitions>
            <Competition Id="2" Name="Season" Type="1">
              <Events>
                <Event FixtureId="5001151">
                  <Markets>
                      <Market Id="160" Name="Outright 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>
      </Competitions>
    </Competition>
```

{% 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 |
| Competitions | array     | Array of Competitions              |

### Competitions

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