> ## Documentation Index
> Fetch the complete documentation index at: https://docs.polymarket.us/llms.txt
> Use this file to discover all available pages before exploring further.

# Sports Schema

> Common instrument fields for safely identifying sports markets

This page documents the strongly-typed fields on the instrument that should be used to identify a sports market. **Do not parse the instrument symbol or slug** — symbol formats are not part of the public contract and may change. Always identify markets using the fields below.

## Section 1: Common Identifying Fields

The following fields appear on every sports instrument. Together they uniquely describe the sport, league, event, period, market type, and handicap of a contract.

### Field Reference

| Field | Location | Type | Description |
| - | - | - | - |
| `event_start_time` | `metadata` | Timestamp (UTC) | Scheduled start time of the underlying event. Updated in place when a game is rescheduled. |
| `event_subcategory` | `metadata` | Enum | The sport. Values: `BASKETBALL`, `FOOTBALL`, `BASEBALL`, `SOCCER`, etc. |
| `outcome_type` | `metadata` | Enum | The market structure. Still present on every instrument, but **do not use it for market mapping** — use `market_sport_type` instead. See the enum list below. |
| `market_sport_type` | `metadata` | Enum | The fully-qualified market type, including sport, participant scope, and game period. **Always populated on every sports instrument**, including full-game spreads, totals, and outright winners. See the enum list below. |
| `outcome_strike` | `metadata` | String (numeric) | The handicap or threshold for the market. Unsigned magnitude — the side the contract pays out on is encoded by `long_participant_id`. For a Cleveland +3.5 spread, this is `"3.5"`. For an over/under total of 4.5, this is `"4.5"`. Empty/`"0.0"` for moneylines. |
| `long_participant_id` | `metadata` | String | Globally unique ID of the side the contract pays out on (e.g. `mlb-cle`). Only populated on individual game markets (moneylines, spreads, totals, props) — do not rely on it for futures. |

### `outcome_type` Enum

The market structure of a sports instrument.

| Value | Meaning |
| - | - |
| `moneyline` | Win/lose market (no handicap). |
| `spreads` | Point/goal/run handicap market. |
| `totals` | Over/under combined-score market. |
| `props` | Player or team prop. |
| `futures` | Season-long or event-long futures market. |
| `drawable_outcome` | Exclusive group market that admits a draw (e.g. 3-way soccer outcome). |

### `market_sport_type` Enum

The fully-qualified market type, including sport, participant scope, and game period. This field is populated on **every** sports instrument — full-game spreads, totals, and outright winners included — so you can treat it as the single source of truth for any market. **You no longer need to check `outcome_type` to map a market**; `market_sport_type` alone is sufficient. Some values are registered before their first listing; treat every value in this table as one that can appear on an instrument.

