GTS FAQ Risk Services Integration

Bet Feed Receiver

Is the Bet Feed Receiver integration provider specific?

Bet Feed Receiver is not provider specific and it also accepts bets with content from any other provider than Betgenius including manually traded content from the customers platform.

Does the Bet Feed Receiver supports multiple settlement streams (e.g bets settled by other provider than Betgenius or manually on customers platform)?

It doesn’t matter where or how the bet is settled. It is required to resubmit the bet to Bet Feed Receiver if any of the bet legs was settled or cancelled.

How should voided bets be treated?

Voided bets should be treated as “Settled“. Any bets containing legs on voided (abandoned) markets should have legs set to “Settled” with PayoutPrice set to 1.

Which bet should be treated as cancelled bets?

“Cancelled” bets are when the customer cancels the bet before the market is settled or abandoned, i.e. the bet is deleted

How should bets that are affected with re-resulting be handled?

When the bet is re-resulted then it should be resubmitted to the Bet Feed Receiver with the full updated bet state.

Is there a particular retry amount/period required or recommended?

In case of timeout or network issue then retry, but in case of validation error, don’t retry because no amount of retrying will make the bet go through.

Otherwise no recommendations other than standard error handling / retry concepts.

What should happen to the game state if we are within the retry period and the game state (status) changes?

As there are separate limits for PreMatch and InPlay markets then the game state of the leg should always reflect to the game state at the time when the player placed the bet.

If Bet Feed Receiver Api continues to fail for a set number of retries, is it required to resubmit all bet information again at a different time due to liabilities?

Yes it is required to resubmit all bet information again with the same bet and content data as it was at the time when the player placed the bet to keep the liabilities up to date.

Is the market sequence required since the market id is shared between different sequences of the same market (ex: football - next goalscorer)?

Currently there is no option to send market sequence to our Bet Feed Receiver and Bet Assessment APIs. So GTS treats sequence markets based on how customer are treating them on their platform:

  • Is each indexed market generated as a new bookmaker market with the different market id + selection ids ?

    • Example: Next Goalscorer market

      • Index/Sequence 1, First Goalscorer → bookmakerMarketId: 1, bookmakerSelectionId: 11, 12, 13, 14 etc.

      • Index/Sequence 2, Second Goalscorer → bookmakerMarketId: 2, bookmakerSelectionId: 21, 22, 23, 24etc.

    • In this case currently each index(sequence) of the market is treated as a separate market with separate liabilities and limits in GTS

  • or is it treated as the same market with the same bookmaker market id + the same selection ids + the different sequence number ?

    • Example: Next Goalscorer market

      • Index/Sequence 1, First Goalscorer → bookmakerMarketId: 1, bookmakerSelectionId: 11, 12, 13, 14 etc., market sequence 1

      • Index/Sequence 2, Second Goalscorer → bookmakerMarketId: 1, bookmakerSelectionId: 11, 12, 13, 14 etc , market sequence 2

    • In this case each index(sequence) of the market is treated as the same market with the same liabilities and limits in our GTS. It will ignore the Index and treat all of them as one market. So any limit we set on the market / selection will affect all bets in the market / selection, regardless of their index values.

What does bet placed mean?

Bet placed means when the bet is accepted by the bookmaker. Bet should be sent to Bet Feed Receiver when it is placed or if the state of the already placed bet is changed.

The data flow requirement section mentions that it is required to resubmit the bet when any leg has been settled or cancelled. What about voided legs/bets?

Voided legs/bets should be also resubmitted with status “Settled“.
For Multis it is important to resubmit the bet each time a leg is settled, as the liability changes for all remaining open legs. So in the case when a leg is voided, you should resubmit the bet with the leg status ‘Settled’ and PayoutPrice='1'. Sometimes there is ‘partial push’ (in the case of Asian handicap markets) and a leg being partially pushed would for example have status ‘Settled’ and PayoutPrice = ‘0.5’.

For the systemBetType within the bet data contract, should we send the name (definitions) or array values?

You should send name. Risk Services Integration | Appendix A: Supported System Bet Types definitions

When first submitting the bet, should betPlacedTimestampUTC and betUpdatedTimestampUTC be the same?

Yes

What is the Priority property within the bet data contract used for? What difference will the high/low queues make?

The priority property is intended to provide a mechanism to give certain bets a fast-path through the system. For example, during a time of high betting frequency, a 1,000,000 Euro bet that will have a huge impact on liabilities might end in the processing queue behind 10,000 1 Euro bets that have a small impact. A customer might like to flag bets with stakes above a certain threshold as high-priority so they are processed first. Other customers might prefer bets from certain players to be high-priority.

Should prices be submitted with original received odds? - if we use probabilities, these will have our internal margins applied

Submitted price should be the same price, which the bet was placed by the player. So it should be the price with internal margin applied.

Is "Betgenius Content" required? How do I get these parameters values?

It is required for the content that is from Betgenius and you should get these values from BG V3 Integration.

Bet Assessment

What does the property isInPlay (mentioned within the Bet assessment Api) refer to?

It refers to whether the bet was made on InPlay market (game was ongoing at the time of the bet placement ) or PreMatch market (game was not started at the time of the bet placement)

Are there any set Bet Delay? What is the maximum supported bet delay?

Bet Delay is a setting that is set by Genius Sports risk analyst in GTS. The maximum value is configurable.

You should artificially delay the bet by this amount of time, and then verify that the price and market status are still valid before placing the bet.

The bet delay is a suggestion, and it is up to the customer’s system to implement the delay or decide not to.

Do only Confirmed and Unsettled bets count towards liability?

Yes

What should happen if the Bet Assessment API fails?

It means that Genius Sports is not able to assess any bets and there won’t be any suggestion from Genius Sports whether the bet should be allowed or not.

Probably you don’t want to reject all bets when the bet assessment api fails and one of the fallbacks could be accepting bets from customer's own platform.