Alternative Odds Integration

This part of the document aims to provide an overview of Alternative Odds and its integration. Alternative Odds is a feature whereby players who wish to bet amounts higher than the liability limit allows, are still allowed to do so but at a lower odds than the original price.

For example:

  • A player wishes to bet 50k€ on Sinner to beat Alcaraz at odds of 2.2 but the liability for this kind of bet is too high.

  • Normally this bet would simply be rejected and a high value player could be lost, but with Alternative Odds, we offer the player 2.1 odds instead.

  • With Alternative Odds - the wagered amount will stay the same, but the odds price will be lowered.

  • This means when the player tries to place the bet but the liability is too high - the player should be given an option to accept or decline the alternative odds.

The BetPlacement flow with Alternative odds works as follows:

  1. The player chooses the wager amount and presses the button for the bet placement process to begin.

  2. We check if the wagered amount exceeds the liability limit on the selected price:

  3. Liability limit is not exceeded the bet is accepted

  4. Liability limit is exceeded:

  5. We will return a rejection with the corresponding reason- PlayerBetLimitExceeded

The rejection will contain 2 parameters:

AlternativeOddsId (String) - Unique Key

AlternativePrice (Decimal) - Adjusted odds price

Player is presented with the option to either accept or decline the alternative odds:

If it is declined - the bet placement flow ends and the bet is not placed

If the player agrees to the new price, we need to receive a new BetPlacement request which contains the parameters corresponding to those previously sent in the rejection and the bet will be placed.

New properties: On BetPlacement.BetRequestViewModel:

  1. alternativeOddsId (String) - Unique Key

  2. alternativePrice (Decimal) - Adjusted odds price

On BetPlacement.RejectInfoViewModel:

  1. Alternative odds specific rejection reasons:

62 = AlternativeOddsExpired (Alternative odds is expired or not available)

63 = AlternativeOddsPriceInvalid (Alternative odds price is invalid)

64 = AlternativeOddsBetItemsInvalid (Alternative odds bet item(s) are invalid)

65 = AlternativeOddsBetAmountInvalid (Alternative odds bet amount is invalid)

  1. betItem[]

alternativePrice(Decimal)

  1. alternativeOdds[]

id(String)

alternativePrice(Decimal)

createdAt(String) - Timestamp the offer was created

expiredAt(String) - Timestamp the offer expires

Bets API

Last updated