| Value | Sport | Scope | Period | Type |
| - | - | - | - | - |
| `baseball_player_home_runs` | Baseball | Player | Full game | Home runs prop |
| `baseball_player_strikeouts` | Baseball | Player | Full game | Strikeouts prop |
| `baseball_player_hits` | Baseball | Player | Full game | Hits prop |
| `baseball_player_total_bases` | Baseball | Player | Full game | Total bases prop |
| `baseball_player_hits_runs_rbis` | Baseball | Player | Full game | Hits + runs + RBIs prop |
| `baseball_player_rbis` | Baseball | Player | Full game | RBIs prop |
| `baseball_player_stolen_bases` | Baseball | Player | Full game | Stolen bases prop |
| `baseball_player_outs` | Baseball | Player | Full game | Pitcher outs prop |
| `baseball_player_earned_runs_allowed` | Baseball | Player | Full game | Earned runs allowed prop |
| `baseball_player_hits_allowed` | Baseball | Player | Full game | Hits allowed prop |
| `baseball_player_walks_allowed` | Baseball | Player | Full game | Walks allowed prop |
| `baseball_team_first_inning_run` | Baseball | Team | 1st inning | Run scored |
| `baseball_team_inning1_winner` | Baseball | Team | 1st inning | Inning winner |
| `baseball_team_inning2_winner` | Baseball | Team | 2nd inning | Inning winner |
| `baseball_team_inning3_winner` | Baseball | Team | 3rd inning | Inning winner |
| `baseball_team_inning4_winner` | Baseball | Team | 4th inning | Inning winner |
| `baseball_team_inning5_winner` | Baseball | Team | 5th inning | Inning winner |
| `baseball_team_inning6_winner` | Baseball | Team | 6th inning | Inning winner |
| `baseball_team_inning7_winner` | Baseball | Team | 7th inning | Inning winner |
| `baseball_team_inning8_winner` | Baseball | Team | 8th inning | Inning winner |
| `baseball_team_inning9_winner` | Baseball | Team | 9th inning | Inning winner |
| `baseball_team_inning1_total` | Baseball | Game | 1st inning | Combined-runs total |
| `baseball_team_inning2_total` | Baseball | Game | 2nd inning | Combined-runs total |
| `baseball_team_inning3_total` | Baseball | Game | 3rd inning | Combined-runs total |
| `baseball_team_inning4_total` | Baseball | Game | 4th inning | Combined-runs total |
| `baseball_team_inning5_total` | Baseball | Game | 5th inning | Combined-runs total |
| `baseball_team_inning6_total` | Baseball | Game | 6th inning | Combined-runs total |
| `baseball_team_inning7_total` | Baseball | Game | 7th inning | Combined-runs total |
| `baseball_team_inning8_total` | Baseball | Game | 8th inning | Combined-runs total |
| `baseball_team_inning9_total` | Baseball | Game | 9th inning | Combined-runs total |
| `baseball_game_extra_innings` | Baseball | Game | Full game | Extra innings yes/no |
| `baseball_team_first_five_winner` | Baseball | Team | First 5 innings | Prop |
| `baseball_team_first_five_spread` | Baseball | Team | First 5 innings | Spread |
| `baseball_team_first_five_total` | Baseball | Team | First 5 innings | Total |
| `baseball_team_full_game_winner` | Baseball | Team | Full game | Moneyline |
| `baseball_team_full_game_spread` | Baseball | Team | Full game | Spread |
| `baseball_team_full_game_total` | Baseball | Team | Full game | Total |
| `baseball_team_total_runs` | Baseball | Team | Full game | Selected-team runs total |
| `basketball_player_points` | Basketball | Player | Full game | Points prop |
| `basketball_player_assists` | Basketball | Player | Full game | Assists prop |
| `basketball_player_rebounds` | Basketball | Player | Full game | Rebounds prop |
| `basketball_player_threes` | Basketball | Player | Full game | Three-pointers prop |
| `basketball_player_steals` | Basketball | Player | Full game | Steals prop |
| `basketball_player_blocks` | Basketball | Player | Full game | Blocks prop |
| `basketball_player_points_rebounds_assists` | Basketball | Player | Full game | Points + rebounds + assists prop |
| `basketball_player_double_double` | Basketball | Player | Full game | Double-double yes/no |
| `basketball_player_triple_double` | Basketball | Player | Full game | Triple-double yes/no |
| `basketball_team_first_half_winner` | Basketball | Team | First half | Winner (legs: away team, Tie, home team) |
| `basketball_team_first_half_spread` | Basketball | Team | First half | Spread |
| `basketball_team_first_half_total` | Basketball | Team | First half | Total |
| `basketball_team_second_half_winner` | Basketball | Team | Second half | Winner (legs: away team, Tie, home team; overtime included) |
| `basketball_team_second_half_spread` | Basketball | Team | Second half | Spread |
| `basketball_team_second_half_total` | Basketball | Team | Second half | Total |
| `basketball_team_first_quarter_winner` | Basketball | Team | 1st quarter | Winner (legs: away team, Tie, home team) |
| `basketball_team_first_quarter_spread` | Basketball | Team | 1st quarter | Spread |
| `basketball_team_first_quarter_total` | Basketball | Team | 1st quarter | Total |
| `basketball_team_second_quarter_winner` | Basketball | Team | 2nd quarter | Winner (legs: away team, Tie, home team) |
| `basketball_team_second_quarter_spread` | Basketball | Team | 2nd quarter | Spread |
| `basketball_team_second_quarter_total` | Basketball | Team | 2nd quarter | Total |
| `basketball_team_third_quarter_winner` | Basketball | Team | 3rd quarter | Winner (legs: away team, Tie, home team) |
| `basketball_team_third_quarter_spread` | Basketball | Team | 3rd quarter | Spread |
| `basketball_team_third_quarter_total` | Basketball | Team | 3rd quarter | Total |
| `basketball_team_fourth_quarter_winner` | Basketball | Team | 4th quarter | Winner (legs: away team, Tie, home team; overtime not included) |
| `basketball_team_fourth_quarter_spread` | Basketball | Team | 4th quarter | Spread |
| `basketball_team_fourth_quarter_total` | Basketball | Team | 4th quarter | Total |
| `basketball_game_overtime` | Basketball | Game | Full game | Overtime yes/no |
| `basketball_game_race_to_points` | Basketball | Game | Full game | First team to reach the points target (legs: each team); `outcome_strike` carries the target (10, 20, or 30) |
| `basketball_game_winning_margin` | Basketball | Game | Full game | Winning margin band (legs: each team by 1-5, 6-10, 11-15, 16-20, or 21+ points, overtime included) |
| `basketball_team_total_points` | Basketball | Team | Full game | Selected-team points total (overtime included) |
| `basketball_team_total_points_first_half` | Basketball | Team | First half | Selected-team points total |
| `basketball_team_total_points_second_half` | Basketball | Team | Second half | Selected-team points total (overtime included) |
| `basketball_team_full_game_winner` | Basketball | Team | Full game | Moneyline |
| `basketball_team_full_game_spread` | Basketball | Team | Full game | Spread |
| `basketball_team_full_game_total` | Basketball | Team | Full game | Total |
| `football_team_full_game_winner` | Football | Team | Full game | Moneyline |
| `football_team_full_game_spread` | Football | Team | Full game | Spread |
| `football_team_full_game_total` | Football | Team | Full game | Total |
| `football_player_touchdowns` | Football | Player | Full game | Touchdowns from scrimmage prop (passing touchdowns excluded) |
| `football_player_rushing_yards` | Football | Player | Full game | Rushing yards prop |
| `football_player_passing_yards` | Football | Player | Full game | Passing yards prop |
| `football_player_receiving_yards` | Football | Player | Full game | Receiving yards prop |
| `football_player_passing_touchdowns` | Football | Player | Full game | Passing touchdowns prop |
| `football_player_scrimmage_yards` | Football | Player | Full game | Scrimmage yards prop (rushing plus receiving yards) |
| `football_player_receptions` | Football | Player | Full game | Receptions prop |
| `football_player_passer_rating` | Football | Player | Full game | Passer rating prop |
| `football_player_interceptions_thrown` | Football | Player | Full game | Interceptions thrown prop |
| `football_player_sacks` | Football | Player | Full game | Sacks prop |
| `football_player_defensive_interceptions` | Football | Player | Full game | Defensive interceptions prop |
| `football_player_field_goals_made` | Football | Player | Full game | Field goals made prop |
| `football_player_50_plus_yard_field_goals_made` | Football | Player | Full game | 50+ yard field goals made prop |
| `football_player_fantasy_points_ppr` | Football | Player | Full game | Fantasy points prop (PPR scoring) |
| `football_player_first_touchdown` | Football | Player | Full game | Scores the first touchdown yes/no |
| `football_player_most_passing_yards` | Football | Player | Full game | Most passing yards in the game yes/no |
| `football_player_most_rushing_yards` | Football | Player | Full game | Most rushing yards in the game yes/no |
| `football_player_most_receiving_yards` | Football | Player | Full game | Most receiving yards in the game yes/no |
| `football_player_passing_attempts` | Football | Player | Full game | Passing attempts prop |
| `football_player_passing_completions` | Football | Player | Full game | Passing completions prop |
| `football_player_rushing_attempts` | Football | Player | Full game | Rushing attempts prop |
| `football_player_longest_rush` | Football | Player | Full game | Longest rush yards prop |
| `football_player_longest_reception` | Football | Player | Full game | Longest reception yards prop |
| `football_player_team_first_touchdown` | Football | Player | Full game | Scores the selected team's first touchdown yes/no (passing touchdowns excluded) |
| `football_team_first_half_winner` | Football | Team | First half | Winner |
| `football_team_second_half_winner` | Football | Team | Second half | Winner |
| `football_team_first_quarter_winner` | Football | Team | 1st quarter | Winner |
| `football_team_second_quarter_winner` | Football | Team | 2nd quarter | Winner |
| `football_team_third_quarter_winner` | Football | Team | 3rd quarter | Winner |
| `football_team_fourth_quarter_winner` | Football | Team | 4th quarter | Winner |
| `football_team_first_half_spread` | Football | Team | First half | Spread |
| `football_team_second_half_spread` | Football | Team | Second half | Spread |
| `football_team_first_quarter_spread` | Football | Team | 1st quarter | Spread |
| `football_team_second_quarter_spread` | Football | Team | 2nd quarter | Spread |
| `football_team_third_quarter_spread` | Football | Team | 3rd quarter | Spread |
| `football_team_fourth_quarter_spread` | Football | Team | 4th quarter | Spread |
| `football_game_first_half_total` | Football | Game | First half | Combined-points total |
| `football_game_second_half_total` | Football | Game | Second half | Combined-points total |
| `football_game_first_quarter_total` | Football | Game | 1st quarter | Combined-points total |
| `football_game_second_quarter_total` | Football | Game | 2nd quarter | Combined-points total |
| `football_game_third_quarter_total` | Football | Game | 3rd quarter | Combined-points total |
| `football_game_fourth_quarter_total` | Football | Game | 4th quarter | Combined-points total |
| `football_team_points_full_game_total` | Football | Team | Full game | Selected-team points total |
| `football_team_first_half_total` | Football | Team | First half | Selected-team points total |
| `football_team_second_half_total` | Football | Team | Second half | Selected-team points total |
| `football_game_exact_margin` | Football | Game | Full game | Winning team and exact-margin bucket |
| `football_game_race_to_points` | Football | Game | Full game | First team to reach the points target (legs: each team plus Neither Team); `outcome_strike` carries the target (7, 14, 21, 28, or 35) |
| `football_game_highest_scoring_quarter` | Football | Game | Full game | Highest-scoring quarter |
| `football_game_possession_winner` | Football | Team | Full game | Time-of-possession winner |
| `football_game_tie` | Football | Game | Full game | Game ends in a tie yes/no |
| `football_game_first_score` | Football | Game | Full game | First scoring team/type |
| `football_game_first_half_first_score` | Football | Game | First half | First scoring team/type |
| `football_game_second_half_first_score` | Football | Game | Second half | First scoring team/type |
| `football_game_first_touchdown` | Football | Game | Full game | First touchdown team |
| `football_game_first_half_first_touchdown` | Football | Game | First half | First touchdown team |
| `football_game_second_half_first_touchdown` | Football | Game | Second half | First touchdown team |
| `football_game_last_score` | Football | Game | Full game | Last scoring team |
| `football_game_last_touchdown` | Football | Game | Full game | Last touchdown team |
| `football_game_first_half_both_teams_score_points` | Football | Game | First half | Both teams score points |
| `football_game_second_half_both_teams_score_points` | Football | Game | Second half | Both teams score points |
| `football_game_first_quarter_both_teams_score_points` | Football | Game | 1st quarter | Both teams score points |
| `football_game_second_quarter_both_teams_score_points` | Football | Game | 2nd quarter | Both teams score points |
| `football_game_third_quarter_both_teams_score_points` | Football | Game | 3rd quarter | Both teams score points |
| `football_game_fourth_quarter_both_teams_score_points` | Football | Game | 4th quarter | Both teams score points |
| `football_game_both_teams_score_touchdown` | Football | Game | Full game | Both teams score a touchdown |
| `football_game_first_half_both_teams_score_touchdown` | Football | Game | First half | Both teams score a touchdown |
| `football_game_second_half_both_teams_score_touchdown` | Football | Game | Second half | Both teams score a touchdown |
| `football_game_first_quarter_both_teams_score_touchdown` | Football | Game | 1st quarter | Both teams score a touchdown |
| `football_game_second_quarter_both_teams_score_touchdown` | Football | Game | 2nd quarter | Both teams score a touchdown |
| `football_game_third_quarter_both_teams_score_touchdown` | Football | Game | 3rd quarter | Both teams score a touchdown |
| `football_game_fourth_quarter_both_teams_score_touchdown` | Football | Game | 4th quarter | Both teams score a touchdown |
| `football_game_total_defensive_special_teams_touchdowns` | Football | Game | Full game | Defensive and special-teams touchdowns total |
| `football_team_total_touchdowns` | Football | Team | Full game | Selected-team touchdowns total |
| `football_game_total_touchdowns` | Football | Game | Full game | Combined touchdowns total |
| `football_game_total_pass_touchdowns` | Football | Game | Full game | Combined passing touchdowns total (also reserved for combined receiving touchdowns) |
| `football_game_total_rush_touchdowns` | Football | Game | Full game | Combined rushing touchdowns total |
| `football_game_total_pass_yards` | Football | Game | Full game | Combined passing yards total (also reserved for combined receiving yards) |
| `football_game_total_rush_yards` | Football | Game | Full game | Combined rushing yards total |
| `football_game_total_offensive_yards` | Football | Game | Full game | Combined offensive yards total |
| `football_game_total_turnovers` | Football | Game | Full game | Combined turnovers total |
| `football_game_total_interceptions` | Football | Game | Full game | Combined defensive interceptions total |
| `football_game_total_fourth_down_conversions` | Football | Game | Full game | Combined fourth-down conversions total |
| `football_game_total_two_point_conversions` | Football | Game | Full game | Successful two-point conversion yes/no (total with a 0.5 line) |
| `football_team_total_pass_touchdowns` | Football | Team | Full game | Selected-team passing touchdowns total (also used for receiving touchdowns) |
| `football_team_total_rush_touchdowns` | Football | Team | Full game | Selected-team rushing touchdowns total |
| `football_team_total_pass_yards` | Football | Team | Full game | Selected-team passing yards total (also used for receiving yards) |
| `football_team_total_rush_yards` | Football | Team | Full game | Selected-team rushing yards total |
| `football_team_total_scrimmage_yards` | Football | Team | Full game | Selected-team scrimmage yards total |
| `football_team_total_receptions` | Football | Team | Full game | Selected-team receptions total |
| `football_team_total_takeaways` | Football | Team | Full game | Selected-team takeaways total |
| `football_team_total_defensive_interceptions` | Football | Team | Full game | Selected-team defensive interceptions total |
| `football_team_total_sacks` | Football | Team | Full game | Selected-team sacks total |
| `football_team_total_field_goals_made` | Football | Team | Full game | Selected-team field goals made total |
| `football_team_total_40_plus_yard_field_goals_made` | Football | Team | Full game | Selected-team 40+ yard field goals made total |
| `football_team_total_offensive_yards` | Football | Team | Full game | Selected-team offensive yards total |
| `football_team_total_first_downs` | Football | Team | Full game | Selected-team first downs total |
| `football_team_total_fourth_down_conversions` | Football | Team | Full game | Selected-team fourth-down conversions total |
| `football_team_total_defensive_special_teams_touchdowns` | Football | Team | Full game | Selected-team defensive and special-teams touchdowns total |
| `football_game_pick_six` | Football | Game | Full game | Pick six scored yes/no |
| `football_game_kickoff_punt_return_touchdown` | Football | Game | Full game | Kickoff or punt return touchdown yes/no |
| `football_game_overtime` | Football | Game | Full game | Overtime yes/no |
| `football_game_safety` | Football | Game | Full game | Safety scored yes/no |
| `football_game_onside_kick_attempt` | Football | Game | Full game | Onside kick attempted yes/no |
| `football_game_double_result` | Football | Game | Full game | Halftime/full-time result combination (9 outcomes) |
| `football_next_team_touchdown` | Football | Game | Full game | Live in-game market: team that scores the next touchdown (legs: each team plus No TD); a new three-leg product lists after each touchdown; regulation only |
| `football_next_team_field_goal` | Football | Game | Full game | Live in-game market: team that scores the next made field goal (legs: each team plus No FG); a new three-leg product lists after each made field goal; regulation only |
| `soccer_team_full_time_winner` | Soccer | Team | Full time | Moneyline (3-way) |
| `soccer_team_full_game_spread` | Soccer | Team | Full game | Spread |
| `soccer_team_full_game_total` | Soccer | Game | Full game | Total goals across **both** teams (combined) |
| `soccer_game_btts` | Soccer | Game | Full game | Both teams to score |
| `soccer_game_first_team_to_score` | Soccer | Game | Full game | First team to score |
| `soccer_game_exact_score` | Soccer | Game | Full game | Exact score |
| `soccer_game_to_advance` | Soccer | Team | Tie/match | To advance |
| `soccer_team_first_half_winner` | Soccer | Team | First half | Prop |
| `soccer_team_first_half_spread` | Soccer | Team | First half | Spread |
| `soccer_team_first_half_total` | Soccer | Game | First half | Total goals across **both** teams (combined) |
| `soccer_game_first_half_btts` | Soccer | Game | First half | Both teams to score, first-half goals only |
| `soccer_game_first_half_first_team_to_score` | Soccer | Game | First half | First team to score, first-half goals only |
| `soccer_game_total_corners` | Soccer | Game | Full game | Total corners across **both** teams (combined) |
| `soccer_team_second_half_winner` | Soccer | Team | Second half | Prop |
| `soccer_team_second_half_spread` | Soccer | Team | Second half | Spread |
| `soccer_team_second_half_total` | Soccer | Game | Second half | Total goals across **both** teams (combined) |
| `soccer_game_second_half_btts` | Soccer | Game | Second half | Both teams to score, second-half goals only |
| `soccer_game_second_half_first_team_to_score` | Soccer | Game | Second half | First team to score, second-half goals only |
| `soccer_team_total_goals` | Soccer | Team | Full game | Total goals for a **single** team |
| `soccer_team_total_goals_first_half` | Soccer | Team | First half | Total goals for a **single** team |
| `soccer_game_total_goals_odd_even` | Soccer | Game | Full game | Total goals odd/even |
| `soccer_game_first_half_exact_score` | Soccer | Game | First half | Exact score |
| `soccer_player_goals` | Soccer | Player | Full game | Goals prop |
| `soccer_player_assists` | Soccer | Player | Full game | Assists prop |
| `soccer_player_shots` | Soccer | Player | Full game | Shots prop |
| `soccer_player_shots_on_target` | Soccer | Player | Full game | Shots on target prop |
| `soccer_player_goalkeeper_saves` | Soccer | Player | Full game | Goalkeeper saves prop |
| `soccer_player_goals_plus_assists` | Soccer | Player | Full game | Goals + assists prop |
| `soccer_team_total_corners` | Soccer | Team | Full game | Total corners for a **single** team |
| `soccer_game_corners_odd_even` | Soccer | Game | Full game | Corners odd/even |
| `soccer_game_goes_to_extra_time` | Soccer | Game | Full time | Will the match go to extra time (knockout) |
| `soccer_team_extra_time_spread` | Soccer | Team | Extra time | Spread — extra-time goals only |
| `soccer_game_extra_time_total` | Soccer | Game | Extra time | Total goals across **both** teams, extra time only |
| `soccer_game_extra_time_btts` | Soccer | Game | Extra time | Both teams to score in extra time |
| `soccer_game_extra_time_first_team_to_score` | Soccer | Game | Extra time | First team to score in extra time |
| `hockey_team_full_game_winner` | Hockey | Team | Full game | Moneyline |
| `hockey_team_full_game_spread` | Hockey | Team | Full game | Spread (puck line) |
| `hockey_team_full_game_total` | Hockey | Team | Full game | Total |
| `hockey_game_overtime` | Hockey | Game | Full game | Overtime yes/no |
| `hockey_game_double_overtime` | Hockey | Game | Full game | Double overtime yes/no |
| `hockey_player_goals` | Hockey | Player | Full game | Goals prop |
| `hockey_player_assists` | Hockey | Player | Full game | Assists prop |
| `hockey_player_points` | Hockey | Player | Full game | Points prop |
| `tennis_match_winner` | Tennis | Player | Match | Moneyline |
| `tennis_match_games_spread` | Tennis | Player | Match | Games spread |
| `tennis_match_sets_spread` | Tennis | Player | Match | Sets spread |
| `tennis_match_total_games` | Tennis | Match | Match | Total games |
| `tennis_match_total_sets` | Tennis | Match | Match | Total sets |
| `tennis_match_exact_score` | Tennis | Match | Match | Exact set score |
| `tennis_set_1_winner` | Tennis | Player | Set 1 | Set winner |
| `tennis_set_2_winner` | Tennis | Player | Set 2 | Set winner |
| `tennis_set_3_winner` | Tennis | Player | Set 3 | Set winner |
| `table_tennis_match_winner` | Table tennis | Player | Match | Moneyline |
| `table_tennis_set_1_winner` | Table tennis | Player | Set 1 | Set winner |
| `table_tennis_set_2_winner` | Table tennis | Player | Set 2 | Set winner |
| `table_tennis_set_3_winner` | Table tennis | Player | Set 3 | Set winner |
| `table_tennis_set_4_winner` | Table tennis | Player | Set 4 | Set winner |
| `cricket_match_winner` | Cricket | Team | Match | Moneyline |
| `ufc_fight_winner` | UFC | Fighter | Fight | Moneyline |
| `ufc_method_of_victory` | UFC | Fighter | Fight | Method of victory |
| `ufc_go_the_distance` | UFC | Game | Fight | Go the distance yes/no |
| `ufc_round_of_victory` | UFC | Fighter | Fight | Round of victory |
| `ufc_round_of_finish` | UFC | Fight | Fight | Round of finish |
| `ufc_method_of_finish` | UFC | Fight | Fight | Method of finish |
| `boxing_match_winner` | Boxing | Fighter | Fight | Moneyline |
| `darts_match_winner` | Darts | Player | Match | Moneyline |
| `pickleball_match_winner` | Pickleball | Team | Match | Moneyline |
| `lacrosse_team_full_game_winner` | Lacrosse | Team | Full game | Moneyline |
| `esports_match_winner` | Esports | Team | Match | Moneyline |
| `esports_map_winner_1` | Esports | Team | Map 1 | Prop |
| `esports_map_winner_2` | Esports | Team | Map 2 | Prop |
| `esports_map_winner_3` | Esports | Team | Map 3 | Prop |
| `esports_map_winner_4` | Esports | Team | Map 4 | Prop |
| `esports_game_winner_1` | Esports | Team | Game 1 | Prop |
| `esports_game_winner_2` | Esports | Team | Game 2 | Prop |
| `esports_game_winner_3` | Esports | Team | Game 3 | Prop |
| `esports_game_winner_4` | Esports | Team | Game 4 | Prop |
| `esports_series_map_handicap` | Esports | Team | Match | Maps handicap (spread) across the series |
| `esports_series_total_maps` | Esports | Match | Match | Total maps in the series |
| `esports_series_game_handicap` | Esports | Team | Match | Games handicap (spread) across the series |
| `esports_series_total_games` | Esports | Match | Match | Total games in the series |
| `esports_map_rounds_handicap_1` | Esports | Team | Map 1 | Rounds handicap (spread) |
| `esports_map_rounds_handicap_2` | Esports | Team | Map 2 | Rounds handicap (spread) |
| `esports_map_rounds_handicap_3` | Esports | Team | Map 3 | Rounds handicap (spread) |
| `esports_map_rounds_handicap_4` | Esports | Team | Map 4 | Rounds handicap (spread) |
| `esports_map_total_rounds_1` | Esports | Match | Map 1 | Total rounds |
| `esports_map_total_rounds_2` | Esports | Match | Map 2 | Total rounds |
| `esports_map_total_rounds_3` | Esports | Match | Map 3 | Total rounds |
| `esports_map_total_rounds_4` | Esports | Match | Map 4 | Total rounds |
| `esports_game_first_blood_1` | Esports | Team | Game 1 | First blood |
| `esports_game_first_blood_2` | Esports | Team | Game 2 | First blood |
| `esports_game_first_blood_3` | Esports | Team | Game 3 | First blood |
| `esports_game_first_blood_4` | Esports | Team | Game 4 | First blood |
| `esports_game_total_kills_1` | Esports | Match | Game 1 | Total kills |
| `esports_game_total_kills_2` | Esports | Match | Game 2 | Total kills |
| `esports_game_total_kills_3` | Esports | Match | Game 3 | Total kills |
| `esports_game_total_kills_4` | Esports | Match | Game 4 | Total kills |
| `esports_game_kills_odd_even_1` | Esports | Match | Game 1 | Total kills odd/even |
| `esports_game_kills_odd_even_2` | Esports | Match | Game 2 | Total kills odd/even |
| `esports_game_kills_odd_even_3` | Esports | Match | Game 3 | Total kills odd/even |
| `esports_game_kills_odd_even_4` | Esports | Match | Game 4 | Total kills odd/even |

