For the complete documentation index, see llms.txt. This page is also available as Markdown.

Outright League Market

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

{
    "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,
        "NextFixtureStartTime": "2025-08-17T14:00:00Z",
        "Competitions": [
          {
            "Id": 2029,
            "Name": "2023/2024",
            "Type": 4,
            "Events": [
              {
                "FixtureId": 24605645,
                "FixtureName": "Premier League 2023/2024 Outright Winner",
                "Livescore": null,
                "Markets": [
                  {
                    "Id": 274,
                    "Name": "Outright Winner",
                    "Bets": [
                      {
                        "Id": 185757142624605645,
                        "Name": "Reliable Miss",
                        "Status": 1,
                        "BetStatusId": 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,
                        "BetStatusId": 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,
                        "BetStatusId": 1,
                        "StartPrice": "8",
                        "Price": "8",
                        "ProviderBetId": "8",
                        "LastUpdate": "2025-07-21T09:18:10.9166704Z",
                        "ParticipantId": 52280040
                      },
                      {
                        "Id": 36157726424605645,
                        "Name": "Master Black Jack",
                        "Status": 1,
                        "BetStatusId": 1,
                        "StartPrice": "26",
                        "Price": "26",
                        "ProviderBetId": "8",
                        "LastUpdate": "2025-07-21T09:18:10.9166718Z",
                        "ParticipantId": 52280041
                      },
                      {
                        "Id": 83613793524605645,
                        "Name": "Spithill",
                        "Status": 1,
                        "BetStatusId": 1,
                        "StartPrice": "26.1",
                        "Price": "26.1",
                        "ProviderBetId": "8",
                        "LastUpdate": "2025-07-21T09:18:10.9166732Z",
                        "ParticipantId": 52280294
                      },
                      {
                        "Id": 139908971824605645,
                        "Name": "Grandiscoccymelums",
                        "Status": 1,
                        "BetStatusId": 1,
                        "StartPrice": "21",
                        "Price": "21",
                        "ProviderBetId": "8",
                        "LastUpdate": "2025-07-21T09:18:10.9166748Z",
                        "ParticipantId": 52280295
                      },
                      {
                        "Id": 58605226324605645,
                        "Name": "Twin Spinner",
                        "Status": 1,
                        "BetStatusId": 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,
                            "BetStatusId": 1,
                            "StartPrice": "1.44",
                            "Price": "1.44",
                            "LastUpdate": "2025-07-21T09:18:09.483322Z",
                            "ParticipantId": 52280038
                          },
                          {
                            "Id": 23363,
                            "Name": "El Senor",
                            "Status": 1,
                            "BetStatusId": 1,
                            "StartPrice": "12.1",
                            "Price": "12.1",
                            "LastUpdate": "2025-07-21T09:18:09.483372Z",
                            "ParticipantId": 52280039
                          },
                          {
                            "Id": 23364,
                            "Name": "Brian Boru",
                            "Status": 1,
                            "BetStatusId": 1,
                            "StartPrice": "8",
                            "Price": "8",
                            "LastUpdate": "2025-07-21T09:18:09.483372Z",
                            "ParticipantId": 52280040
                          },
                          {
                            "Id": 23365,
                            "Name": "Master Black Jack",
                            "Status": 1,
                            "BetStatusId": 1,
                            "StartPrice": "26",
                            "Price": "26",
                            "LastUpdate": "2025-07-21T09:18:09.483372Z",
                            "ParticipantId": 52280041
                          },
                          {
                            "Id": 23366,
                            "Name": "Spithill",
                            "Status": 1,
                            "BetStatusId": 1,
                            "StartPrice": "26.1",
                            "Price": "26.1",
                            "LastUpdate": "2025-07-21T09:18:09.483373Z",
                            "ParticipantId": 52280294
                          },
                          {
                            "Id": 23367,
                            "Name": "Grandiscoccymelums",
                            "Status": 1,
                            "BetStatusId": 1,
                            "StartPrice": "21",
                            "Price": "21",
                            "LastUpdate": "2025-07-21T09:18:09.483373Z",
                            "ParticipantId": 52280295
                          },
                          {
                            "Id": 23368,
                            "Name": "Twin Spinner",
                            "Status": 1,
                            "BetStatusId": 1,
                            "StartPrice": "8.1",
                            "Price": "8.1",
                            "LastUpdate": "2025-07-21T09:18:09.483374Z",
                            "ParticipantId": 52289573
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  }
}

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

NextFixtureStartTime

DateTime

OPTIONAL: The scheduled start time of the next fixture in this league. Use this signal to implement suspension logic for outright markets on your side. The last value sent reflects the start time of the final fixture in the league — when that fixture starts, markets suspend for the last time and no further market messages are sent.

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.

FixtureName

string

OPTIONAL: The human-readable name of the fixture. Omitted entirely when no value exists — never sent as null or empty.

Livescore

int

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

PredictionData

object

OPTIONAL: Kalshi-specific market metadata. Present on Prediction Markets only. See Prediction Markets.

ProviderMarkets

array

An array of ProviderMarket

MarketPredictionData

Field

Data Type

Description

Volume

double

OPTIONAL: Aggregate trading volume for this market

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 of the bet. Will be deprecated on 1 March 2027: use BetStatusId instead.

BetStatusId

enum

The status of the bet: Open, Suspended, Closed or Settled

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 provider's ID for this selection. When multiple providers are included in the calculation, this value is 0.

LastUpdate

DateTime

Timestamp representing the time the bet was last updated

ParticipantId

int

OPTIONAL: Reference ID to the participant in the fixture Note: Provided in outright fixtures or in player's markets

Probability

double

OPTIONAL: Probability won't be calculated and will be sent with value= "-1" in the following cases:

  1. One of the market bets is suspended.

  2. one of the market bets is equal to or lower than 1.00 (similar to suspended).

  3. The market is a special market and TRADE cannot calculate fair odds or probability.

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)

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

BetPredictionData

Field

Data Type

Description

Volume

double

OPTIONAL: Total contracts traded for this bet

Liquidity

double

OPTIONAL: Available liquidity for this bet. Provided by Polymarket; null for Kalshi

StartDate

DateTime

The date from which this bet is open for trading

EndDate

DateTime

The date after which this bet closes

ProviderMarkets

Note: Available for ProviderOdds+ packages only. Contact your CSM to enable ProviderOdds+ access.

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.

How NextFixtureStartTime Is Calculated

NextFixtureStartTime always reflects the earliest start time of the next upcoming match in the league.

TRADE looks at all standard fixtures linked to the outright league, excludes any that have already reached final status, and sets NextFixtureStartTime to the earliest start time among the remaining fixtures.

The value updates automatically when:

  • A new fixture is added to the league

  • A fixture's start time changes

  • A fixture reaches final status — the next earliest upcoming start time takes over


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.

Last updated

Was this helpful?