{"slate_id":"nba-second_half-draftkings-2026-10-29","sport":"nba","site":"draftkings","slate_date":"2026-10-29","slate_type":"second_half","slate_subtype":null,"tour":null,"competition":null,"league_label":null,"is_draft":false,"config":{"$comment":"NBA In-Game Showdown H2 -- DraftKings' second half and overtime(s). Source: DraftKings rules feed, gameType 112 (api.draftkings.com/rules-and-scoring/RulesAndScoring.json). || Roster is showdown's verbatim -- 1 Captain at 1.5x salary and 1.5x score plus 5 UTIL, $50,000 cap, both teams required (min_teams 2 / max_per_team 5 / min_games 1). The CPT/FLEX/A-CPT tokens are carried for the same reason showdown.json carries them: DK captain-mode exports label Roster Position as CPT/FLEX and the importer reads that column first, so a config listing only sport tokens matches nothing on a real export. || SCORING is byte-identical to NBA Classic and NBA Showdown -- same points/rebounds/assists/steals/blocks/turnovers card, and the double-double and triple-double bonuses are BOTH still listed in DK's rules for this contest. They are kept rather than dropped on the argument that a double-double is unlikely inside one half: the rule exists, the payout is real when it lands, and the projection layer models the likelihood. Only the window and the captain multiplier differ from the full-game slate. || SCORING CORRECTED 2026-09-28 against the card the engine actually scores (dfs_api.projection.scoring.draftkings, itself pinned to DK's published rules): added fg3m 0.5 (DK pays +0.5 per three-pointer made on every basketball code; LINEAR['nba']['fg3m'] = 0.5 and euroleague's config already lists it as made_three). Key is the corpus's, as BASKETBALL_STATS spells it.","site":"draftkings","sport":"nba","slate_type":"second_half","scoring_window":"second half and overtime(s)","salary_cap":50000,"roster_slots":[{"name":"CPT","eligible":["PG","SG","SF","PF","C","CPT","FLEX","A-CPT"],"salary_multiplier":1.5,"score_multiplier":1.5},{"name":"UTIL1","eligible":["PG","SG","SF","PF","C","CPT","FLEX","A-CPT"]},{"name":"UTIL2","eligible":["PG","SG","SF","PF","C","CPT","FLEX","A-CPT"]},{"name":"UTIL3","eligible":["PG","SG","SF","PF","C","CPT","FLEX","A-CPT"]},{"name":"UTIL4","eligible":["PG","SG","SF","PF","C","CPT","FLEX","A-CPT"]},{"name":"UTIL5","eligible":["PG","SG","SF","PF","C","CPT","FLEX","A-CPT"]}],"max_per_team":5,"min_teams":2,"min_games":1,"scoring":{"pts":1.0,"fg3m":0.5,"reb":1.25,"ast":1.5,"stl":2.0,"blk":2.0,"to":-0.5,"double_double_bonus":1.5,"triple_double_bonus":3.0},"export_format":{"header":["CPT","UTIL","UTIL","UTIL","UTIL","UTIL"],"id_format":"{name} ({site_player_id})"}},"locked_at":null,"first_game_start":"2026-10-30T03:00:00Z","last_game_start":"2026-10-30T03:00:00Z","late_swap_enabled":true,"display_name":null,"is_free":false,"group_key":"f8483c76da7c40d8","group_slate_type":"second_half","projection_window":{"window":"second half","share":0.5,"approximate":true}}