Esports map markets (`esports_map_*`) apply to round-based titles such as Counter-Strike 2 and Valorant. Esports game markets (`esports_game_*`) apply to titles played as a series of games such as League of Legends and Dota 2. Series markets (`esports_series_*`) cover the whole best-of series.

> [!NOTE]
>
> The `market_sport_type` enum is the source of truth for sport, period, and prop variants, and is now guaranteed to be present on every instrument. When in doubt about which value applies to a market you're seeing, use this field rather than parsing the symbol.

### Generic Values

Four generic values are also registered. Each has the same market structure as the matching `outcome_type` value. They appear on instruments that carry no sport-specific value: instruments created before the sport-specific values existed, hand-listed markets, and sports that do not yet have their own winner, spread, or total type. Treat them as valid `market_sport_type` values and map them by structure: `moneyline` is a 2-way winner, `spreads` is a handicap, `totals` is an over/under, and `drawable_outcome` is a 3-way winner that admits a draw. These values carry no sport or period, so read the sport from `event_subcategory`. On Retail data, `sportsMarketType` shows the `outcome_type` value (for example `futures`) when the instrument carries no `market_sport_type` at all.

| Value | Meaning |
| - | - |
| `moneyline` | 2-way winner market without a sport-specific type. |
| `spreads` | Handicap market without a sport-specific type. |
| `totals` | Over/under market without a sport-specific type. |
| `drawable_outcome` | 3-way winner market that admits a draw, without a sport-specific type. |

