Exchange
smarkets
Severity
MEDIUM
What Our Normalizer Expects
The SmarketsRawMarket TypeScript interface does not declare inplay_enabled. The smarkets normalizer does not access this field when normalizing markets.
What The Live API Returns
The live markets endpoint returns:
markets[].inplay_enabled: boolean
This flag indicates whether the market accepts in-play (live) betting after the event has started.
Impact
- Normalized smarkets markets carry no in-play availability signal
- Consumers cannot distinguish pre-match-only markets from in-play markets
- Attempting to place in-play bets on markets where
inplay_enabled: false would fail at the venue with no prior warning from the unified feed
Suggested Fix
- Add
inplay_enabled?: boolean to the SmarketsRawMarket interface
- Surface it on the normalized
UnifiedMarket (e.g., as isInplayEnabled in sourceMetadata or as a dedicated field if the unified schema supports it)
Found by automated response shape drift audit
Exchange
smarkets
Severity
MEDIUM
What Our Normalizer Expects
The
SmarketsRawMarketTypeScript interface does not declareinplay_enabled. The smarkets normalizer does not access this field when normalizing markets.What The Live API Returns
The live markets endpoint returns:
This flag indicates whether the market accepts in-play (live) betting after the event has started.
Impact
inplay_enabled: falsewould fail at the venue with no prior warning from the unified feedSuggested Fix
inplay_enabled?: booleanto theSmarketsRawMarketinterfaceUnifiedMarket(e.g., asisInplayEnabledinsourceMetadataor as a dedicated field if the unified schema supports it)Found by automated response shape drift audit