Product Overview
Most bets are placed on the Final Field Market. This is the market that is open before the race has started. When the Final Field Market (hereafter FFM) Closes (usually a few seconds before the race jumps), a Live Racing Market (hereafter LRM) may be created. Users can bet on this market while the race is in progress.
Not all races are traded live. Live races are traded by a trader, using PriceKinetics (hereafter PK) who watches the video stream and adjusts prices in real time.
States
These are the high-level states that Live Racing can be in.
Going Live
The 'Going Live' state is displayed when:
- FFM is OPEN
- LRM exists for this race
- LRM is LIVE
Live
The market becomes live when:
- FFM is CLOSED
- LRM exists for this race
- LRM is LIVE
When these conditions are all met, the app will fetch the full LRM (containing entrants and initial prices) and render the market.
All Entrants Suspended
At some point during the race, the trader will suspend betting on the LRM. PK will set the price of every entrant to $1, which will show them all as suspended.
Market Hidden
The market will hide when:
- LRM is CLOSED
- FFM is INTERIM or FINAL
Pricing
Updates
Prices are initially fetched from GQL. Push Message handlers in push-gateway-overrides.ts
ingest new prices from push gateway. A price of $1 is used to indicate that the runner is suspended, as it's not possible to place a bet with $1 odds.
Flucs during placement
Prices may change at any stage of bet placement. If the price increases while the bet is being placed, the stake will be accepted at the higher odds. If the price decreases, the user will be asked to re-confirm their placement at the new odds.