***

## Football Market Metadata

Use structured metadata rather than parsing an NFL instrument ID. Markets for the same game share an `event_id` containing the canonical game slug without a contract prefix. `event_product_id` is the exchange's event-level product grouping and is not a substitute for `event_id`; `product_id` groups the strikes or outcomes belonging to one market product.

For NFL game props, use this tuple as the canonical lookup and deduplication key:

```text theme={null}
event_external_id_sportradar + market_sport_type + long_participant_id + short_participant_id + outcome_strike
```

Participant IDs can be empty for game-wide totals. For player props, also use `external_participant_id` to resolve and validate the player.

| Field | Meaning |
| - | - |
| `event_id` | Canonical game slug shared by every market for the same NFL game. |
| `event_product_id` | Exchange event-level product grouping; do not use it in place of `event_id`. |
| `event_external_id_sportradar` | Sportradar game ID used for creation, querying, scores, and settlement. |
| `product_id` | Groups the strikes or outcomes belonging to one market product. |
| `market_sport_type` | Specific football market classification. |
| `outcome_type` | `moneyline`, `spreads`, or `totals` for primary lines; `props` for secondary game and player markets. |
| `prop_type` | `team` or `player`; NFL player props use `player`. |
| `outcome_strike` | Line, threshold, or binary outcome. Required and included in the deduplication key. |
| `long_participant_id` / `short_participant_id` | Canonical team IDs in `nfl-<team abbreviation>` format. |
| `external_participant_id` | Sportradar player ID for player props, or the selected provider team ID where applicable. |
| `interval_start` / `interval_end` | Exact-margin bucket boundaries used for display and settlement. |

