{
 "generated": "2026-10-28",
 "date_checked": "2026-10-28",
 "rechecks": [
  {
   "date": "2026-10-28",
   "title": "PrizePicks Team Picks: Ohio and Michigan",
   "text": "Re-checked against PrizePicks' official Where Can I Play page. Its state table and its Team Picks state list both leave out Ohio and Michigan, so both stay Not listed. An Aug 29, 2026 OddsAssist table showed Ohio (and Missouri and Tennessee) as available; that predates PrizePicks' later changes (the Oct 7 Missouri suspension took the count from 34 states to 33), so we follow PrizePicks."
  },
  {
   "date": "2026-10-28",
   "title": "PrizePicks Team Picks: Missouri and Tennessee",
   "text": "Missouri is Not listed because PrizePicks suspended Team Picks there on Oct 7, 2026. Tennessee is Unconfirmed: PrizePicks' table says no, but the Oct 9, 2026 Tennessee letter says it offers Team Picks there."
  },
  {
   "date": "2026-10-28",
   "title": "PrizePicks Team Picks: Alabama, Iowa, Louisiana, New Jersey, Virginia",
   "text": "PrizePicks' table lists these five states but its prose list of 28 states omits them. The table matches the page's own count of 33 states, so they stay Listed, with a note on each state page."
  },
  {
   "date": "2026-10-28",
   "title": "Underdog Prediction Picks vs OddsAssist (Oct 24, 2026)",
   "text": "Ten states differ: OddsAssist lists New York as available and CO, KY, MA, MD, MS, NJ, OH, PA, TN as not. Underdog's own state-eligibility page says the reverse for all ten, so we follow Underdog. OddsAssist also shows Drafts as live in MD, MA, MI, MS, NJ, OH and PA, which does not match Underdog's own page, so we treat that page as stale."
  }
 ],
 "methodology": "Each cell = one operator x product x state. status: yes (operator's page lists it as available), no (operator's page lists it as unavailable/excluded, or an official 'available in' list omits the state), unknown (no operator page confirms it). 'confidence: low' marks cells that rest on a stale page or a secondary source. Minimum ages are recorded only where an operator page states them. Not legal advice; operators change lists without notice.",
 "states": [
  {
   "code": "AL",
   "name": "Alabama",
   "slug": "alabama"
  },
  {
   "code": "AK",
   "name": "Alaska",
   "slug": "alaska"
  },
  {
   "code": "AZ",
   "name": "Arizona",
   "slug": "arizona"
  },
  {
   "code": "AR",
   "name": "Arkansas",
   "slug": "arkansas"
  },
  {
   "code": "CA",
   "name": "California",
   "slug": "california"
  },
  {
   "code": "CO",
   "name": "Colorado",
   "slug": "colorado"
  },
  {
   "code": "CT",
   "name": "Connecticut",
   "slug": "connecticut"
  },
  {
   "code": "DE",
   "name": "Delaware",
   "slug": "delaware"
  },
  {
   "code": "DC",
   "name": "District of Columbia",
   "slug": "district-of-columbia"
  },
  {
   "code": "FL",
   "name": "Florida",
   "slug": "florida"
  },
  {
   "code": "GA",
   "name": "Georgia",
   "slug": "georgia"
  },
  {
   "code": "HI",
   "name": "Hawaii",
   "slug": "hawaii"
  },
  {
   "code": "ID",
   "name": "Idaho",
   "slug": "idaho"
  },
  {
   "code": "IL",
   "name": "Illinois",
   "slug": "illinois"
  },
  {
   "code": "IN",
   "name": "Indiana",
   "slug": "indiana"
  },
  {
   "code": "IA",
   "name": "Iowa",
   "slug": "iowa"
  },
  {
   "code": "KS",
   "name": "Kansas",
   "slug": "kansas"
  },
  {
   "code": "KY",
   "name": "Kentucky",
   "slug": "kentucky"
  },
  {
   "code": "LA",
   "name": "Louisiana",
   "slug": "louisiana"
  },
  {
   "code": "ME",
   "name": "Maine",
   "slug": "maine"
  },
  {
   "code": "MD",
   "name": "Maryland",
   "slug": "maryland"
  },
  {
   "code": "MA",
   "name": "Massachusetts",
   "slug": "massachusetts"
  },
  {
   "code": "MI",
   "name": "Michigan",
   "slug": "michigan"
  },
  {
   "code": "MN",
   "name": "Minnesota",
   "slug": "minnesota"
  },
  {
   "code": "MS",
   "name": "Mississippi",
   "slug": "mississippi"
  },
  {
   "code": "MO",
   "name": "Missouri",
   "slug": "missouri"
  },
  {
   "code": "MT",
   "name": "Montana",
   "slug": "montana"
  },
  {
   "code": "NE",
   "name": "Nebraska",
   "slug": "nebraska"
  },
  {
   "code": "NV",
   "name": "Nevada",
   "slug": "nevada"
  },
  {
   "code": "NH",
   "name": "New Hampshire",
   "slug": "new-hampshire"
  },
  {
   "code": "NJ",
   "name": "New Jersey",
   "slug": "new-jersey"
  },
  {
   "code": "NM",
   "name": "New Mexico",
   "slug": "new-mexico"
  },
  {
   "code": "NY",
   "name": "New York",
   "slug": "new-york"
  },
  {
   "code": "NC",
   "name": "North Carolina",
   "slug": "north-carolina"
  },
  {
   "code": "ND",
   "name": "North Dakota",
   "slug": "north-dakota"
  },
  {
   "code": "OH",
   "name": "Ohio",
   "slug": "ohio"
  },
  {
   "code": "OK",
   "name": "Oklahoma",
   "slug": "oklahoma"
  },
  {
   "code": "OR",
   "name": "Oregon",
   "slug": "oregon"
  },
  {
   "code": "PA",
   "name": "Pennsylvania",
   "slug": "pennsylvania"
  },
  {
   "code": "RI",
   "name": "Rhode Island",
   "slug": "rhode-island"
  },
  {
   "code": "SC",
   "name": "South Carolina",
   "slug": "south-carolina"
  },
  {
   "code": "SD",
   "name": "South Dakota",
   "slug": "south-dakota"
  },
  {
   "code": "TN",
   "name": "Tennessee",
   "slug": "tennessee"
  },
  {
   "code": "TX",
   "name": "Texas",
   "slug": "texas"
  },
  {
   "code": "UT",
   "name": "Utah",
   "slug": "utah"
  },
  {
   "code": "VT",
   "name": "Vermont",
   "slug": "vermont"
  },
  {
   "code": "VA",
   "name": "Virginia",
   "slug": "virginia"
  },
  {
   "code": "WA",
   "name": "Washington",
   "slug": "washington"
  },
  {
   "code": "WV",
   "name": "West Virginia",
   "slug": "west-virginia"
  },
  {
   "code": "WI",
   "name": "Wisconsin",
   "slug": "wisconsin"
  },
  {
   "code": "WY",
   "name": "Wyoming",
   "slug": "wyoming"
  }
 ],
 "operators": [
  {
   "id": "prizepicks",
   "name": "PrizePicks",
   "url": "https://www.prizepicks.com/",
   "products": [
    "pickem",
    "predictions"
   ],
   "blurb": "Player Picks (over/under pick'em) plus Team Picks event contracts."
  },
  {
   "id": "underdog",
   "name": "Underdog",
   "url": "https://underdogfantasy.com/",
   "products": [
    "pickem",
    "bestball",
    "predictions"
   ],
   "blurb": "Pick'em (Classic or Champions variants), Best Ball Drafts and Prediction Picks."
  },
  {
   "id": "sleeper",
   "name": "Sleeper Picks",
   "url": "https://sleeper.com/picks",
   "products": [
    "pickem"
   ],
   "blurb": "Sleeper's paid Player Picks; availability varies by iOS vs Android."
  },
  {
   "id": "draftkings",
   "name": "DraftKings",
   "url": "https://www.draftkings.com/",
   "products": [
    "pickem",
    "bestball",
    "predictions",
    "dfs"
   ],
   "blurb": "Pick6 pick'em, Predictions, DFS and Best Ball."
  },
  {
   "id": "dabble",
   "name": "Dabble",
   "url": "https://www.dabble.com/",
   "products": [
    "pickem"
   ],
   "blurb": "Dabble pick'em; some states are peer-to-peer contests."
  },
  {
   "id": "parlayplay",
   "name": "ParlayPlay",
   "url": "https://parlayplay.io/",
   "products": [
    "pickem"
   ],
   "blurb": "Player-prop pick'em app."
  },
  {
   "id": "betr",
   "name": "Betr Picks",
   "url": "https://www.betr.app/",
   "products": [
    "pickem"
   ],
   "blurb": "Betr Picks; peer-to-peer Group Play in some states."
  },
  {
   "id": "boom",
   "name": "Boom Fantasy",
   "url": "https://www.boomfantasy.com/",
   "products": [
    "pickem"
   ],
   "blurb": "Boom Fantasy DFS / pick'em."
  },
  {
   "id": "thrive",
   "name": "ThriveFantasy",
   "url": "https://www.thrivefantasy.com/",
   "products": [
    "pickem"
   ],
   "blurb": "Thrive pick'em; official terms only list excluded states."
  },
  {
   "id": "drafters",
   "name": "Drafters",
   "url": "https://drafters.com/",
   "products": [
    "bestball"
   ],
   "blurb": "Best ball and daily drafts; state data is secondary-source only."
  }
 ],
 "products": {
  "pickem": "Pick'em (player over/under)",
  "bestball": "Best Ball / drafts",
  "predictions": "Prediction picks (event contracts)",
  "dfs": "Daily fantasy (salary cap)"
 },
 "sources": {
  "pp_where": {
   "id": "pp_where",
   "operator": "prizepicks",
   "url": "https://www.prizepicks.com/help-center/where-can-i-play",
   "title": "PrizePicks Help Center: Where can I play?",
   "published": "Page header Oct 19, 2026; state table footer May 19, 2026",
   "date_checked": "2026-10-28",
   "type": "official",
   "note": "Page header and table disagree on last-updated date; prose lists differ slightly from the table. The per-state table was used."
  },
  "ud_state": {
   "id": "ud_state",
   "operator": "underdog",
   "url": "https://help.underdogsports.com/en/articles/8923390-state-eligibility",
   "title": "Underdog Help: State Eligibility",
   "published": "Sept 11, 2026",
   "date_checked": "2026-10-28",
   "type": "official",
   "note": "Published before the Oct 9, 2026 Tennessee cease-and-desist letter; may not reflect any later change."
  },
  "ud_changes": {
   "id": "ud_changes",
   "operator": "underdog",
   "url": "https://help.underdogsports.com/en/articles/16818982-fantasy-contest-changes-in-your-state",
   "title": "Underdog Help: Fantasy Contest Changes in Your State",
   "published": "Sept 9, 2026",
   "date_checked": "2026-10-28",
   "type": "official",
   "note": ""
  },
  "pp_mo": {
   "id": "pp_mo",
   "operator": "prizepicks",
   "url": "https://sbcamericas.com/2026/10/07/prizepicks-sports-contracts-missouri/",
   "title": "SBC Americas: PrizePicks pulls sports contracts in Missouri (Oct 7, 2026)",
   "published": "Oct 7, 2026",
   "date_checked": "2026-10-28",
   "type": "secondary",
   "note": ""
  },
  "sl_where": {
   "id": "sl_where",
   "operator": "sleeper",
   "url": "https://support.sleeper.com/en/articles/5556045-where-can-i-play",
   "title": "Sleeper Support: Where Can I Play?",
   "published": "Aug 3, 2026",
   "date_checked": "2026-10-28",
   "type": "official",
   "note": "Separate iOS and Android lists; excluded-states list. Unlisted-not-excluded states treated as unknown."
  },
  "dab_states": {
   "id": "dab_states",
   "operator": "dabble",
   "url": "https://help.dabblefantasy.com/en/articles/12051122-using-dabble-in-different-states",
   "title": "Dabble Help: Using Dabble in different states",
   "published": "Marked \"Updated this week\" (no explicit date) when checked",
   "date_checked": "2026-10-28",
   "type": "official",
   "note": ""
  },
  "pl_dep": {
   "id": "pl_dep",
   "operator": "parlayplay",
   "url": "https://intercom.help/parlayplay/en/articles/10152001-how-to-resolve-deposit-issues",
   "title": "ParlayPlay Help: How to resolve deposit issues? (Eligible states)",
   "published": "undated on page",
   "date_checked": "2026-10-28",
   "type": "official",
   "note": "Official list for iOS/Android U.S. paid contests. Third-party lists (e.g. SportsGambler) show a different, shorter set; the official list was used. Page carries no date."
  },
  "pl_age": {
   "id": "pl_age",
   "operator": "parlayplay",
   "url": "https://intercom.help/parlayplay/en/articles/10152001-how-to-resolve-deposit-issues",
   "title": "ParlayPlay Help: deposit issues (age & state restrictions)",
   "published": "undated on page",
   "date_checked": "2026-10-28",
   "type": "official",
   "note": ""
  },
  "betr_states": {
   "id": "betr_states",
   "operator": "betr",
   "url": "https://help.betr.app/en/articles/9461963-which-states-does-betr-operate-in",
   "title": "Betr Help: Which states does Betr operate in?",
   "published": "Sept 22, 2026",
   "date_checked": "2026-10-28",
   "type": "official",
   "note": "Also lists Betr Arcade (sweepstakes-style), not tracked here. Asterisk = Betr Picks Group Play (peer-to-peer) only. A second asterisk on HI is not explained on the page."
  },
  "dk_pick6": {
   "id": "dk_pick6",
   "operator": "draftkings",
   "url": "http://pick6.draftkings.com/where-is-pick6-available",
   "title": "DraftKings Pick6: Where is Pick6 available?",
   "published": "Last updated 7/14/26 (per page)",
   "date_checked": "2026-10-28",
   "type": "official",
   "note": ""
  },
  "dk_net": {
   "id": "dk_net",
   "operator": "draftkings",
   "url": "https://dknetwork.draftkings.com/2026/06/17/draftkings-is-now-available-nationwide-in-the-usa-read-more-inside/",
   "title": "DraftKings Network: DraftKings is now available in all 50 states",
   "published": "Updated July 22, 2026",
   "date_checked": "2026-10-28",
   "type": "official",
   "note": "DraftKings-owned editorial page listing state availability for Predictions, DFS and Pick6."
  },
  "boom_states": {
   "id": "boom_states",
   "operator": "boom",
   "url": "https://www.boomfantasy.com/state/florida-daily-fantasy-sports",
   "title": "Boom Fantasy: \"Currently Available in the Following U.S. States\"",
   "published": "2026 (page footer; no explicit update date)",
   "date_checked": "2026-10-28",
   "type": "official",
   "note": "Players aged 18+ per same page. Boom Pick'em Royale (peer-to-peer) is described by Boom as limited to eligible P2P states; that list was not found."
  },
  "thrive_terms": {
   "id": "thrive_terms",
   "operator": "thrive",
   "url": "https://www.thrivefantasy.com/terms-and-conditions/",
   "title": "ThriveFantasy Terms of Use (excluded states)",
   "published": "Page header says \"updated as of 4/11/18\"; text may have been edited since",
   "date_checked": "2026-10-28",
   "type": "official",
   "note": "Terms only list EXCLUDED states. States not excluded are marked unknown because the terms do not confirm availability. Low confidence: stale header date."
  },
  "drafters_sec": {
   "id": "drafters_sec",
   "operator": "drafters",
   "url": "https://www.stokastic.com/articles/dfs-strategy/what-is-drafters",
   "title": "Stokastic: What Is Drafters? (cites Drafters' Terms of Use)",
   "published": "July 21, 2026",
   "date_checked": "2026-10-28",
   "type": "secondary",
   "note": "Third-party affiliate article. Drafters' own location page (drafters.com/location-help) only covers device location settings and lists no states. Treat as low confidence."
  }
 },
 "ages": {
  "AL": {
   "prizepicks": {
    "min_age": 19,
    "source": "pp_where"
   }
  },
  "AK": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   },
   "boom": {
    "min_age": 18,
    "source": "boom_states",
    "note": "\"players (aged 18+)\" stated generally, not per state"
   }
  },
  "AZ": {
   "prizepicks": {
    "min_age": 21,
    "source": "pp_where"
   }
  },
  "AR": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   },
   "boom": {
    "min_age": 18,
    "source": "boom_states",
    "note": "\"players (aged 18+)\" stated generally, not per state"
   }
  },
  "CA": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   },
   "boom": {
    "min_age": 18,
    "source": "boom_states",
    "note": "\"players (aged 18+)\" stated generally, not per state"
   }
  },
  "CO": {
   "prizepicks": {
    "min_age": 19,
    "source": "pp_where"
   }
  },
  "CT": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   }
  },
  "DE": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   }
  },
  "DC": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   },
   "boom": {
    "min_age": 18,
    "source": "boom_states",
    "note": "\"players (aged 18+)\" stated generally, not per state"
   }
  },
  "FL": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   },
   "boom": {
    "min_age": 18,
    "source": "boom_states",
    "note": "\"players (aged 18+)\" stated generally, not per state"
   }
  },
  "GA": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   },
   "boom": {
    "min_age": 18,
    "source": "boom_states",
    "note": "\"players (aged 18+)\" stated generally, not per state"
   }
  },
  "HI": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   }
  },
  "ID": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   }
  },
  "IL": {
   "prizepicks": {
    "min_age": 21,
    "source": "pp_where"
   },
   "parlayplay": {
    "min_age": 21,
    "source": "pl_age"
   },
   "boom": {
    "min_age": 18,
    "source": "boom_states",
    "note": "\"players (aged 18+)\" stated generally, not per state"
   }
  },
  "IN": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   }
  },
  "IA": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   }
  },
  "KS": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   }
  },
  "KY": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   },
   "boom": {
    "min_age": 18,
    "source": "boom_states",
    "note": "\"players (aged 18+)\" stated generally, not per state"
   }
  },
  "LA": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   }
  },
  "ME": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   }
  },
  "MD": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   }
  },
  "MA": {
   "prizepicks": {
    "min_age": 21,
    "source": "pp_where"
   }
  },
  "MI": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   }
  },
  "MN": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   },
   "boom": {
    "min_age": 18,
    "source": "boom_states",
    "note": "\"players (aged 18+)\" stated generally, not per state"
   }
  },
  "MS": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   }
  },
  "MO": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   }
  },
  "MT": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   }
  },
  "NE": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   },
   "boom": {
    "min_age": 18,
    "source": "boom_states",
    "note": "\"players (aged 18+)\" stated generally, not per state"
   }
  },
  "NV": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   }
  },
  "NH": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   }
  },
  "NJ": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   }
  },
  "NM": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   },
   "boom": {
    "min_age": 18,
    "source": "boom_states",
    "note": "\"players (aged 18+)\" stated generally, not per state"
   }
  },
  "NY": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   }
  },
  "NC": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   },
   "boom": {
    "min_age": 18,
    "source": "boom_states",
    "note": "\"players (aged 18+)\" stated generally, not per state"
   }
  },
  "ND": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   },
   "boom": {
    "min_age": 18,
    "source": "boom_states",
    "note": "\"players (aged 18+)\" stated generally, not per state"
   }
  },
  "OH": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   }
  },
  "OK": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   },
   "boom": {
    "min_age": 18,
    "source": "boom_states",
    "note": "\"players (aged 18+)\" stated generally, not per state"
   }
  },
  "OR": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   },
   "boom": {
    "min_age": 18,
    "source": "boom_states",
    "note": "\"players (aged 18+)\" stated generally, not per state"
   }
  },
  "PA": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   }
  },
  "RI": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   },
   "boom": {
    "min_age": 18,
    "source": "boom_states",
    "note": "\"players (aged 18+)\" stated generally, not per state"
   }
  },
  "SC": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   },
   "boom": {
    "min_age": 18,
    "source": "boom_states",
    "note": "\"players (aged 18+)\" stated generally, not per state"
   }
  },
  "SD": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   },
   "boom": {
    "min_age": 18,
    "source": "boom_states",
    "note": "\"players (aged 18+)\" stated generally, not per state"
   }
  },
  "TN": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   }
  },
  "TX": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   },
   "boom": {
    "min_age": 18,
    "source": "boom_states",
    "note": "\"players (aged 18+)\" stated generally, not per state"
   }
  },
  "UT": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   },
   "boom": {
    "min_age": 18,
    "source": "boom_states",
    "note": "\"players (aged 18+)\" stated generally, not per state"
   }
  },
  "VT": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   }
  },
  "VA": {
   "prizepicks": {
    "min_age": 21,
    "source": "pp_where"
   }
  },
  "WA": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   }
  },
  "WV": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   }
  },
  "WI": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   },
   "boom": {
    "min_age": 18,
    "source": "boom_states",
    "note": "\"players (aged 18+)\" stated generally, not per state"
   }
  },
  "WY": {
   "prizepicks": {
    "min_age": 18,
    "source": "pp_where"
   }
  }
 },
 "cells": {
  "AL": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)",
     "note": "PrizePicks' state table lists Team Picks here (matching its '33 states' count), but its prose list of Team Picks states omits this state. We follow the table."
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Champions",
     "college": "yes"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "no",
     "source": "dab_states",
     "note": "Not on Dabble's state lists."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks Group Play (peer-to-peer) only"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "no",
     "source": "thrive_terms",
     "note": "Excluded by Thrive's Terms of Use.",
     "confidence": "low"
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "AK": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Classic",
     "college": "yes"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble standard contests"
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "yes",
     "source": "boom_states"
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "AZ": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "no",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "college": "no"
    },
    "predictions": {
     "status": "no",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "no",
     "source": "sl_where",
     "note": "Listed as an Excluded State."
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble peer-to-peer contests",
     "note": "Dabble says entries here go into a contest against other entries."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks Group Play (peer-to-peer) only"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "no",
     "source": "thrive_terms",
     "note": "Excluded by Thrive's Terms of Use.",
     "confidence": "low"
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "AR": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Champions",
     "college": "no"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble peer-to-peer contests",
     "note": "Dabble says entries here go into a contest against other entries."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks Group Play (peer-to-peer) only"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "yes",
     "source": "boom_states"
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "CA": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Champions",
     "college": "yes"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble standard contests"
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "yes",
     "source": "boom_states"
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "CO": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "no",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "college": "no"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "no",
     "source": "sl_where",
     "note": "Listed as an Excluded State."
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble peer-to-peer contests",
     "note": "Dabble says entries here go into a contest against other entries."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks Group Play (peer-to-peer) only"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "CT": {
   "prizepicks": {
    "pickem": {
     "status": "no",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "no",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "no",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "no",
     "source": "ud_state",
     "college": "no"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "no",
     "source": "sl_where",
     "note": "Listed as an Excluded State."
    }
   },
   "dabble": {
    "pickem": {
     "status": "no",
     "source": "dab_states",
     "note": "Not on Dabble's state lists."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "no",
     "source": "pl_dep",
     "note": "ParlayPlay says Connecticut does not allow deposits."
    }
   },
   "betr": {
    "pickem": {
     "status": "no",
     "source": "betr_states"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "no",
     "source": "drafters_sec",
     "note": "Reported excluded per Drafters' terms (secondary source).",
     "confidence": "low"
    }
   }
  },
  "DE": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "no",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Champions",
     "college": "no"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "no",
     "source": "sl_where",
     "note": "Listed as an Excluded State."
    }
   },
   "dabble": {
    "pickem": {
     "status": "no",
     "source": "dab_states",
     "note": "Not on Dabble's state lists."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "no",
     "source": "pl_dep",
     "note": "Not on ParlayPlay's eligible-state list."
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks Group Play (peer-to-peer) only"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "DC": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "no",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Champions",
     "college": "yes"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS only)",
     "note": "Listed for iOS but not Android."
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble standard contests"
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks Group Play (peer-to-peer) only"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "no",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)",
     "note": "DraftKings says no prediction markets here."
    },
    "dfs": {
     "status": "no",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "yes",
     "source": "boom_states"
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "FL": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Champions",
     "college": "yes"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble standard contests"
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks Group Play (peer-to-peer) only"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "yes",
     "source": "boom_states"
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "GA": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Classic",
     "college": "yes"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble standard contests"
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks Group Play (peer-to-peer) only"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "yes",
     "source": "boom_states"
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "HI": {
   "prizepicks": {
    "pickem": {
     "status": "no",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "no",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "no",
     "source": "ud_state",
     "college": "no"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "no",
     "source": "sl_where",
     "note": "Listed as an Excluded State."
    }
   },
   "dabble": {
    "pickem": {
     "status": "no",
     "source": "dab_states",
     "note": "Not on Dabble's state lists."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "no",
     "source": "pl_dep",
     "note": "Not on ParlayPlay's eligible-state list."
    }
   },
   "betr": {
    "pickem": {
     "status": "no",
     "source": "betr_states"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "no",
     "source": "dk_pick6",
     "variant": "Pick6",
     "note": "Not on DraftKings' Pick6 state list."
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "no",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "no",
     "source": "thrive_terms",
     "note": "Excluded by Thrive's Terms of Use.",
     "confidence": "low"
    }
   },
   "drafters": {
    "bestball": {
     "status": "no",
     "source": "drafters_sec",
     "note": "Reported excluded per Drafters' terms (secondary source).",
     "confidence": "low"
    }
   }
  },
  "ID": {
   "prizepicks": {
    "pickem": {
     "status": "no",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "no",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "no",
     "source": "ud_state",
     "college": "no"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "no",
     "source": "sl_where",
     "note": "Listed as an Excluded State."
    }
   },
   "dabble": {
    "pickem": {
     "status": "no",
     "source": "dab_states",
     "note": "Not on Dabble's state lists."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "no",
     "source": "pl_dep",
     "note": "Not on ParlayPlay's eligible-state list."
    }
   },
   "betr": {
    "pickem": {
     "status": "no",
     "source": "betr_states"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "no",
     "source": "dk_pick6",
     "variant": "Pick6",
     "note": "Not on DraftKings' Pick6 state list."
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "no",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "no",
     "source": "thrive_terms",
     "note": "Excluded by Thrive's Terms of Use.",
     "confidence": "low"
    }
   },
   "drafters": {
    "bestball": {
     "status": "no",
     "source": "drafters_sec",
     "note": "Reported excluded per Drafters' terms (secondary source).",
     "confidence": "low"
    }
   }
  },
  "IL": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "no",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Champions",
     "college": "yes"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble peer-to-peer contests",
     "note": "Dabble says entries here go into a contest against other entries."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks Group Play (peer-to-peer) only"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "yes",
     "source": "boom_states"
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "IN": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Classic",
     "college": "no"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble standard contests"
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "no",
     "source": "thrive_terms",
     "note": "Excluded by Thrive's Terms of Use.",
     "confidence": "low"
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "IA": {
   "prizepicks": {
    "pickem": {
     "status": "no",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)",
     "note": "PrizePicks' state table lists Team Picks here (matching its '33 states' count), but its prose list of Team Picks states omits this state. We follow the table."
    }
   },
   "underdog": {
    "bestball": {
     "status": "no",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "no",
     "source": "ud_state",
     "college": "no"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "no",
     "source": "sl_where",
     "note": "Listed as an Excluded State."
    }
   },
   "dabble": {
    "pickem": {
     "status": "no",
     "source": "dab_states",
     "note": "Not on Dabble's state lists."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "no",
     "source": "pl_dep",
     "note": "Not on ParlayPlay's eligible-state list."
    }
   },
   "betr": {
    "pickem": {
     "status": "no",
     "source": "betr_states"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "no",
     "source": "dk_pick6",
     "variant": "Pick6",
     "note": "Not on DraftKings' Pick6 state list."
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "no",
     "source": "thrive_terms",
     "note": "Excluded by Thrive's Terms of Use.",
     "confidence": "low"
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "KS": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Champions",
     "college": "yes"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble peer-to-peer contests",
     "note": "Dabble says entries here go into a contest against other entries."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks Group Play (peer-to-peer) only"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "KY": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "no",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Champions",
     "college": "yes"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "no",
     "source": "sl_where",
     "note": "Listed as an Excluded State."
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble standard contests"
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks Group Play (peer-to-peer) only"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "yes",
     "source": "boom_states"
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "LA": {
   "prizepicks": {
    "pickem": {
     "status": "no",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)",
     "note": "PrizePicks' state table lists Team Picks here (matching its '33 states' count), but its prose list of Team Picks states omits this state. We follow the table."
    }
   },
   "underdog": {
    "bestball": {
     "status": "no",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "no",
     "source": "ud_state",
     "college": "no"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "no",
     "source": "sl_where",
     "note": "Listed as an Excluded State."
    }
   },
   "dabble": {
    "pickem": {
     "status": "no",
     "source": "dab_states",
     "note": "Not on Dabble's state lists."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "no",
     "source": "pl_dep",
     "note": "Not on ParlayPlay's eligible-state list."
    }
   },
   "betr": {
    "pickem": {
     "status": "no",
     "source": "betr_states"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "no",
     "source": "dk_pick6",
     "variant": "Pick6",
     "note": "Not on DraftKings' Pick6 state list."
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "no",
     "source": "thrive_terms",
     "note": "Excluded by Thrive's Terms of Use.",
     "confidence": "low"
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "ME": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "no",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "no",
     "source": "ud_state",
     "college": "no"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "no",
     "source": "sl_where",
     "note": "Listed as an Excluded State."
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble peer-to-peer contests",
     "note": "Dabble says entries here go into a contest against other entries."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "no",
     "source": "pl_dep",
     "note": "Not on ParlayPlay's eligible-state list."
    }
   },
   "betr": {
    "pickem": {
     "status": "no",
     "source": "betr_states"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "no",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)",
     "note": "DraftKings says no prediction markets here."
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "no",
     "source": "thrive_terms",
     "note": "Excluded by Thrive's Terms of Use.",
     "confidence": "low"
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "MD": {
   "prizepicks": {
    "pickem": {
     "status": "no",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "no",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "no",
     "source": "ud_state",
     "variant": "Drafts",
     "note": "Underdog ended new fantasy contests incl. Best Ball Drafts here on Sept 9-10, 2026 (see ud_changes)."
    },
    "pickem": {
     "status": "no",
     "source": "ud_state",
     "college": "no"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "no",
     "source": "sl_where",
     "note": "Listed as an Excluded State."
    }
   },
   "dabble": {
    "pickem": {
     "status": "no",
     "source": "dab_states",
     "note": "Not on Dabble's state lists."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "no",
     "source": "pl_dep",
     "note": "Not on ParlayPlay's eligible-state list."
    }
   },
   "betr": {
    "pickem": {
     "status": "no",
     "source": "betr_states"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "no",
     "source": "dk_pick6",
     "variant": "Pick6",
     "note": "Not on DraftKings' Pick6 state list."
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "MA": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "no",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "no",
     "source": "ud_state",
     "variant": "Drafts",
     "note": "Underdog ended new fantasy contests incl. Best Ball Drafts here on Sept 9-10, 2026 (see ud_changes)."
    },
    "pickem": {
     "status": "no",
     "source": "ud_state",
     "college": "no"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble peer-to-peer contests",
     "note": "Dabble says entries here go into a contest against other entries."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep",
     "note": "ParlayPlay says Massachusetts has a $1,000 monthly deposit cap."
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "MI": {
   "prizepicks": {
    "pickem": {
     "status": "no",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "no",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)",
     "note": "Re-checked Oct 28, 2026: PrizePicks' official table and its Team Picks state list both omit this state."
    }
   },
   "underdog": {
    "bestball": {
     "status": "no",
     "source": "ud_state",
     "variant": "Drafts",
     "note": "Underdog ended new fantasy contests incl. Best Ball Drafts here on Sept 9-10, 2026 (see ud_changes)."
    },
    "pickem": {
     "status": "no",
     "source": "ud_state",
     "college": "no"
    },
    "predictions": {
     "status": "no",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "no",
     "source": "sl_where",
     "note": "Listed as an Excluded State."
    }
   },
   "dabble": {
    "pickem": {
     "status": "no",
     "source": "dab_states",
     "note": "Not on Dabble's state lists."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "no",
     "source": "pl_dep",
     "note": "Not on ParlayPlay's eligible-state list."
    }
   },
   "betr": {
    "pickem": {
     "status": "no",
     "source": "betr_states"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "no",
     "source": "dk_pick6",
     "variant": "Pick6",
     "note": "Not on DraftKings' Pick6 state list."
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "MN": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Classic",
     "college": "yes"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble standard contests"
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "yes",
     "source": "boom_states"
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "MS": {
   "prizepicks": {
    "pickem": {
     "status": "no",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "no",
     "source": "ud_state",
     "variant": "Drafts",
     "note": "Underdog ended new fantasy contests incl. Best Ball Drafts here on Sept 9-10, 2026 (see ud_changes)."
    },
    "pickem": {
     "status": "no",
     "source": "ud_state",
     "college": "no"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "no",
     "source": "sl_where",
     "note": "Listed as an Excluded State."
    }
   },
   "dabble": {
    "pickem": {
     "status": "no",
     "source": "dab_states",
     "note": "Not on Dabble's state lists."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "no",
     "source": "pl_dep",
     "note": "Not on ParlayPlay's eligible-state list."
    }
   },
   "betr": {
    "pickem": {
     "status": "no",
     "source": "betr_states"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "no",
     "source": "dk_pick6",
     "variant": "Pick6",
     "note": "Not on DraftKings' Pick6 state list."
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "no",
     "source": "thrive_terms",
     "note": "Excluded by Thrive's Terms of Use.",
     "confidence": "low"
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "MO": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "no",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)",
     "note": "PrizePicks suspended Team Picks in Missouri on Oct 7, 2026 (per its statement as reported by SBC Americas). Existing picks stay active; Culture Picks and Player Picks are unaffected."
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Champions",
     "college": "yes"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "no",
     "source": "dab_states",
     "note": "Not on Dabble's state lists."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "no",
     "source": "pl_dep",
     "note": "Not on ParlayPlay's eligible-state list."
    }
   },
   "betr": {
    "pickem": {
     "status": "no",
     "source": "betr_states"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "no",
     "source": "thrive_terms",
     "note": "Excluded by Thrive's Terms of Use.",
     "confidence": "low"
    }
   },
   "drafters": {
    "bestball": {
     "status": "no",
     "source": "drafters_sec",
     "note": "Reported excluded per Drafters' terms (secondary source).",
     "confidence": "low"
    }
   }
  },
  "MT": {
   "prizepicks": {
    "pickem": {
     "status": "no",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "no",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "no",
     "source": "ud_state",
     "college": "no"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "no",
     "source": "sl_where",
     "note": "Listed as an Excluded State."
    }
   },
   "dabble": {
    "pickem": {
     "status": "no",
     "source": "dab_states",
     "note": "Not on Dabble's state lists."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "no",
     "source": "pl_dep",
     "note": "Not on ParlayPlay's eligible-state list."
    }
   },
   "betr": {
    "pickem": {
     "status": "no",
     "source": "betr_states"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "no",
     "source": "dk_pick6",
     "variant": "Pick6",
     "note": "Not on DraftKings' Pick6 state list."
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "no",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "no",
     "source": "thrive_terms",
     "note": "Excluded by Thrive's Terms of Use.",
     "confidence": "low"
    }
   },
   "drafters": {
    "bestball": {
     "status": "no",
     "source": "drafters_sec",
     "note": "Reported excluded per Drafters' terms (secondary source).",
     "confidence": "low"
    }
   }
  },
  "NE": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Classic",
     "college": "yes"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble standard contests"
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "yes",
     "source": "boom_states"
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "NV": {
   "prizepicks": {
    "pickem": {
     "status": "no",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "no",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "no",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "no",
     "source": "ud_state",
     "college": "no"
    },
    "predictions": {
     "status": "no",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "no",
     "source": "sl_where",
     "note": "Listed as an Excluded State."
    }
   },
   "dabble": {
    "pickem": {
     "status": "no",
     "source": "dab_states",
     "note": "Not on Dabble's state lists."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "no",
     "source": "pl_dep",
     "note": "Not on ParlayPlay's eligible-state list."
    }
   },
   "betr": {
    "pickem": {
     "status": "no",
     "source": "betr_states"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "no",
     "source": "dk_pick6",
     "variant": "Pick6",
     "note": "Not on DraftKings' Pick6 state list."
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "no",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "no",
     "source": "thrive_terms",
     "note": "Excluded by Thrive's Terms of Use.",
     "confidence": "low"
    }
   },
   "drafters": {
    "bestball": {
     "status": "no",
     "source": "drafters_sec",
     "note": "Reported excluded per Drafters' terms (secondary source).",
     "confidence": "low"
    }
   }
  },
  "NH": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Champions",
     "college": "no"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble peer-to-peer contests",
     "note": "Dabble says entries here go into a contest against other entries."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks Group Play (peer-to-peer) only"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "no",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)",
     "note": "DraftKings says no prediction markets here."
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "no",
     "source": "thrive_terms",
     "note": "Excluded by Thrive's Terms of Use.",
     "confidence": "low"
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "NJ": {
   "prizepicks": {
    "pickem": {
     "status": "no",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)",
     "note": "PrizePicks' state table lists Team Picks here (matching its '33 states' count), but its prose list of Team Picks states omits this state. We follow the table."
    }
   },
   "underdog": {
    "bestball": {
     "status": "no",
     "source": "ud_state",
     "variant": "Drafts",
     "note": "Underdog ended new fantasy contests incl. Best Ball Drafts here on Sept 9-10, 2026 (see ud_changes)."
    },
    "pickem": {
     "status": "no",
     "source": "ud_state",
     "college": "no"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "no",
     "source": "sl_where",
     "note": "Listed as an Excluded State."
    }
   },
   "dabble": {
    "pickem": {
     "status": "no",
     "source": "dab_states",
     "note": "Not on Dabble's state lists."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "no",
     "source": "pl_dep",
     "note": "Not on ParlayPlay's eligible-state list."
    }
   },
   "betr": {
    "pickem": {
     "status": "no",
     "source": "betr_states"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "no",
     "source": "dk_pick6",
     "variant": "Pick6",
     "note": "Not on DraftKings' Pick6 state list."
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "no",
     "source": "thrive_terms",
     "note": "Excluded by Thrive's Terms of Use.",
     "confidence": "low"
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "NM": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "no",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Classic",
     "college": "yes"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble standard contests"
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "yes",
     "source": "boom_states"
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "NY": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "no",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "no",
     "source": "ud_state",
     "college": "no"
    },
    "predictions": {
     "status": "no",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "no",
     "source": "sl_where",
     "note": "Listed as an Excluded State."
    }
   },
   "dabble": {
    "pickem": {
     "status": "no",
     "source": "dab_states",
     "note": "Not on Dabble's state lists."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "no",
     "source": "pl_dep",
     "note": "Not on ParlayPlay's eligible-state list."
    }
   },
   "betr": {
    "pickem": {
     "status": "no",
     "source": "betr_states"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "no",
     "source": "dk_pick6",
     "variant": "Pick6",
     "note": "Not on DraftKings' Pick6 state list."
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "no",
     "source": "thrive_terms",
     "note": "Excluded by Thrive's Terms of Use.",
     "confidence": "low"
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "NC": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Champions",
     "college": "yes"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble standard contests"
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "yes",
     "source": "boom_states"
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "ND": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Classic",
     "college": "yes"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble standard contests"
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "yes",
     "source": "boom_states"
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "OH": {
   "prizepicks": {
    "pickem": {
     "status": "no",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "no",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)",
     "note": "Re-checked Oct 28, 2026: PrizePicks' official table and its Team Picks state list both omit this state. A third-party list dated Aug 29, 2026 showed Ohio as available; we follow PrizePicks."
    }
   },
   "underdog": {
    "bestball": {
     "status": "no",
     "source": "ud_state",
     "variant": "Drafts",
     "note": "Underdog ended new fantasy contests incl. Best Ball Drafts here on Sept 9-10, 2026 (see ud_changes)."
    },
    "pickem": {
     "status": "no",
     "source": "ud_state",
     "college": "no"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "no",
     "source": "sl_where",
     "note": "Listed as an Excluded State."
    }
   },
   "dabble": {
    "pickem": {
     "status": "no",
     "source": "dab_states",
     "note": "Not on Dabble's state lists."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "no",
     "source": "pl_dep",
     "note": "Not on ParlayPlay's eligible-state list."
    }
   },
   "betr": {
    "pickem": {
     "status": "no",
     "source": "betr_states"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "no",
     "source": "dk_pick6",
     "variant": "Pick6",
     "note": "Not on DraftKings' Pick6 state list."
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "OK": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Classic",
     "college": "yes"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble standard contests"
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "yes",
     "source": "boom_states"
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "OR": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Classic",
     "college": "yes"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble standard contests"
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "no",
     "source": "dk_pick6",
     "variant": "Pick6",
     "note": "Not on DraftKings' Pick6 state list."
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "no",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "yes",
     "source": "boom_states"
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "PA": {
   "prizepicks": {
    "pickem": {
     "status": "no",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "no",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "no",
     "source": "ud_state",
     "variant": "Drafts",
     "note": "Underdog ended new fantasy contests incl. Best Ball Drafts here on Sept 9-10, 2026 (see ud_changes)."
    },
    "pickem": {
     "status": "no",
     "source": "ud_state",
     "college": "no"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "no",
     "source": "sl_where",
     "note": "Listed as an Excluded State."
    }
   },
   "dabble": {
    "pickem": {
     "status": "no",
     "source": "dab_states",
     "note": "Not on Dabble's state lists."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "no",
     "source": "pl_dep",
     "note": "Not on ParlayPlay's eligible-state list."
    }
   },
   "betr": {
    "pickem": {
     "status": "no",
     "source": "betr_states"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "no",
     "source": "dk_pick6",
     "variant": "Pick6",
     "note": "Not on DraftKings' Pick6 state list."
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "no",
     "source": "thrive_terms",
     "note": "Excluded by Thrive's Terms of Use.",
     "confidence": "low"
    }
   },
   "drafters": {
    "bestball": {
     "status": "no",
     "source": "drafters_sec",
     "note": "Reported excluded per Drafters' terms (secondary source).",
     "confidence": "low"
    }
   }
  },
  "RI": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Classic",
     "college": "yes"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble standard contests"
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "yes",
     "source": "boom_states"
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "SC": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Classic",
     "college": "yes"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble standard contests"
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "yes",
     "source": "boom_states"
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "SD": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Classic",
     "college": "yes"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble standard contests"
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "yes",
     "source": "boom_states"
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "TN": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "unknown",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)",
     "note": "Conflict: PrizePicks' table shows Team Picks as unavailable in Tennessee, but the Oct 9, 2026 Tennessee letter says PrizePicks offers Team Picks there and orders it to stop. Treat as unconfirmed."
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Champions",
     "college": "no"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)",
     "note": "Tennessee Sports Wagering Council sent a cease-and-desist on sports event contracts on Oct 9, 2026; Underdog sued. Operator page (Sept 11) predates the letter."
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble peer-to-peer contests",
     "note": "Dabble says entries here go into a contest against other entries."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks Group Play (peer-to-peer) only"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "no",
     "source": "thrive_terms",
     "note": "Excluded by Thrive's Terms of Use.",
     "confidence": "low"
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "TX": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Classic",
     "college": "yes"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble standard contests"
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "yes",
     "source": "boom_states"
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "UT": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Classic",
     "college": "yes"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble standard contests"
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "yes",
     "source": "boom_states"
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "VT": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Champions",
     "college": "no"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "no",
     "source": "dab_states",
     "note": "Not on Dabble's state lists."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "no",
     "source": "pl_dep",
     "note": "Not on ParlayPlay's eligible-state list."
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "no",
     "source": "thrive_terms",
     "note": "Excluded by Thrive's Terms of Use.",
     "confidence": "low"
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "VA": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)",
     "note": "PrizePicks' state table lists Team Picks here (matching its '33 states' count), but its prose list of Team Picks states omits this state. We follow the table."
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Champions",
     "college": "yes"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble standard contests"
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks Group Play (peer-to-peer) only"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "no",
     "source": "thrive_terms",
     "note": "Excluded by Thrive's Terms of Use.",
     "confidence": "low"
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "WA": {
   "prizepicks": {
    "pickem": {
     "status": "no",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "no",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "no",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "no",
     "source": "ud_state",
     "college": "no"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "no",
     "source": "sl_where",
     "note": "Listed as an Excluded State."
    }
   },
   "dabble": {
    "pickem": {
     "status": "no",
     "source": "dab_states",
     "note": "Not on Dabble's state lists."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "no",
     "source": "pl_dep",
     "note": "Not on ParlayPlay's eligible-state list."
    }
   },
   "betr": {
    "pickem": {
     "status": "no",
     "source": "betr_states"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "no",
     "source": "dk_pick6",
     "variant": "Pick6",
     "note": "Not on DraftKings' Pick6 state list."
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "no",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "no",
     "source": "thrive_terms",
     "note": "Excluded by Thrive's Terms of Use.",
     "confidence": "low"
    }
   },
   "drafters": {
    "bestball": {
     "status": "no",
     "source": "drafters_sec",
     "note": "Reported excluded per Drafters' terms (secondary source).",
     "confidence": "low"
    }
   }
  },
  "WV": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Champions",
     "college": "yes"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble peer-to-peer contests",
     "note": "Dabble says entries here go into a contest against other entries."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks Group Play (peer-to-peer) only"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "WI": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Classic",
     "college": "yes"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble standard contests"
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "yes",
     "source": "dk_pick6",
     "variant": "Pick6"
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "yes",
     "source": "boom_states"
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  },
  "WY": {
   "prizepicks": {
    "pickem": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Player Picks"
    },
    "predictions": {
     "status": "yes",
     "source": "pp_where",
     "variant": "Team Picks (event contracts, PrizePicks Predict)"
    }
   },
   "underdog": {
    "bestball": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Drafts"
    },
    "pickem": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Underdog Champions",
     "college": "yes"
    },
    "predictions": {
     "status": "yes",
     "source": "ud_state",
     "variant": "Prediction Picks (event contracts)"
    }
   },
   "sleeper": {
    "pickem": {
     "status": "yes",
     "source": "sl_where",
     "variant": "Player Picks (iOS + Android)"
    }
   },
   "dabble": {
    "pickem": {
     "status": "yes",
     "source": "dab_states",
     "variant": "Dabble peer-to-peer contests",
     "note": "Dabble says entries here go into a contest against other entries."
    }
   },
   "parlayplay": {
    "pickem": {
     "status": "yes",
     "source": "pl_dep"
    }
   },
   "betr": {
    "pickem": {
     "status": "yes",
     "source": "betr_states",
     "variant": "Betr Picks Group Play (peer-to-peer) only"
    }
   },
   "draftkings": {
    "pickem": {
     "status": "no",
     "source": "dk_pick6",
     "variant": "Pick6",
     "note": "Not on DraftKings' Pick6 state list."
    },
    "predictions": {
     "status": "yes",
     "source": "dk_net",
     "variant": "DraftKings Predictions (event contracts)"
    },
    "dfs": {
     "status": "yes",
     "source": "dk_net",
     "variant": "Daily Fantasy Sports"
    },
    "bestball": {
     "status": "unknown",
     "source": "dk_net",
     "note": "DraftKings offers Best Ball, but no per-state Best Ball list was found on an official page."
    }
   },
   "boom": {
    "pickem": {
     "status": "no",
     "source": "boom_states",
     "note": "Not on Boom's state list."
    }
   },
   "thrive": {
    "pickem": {
     "status": "unknown",
     "source": "thrive_terms",
     "note": "Not on the terms' exclusion list; availability not confirmed by an official list."
    }
   },
   "drafters": {
    "bestball": {
     "status": "unknown",
     "source": "drafters_sec",
     "note": "No official state list found."
    }
   }
  }
 },
 "stats": {
  "by_status": {
   "yes": 463,
   "no": 227,
   "unknown": 126
  },
  "by_operator": {
   "prizepicks": {
    "yes": 70,
    "no": 31,
    "unknown": 1
   },
   "underdog": {
    "yes": 116,
    "no": 37
   },
   "sleeper": {
    "yes": 31,
    "no": 20
   },
   "dabble": {
    "no": 19,
    "yes": 32
   },
   "parlayplay": {
    "yes": 32,
    "no": 19
   },
   "betr": {
    "yes": 34,
    "no": 17
   },
   "draftkings": {
    "yes": 127,
    "unknown": 51,
    "no": 26
   },
   "boom": {
    "no": 30,
    "yes": 21
   },
   "thrive": {
    "no_secondary": 20,
    "unknown": 31
   },
   "drafters": {
    "unknown_secondary": 43,
    "no_secondary": 8
   }
  },
  "total_cells": 816
 }
}