### Football Metadata Profiles

In addition to `event_id`, `event_external_id_sportradar`, `market_sport_type`, and `product_id`, use the fields required by the market's profile:

| Profile | Additional required metadata |
| - | - |
| Game + line | `outcome_strike`; participant IDs are not required. |
| Game/team + line | `long_participant_id`, `short_participant_id`, `outcome_strike`. |
| Team + line | `long_participant_id`, usually `external_participant_id`, `outcome_strike`. |
| Player + line | `external_participant_id`, `long_participant_id`, `prop_type=player`, `outcome_strike`. |
| Game + outcome | `outcome_strike`; exact-margin markets also need `interval_start`, `interval_end`, and sort order. |
| Game + binary strike | `outcome_strike` plus the `market_sport_type` that encodes the period and statistic. |

Race-to-points markets (`football_game_race_to_points`) are mutually exclusive team-outcome products, like the first-score markets. Each points target (7, 14, 21, 28, 35) is one product with three instruments: away team, home team, and Neither Team. `outcome_strike` carries the points target on all three legs. `long_participant_id` names the team on the team legs and is absent on the Neither Team leg; `short_participant_id` is not set.

Live next-touchdown and next-field-goal markets (`football_next_team_touchdown`, `football_next_team_field_goal`) re-list during the game. Each touchdown or field-goal number is one product with three instruments: away team, home team, and No TD or No FG. The first instance lists at kickoff, a new instance lists after each confirmed touchdown or made field goal, and none lists in overtime. Successive instances share `market_sport_type`, `event_id`, and participant IDs, so the canonical deduplication key above does not separate them. Use `product_id` (`<game slug>-next-team-td-<n>`, `<game slug>-next-team-fg-<n>`) or the `touchdown_number` / `field_goal_number` metadata field instead. On these legs `outcome_strike` holds the team abbreviation or `no-td` / `no-fg`, not a number.

***

## Section 2: Identifying Markets

Use this table as a recipe book for identifying a specific market type from instrument metadata. **Match on `market_sport_type` alone** — it fully identifies any market (structure and period), so you no longer need to check `outcome_type`.

| To identify... | `market_sport_type` |
| - | - |
| **Full-game moneyline** | `<sport>_team_full_game_winner` (soccer uses `soccer_team_full_time_winner`, a 3-way market) |
| **Full-game spread** | `<sport>_team_full_game_spread` |
| **Full-game total** | `<sport>_team_full_game_total` |
| **MLB first-5-innings moneyline** | `baseball_team_first_five_winner` |
| **MLB first-5-innings spread** | `baseball_team_first_five_spread` |
| **MLB first-5-innings total** | `baseball_team_first_five_total` |
| **MLB first-inning run** | `baseball_team_first_inning_run` |
| **MLB inning winner (innings 1–9)** | `baseball_team_inning1_winner` through `baseball_team_inning9_winner` — derive the inning number from this enum value, not the instrument ID |
| **MLB inning total (innings 1–9)** | `baseball_team_inning1_total` through `baseball_team_inning9_total` — derive the inning number from this enum value, not the instrument ID |
| **MLB player home runs prop** | `baseball_player_home_runs` |
| **MLB player strikeouts prop** | `baseball_player_strikeouts` |
| **MLB player RBIs prop** | `baseball_player_rbis` |
| **MLB player stolen bases prop** | `baseball_player_stolen_bases` |
| **MLB selected-team total runs** | `baseball_team_total_runs` |
| **NBA first-half winner** | `basketball_team_first_half_winner` (three legs: away team, Tie, home team) |
| **NBA second-half winner** | `basketball_team_second_half_winner` (three legs: away team, Tie, home team; overtime included) |
| **NBA quarter winner** | `basketball_team_first_quarter_winner` through `basketball_team_fourth_quarter_winner` (three legs: away team, Tie, home team; the 4th quarter excludes overtime) — derive the quarter from this enum value, not the instrument ID |
| **NBA first-half spread** | `basketball_team_first_half_spread` |
| **NBA first-half total** | `basketball_team_first_half_total` |
| **NBA player points prop** | `basketball_player_points` |
| **NBA player assists prop** | `basketball_player_assists` |
| **NBA player rebounds, three-pointers, steals, blocks, or points + rebounds + assists prop** | `basketball_player_rebounds`, `basketball_player_threes`, `basketball_player_steals`, `basketball_player_blocks`, `basketball_player_points_rebounds_assists` |
| **NBA quarter spread or total** | `basketball_team_first_quarter_spread` through `basketball_team_fourth_quarter_total` — derive the quarter from this enum value, not the instrument ID |
| **NBA selected-team points total** | `basketball_team_total_points` (full game), `basketball_team_total_points_first_half`, `basketball_team_total_points_second_half` |
| **NBA race to X points** | `basketball_game_race_to_points` (`outcome_strike` carries the points target; two legs per target: away team, home team) |
| **NBA winning margin** | `basketball_game_winning_margin` (one leg per team and margin band) |
| **NBA overtime** | `basketball_game_overtime` |
| **NFL player anytime touchdown prop** | `football_player_touchdowns` |
| **NFL player rushing yards prop** | `football_player_rushing_yards` |
| **NFL player passing yards prop** | `football_player_passing_yards` |
| **NFL player receiving yards prop** | `football_player_receiving_yards` |
| **NFL player passing touchdowns prop** | `football_player_passing_touchdowns` |
| **NFL player fantasy points (PPR) prop** | `football_player_fantasy_points_ppr` |
| **NFL race to X points** | `football_game_race_to_points` (`outcome_strike` carries the points target; three legs per target: away team, home team, Neither Team) |
| **NFL live next touchdown / next field goal** | `football_next_team_touchdown` / `football_next_team_field_goal` |
| **Table tennis set winner (sets 1–4)** | `table_tennis_set_1_winner` through `table_tennis_set_4_winner` |
| **Esports series handicap and total** | `esports_series_map_handicap` / `esports_series_total_maps` (map-based titles), `esports_series_game_handicap` / `esports_series_total_games` (game-based titles) |
| **Boxing, darts, pickleball, or lacrosse winner** | `boxing_match_winner`, `darts_match_winner`, `pickleball_match_winner`, `lacrosse_team_full_game_winner` |

### Worked Example: Cleveland/Detroit Over 4.5 Total

A full-game total on the May 21 Cleveland Guardians vs Detroit Tigers MLB game:

```json theme={null}
{
  "symbol": "tsc-mlb-cle-det-2026-05-21-4pt5",
  "metadata": {
    "event_id": "mlb-cle-det-2026-05-21",
    "event_start_time": "2026-05-21 17:10:00+00",
    "event_subcategory": "BASEBALL",
    "outcome_type": "totals",
    "market_sport_type": "baseball_team_full_game_total",
    "outcome_strike": "4.5",
    "long_participant_id": "mlb-cle",
    "long_participant_name": "Cleveland Guardians",
    "short_participant_id": "mlb-det"
  }
}
```

To safely interpret this contract:

1. `market_sport_type = "baseball_team_full_game_total"` → full-game total. (`outcome_type` is also present but you don't need it.)
2. `event_subcategory = "BASEBALL"` → MLB game.
3. `outcome_strike = "4.5"` → over/under line is 4.5 combined runs.
4. The contract resolves "Over" if the combined score is 4.5 or more, otherwise "Under".

### Worked Example: Cleveland +3.5 Spread

A full-game run-line spread on the May 20 Cleveland Guardians vs Detroit Tigers MLB game:

```json theme={null}
{
  "symbol": "asc-mlb-cle-det-2026-05-20-pos-3pt5",
  "metadata": {
    "event_id": "mlb-cle-det-2026-05-20",
    "event_start_time": "2026-05-20 22:40:00+00",
    "event_subcategory": "BASEBALL",
    "outcome_type": "spreads",
    "market_sport_type": "baseball_team_full_game_spread",
    "outcome_strike": "3.5",
    "long_participant_id": "mlb-cle",
    "long_participant_name": "Cleveland Guardians",
    "short_participant_id": "mlb-det"
  }
}
```

To safely interpret this contract:

1. `market_sport_type = "baseball_team_full_game_spread"` → full-game spread. (`outcome_type` is also present but you don't need it.)
2. `long_participant_id = "mlb-cle"` → the contract pays out on Cleveland.
3. `outcome_strike = "3.5"` → handicap magnitude is 3.5 runs.
4. The contract resolves to Cleveland if Cleveland wins, or loses by fewer than 3.5 runs.

***

## Best Practices

* **Never parse the symbol or slug** to determine market type, period, or handicap. Symbol formats are not part of the public contract.
* **Map on `market_sport_type` alone.** It is guaranteed on every instrument — full-game, sub-period, and prop alike — and fully identifies the market. `outcome_type` is still present on the instrument, but **do not rely on it for mapping** (it is subject to change); the sole exception is futures, which carry no `market_sport_type` and are identified by `outcome_type = "futures"`.
* **Treat `outcome_strike` as a string** in client code and convert to your numeric type. The value is unsigned — the spread direction is determined by `long_participant_id`.
* **Cache and version your enum mappings.** New `market_sport_type` values are announced in the [changelog](https://docs.polymarket.us/changelog.md) and rolled out in preprod before production. Subscribe to the RSS feed to be notified before new enums appear in production. An instrument can carry a value that is not yet in this inventory: treat an unknown value as a prop, fall back to `outcome_type` for its structure, and watch the changelog for the new value.
* **Subscribe to instrument updates** via the streaming APIs to catch new instruments as they are listed.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.