{
    "meta": {
        "dataset_version": "0.66.0",
        "generated_at": "2026-09-30T02:30:00Z",
        "policy": {
            "scope": "official/reference regular sessions and holidays for the retained Biquote-live instruments; live market-data transport is browser-direct Biquote SignalR with REST failover",
            "broker_hours": "not treated as official venue hours; exact broker dealing availability remains provider-specific",
            "extended_hours": "No generic FUTURES ACTIVE / OUT-OF-HOURS claim is made in the Opportunity Radar. A retained market is shown live only while fresh Biquote data is flowing; otherwise the Radar presents CLOSED.",
            "intraday_breaks": "included where scheduled and verified",
            "holiday_storage": "hardcoded in plugin data; no runtime holiday API",
            "timezone_conversion": "IANA timezone conversion at runtime",
            "refresh_guidance": "Official-source calendar review at least every 30 days; rolling-review CME/ICE holiday hours receive a final check about 14 days before affected holidays; perform full next-year recertification each Q4 and whenever an exchange issues a calendar notice.",
            "crypto": "Ten existing crypto instruments are retained and use Biquote SignalR/REST browser-direct market data under the continuous 24/7 session model."
        },
        "notes": "Version 0.66.0 is a surgical live-feed simplification: the 20 Yahoo-backed instruments are removed, the existing 10 crypto instruments move from Binance/Kraken to Biquote, and all 42 retained instruments use Biquote browser-direct SignalR with REST failover. No new markets are added. The Opportunity Radar uses streaming ticks for immediate independent row updates, with REST OHLC used for initial/reconciliation analysis. Yahoo/Binance/Kraken are not active market-data paths in this build.",
        "plugin_version": "0.66.0",
        "supported_crypto_count": 10
    },
    "locations": [
        {
            "id": "gb",
            "name": "United Kingdom",
            "default_timezone": "Europe/London",
            "timezones": [
                {
                    "id": "Europe/London",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "us",
            "name": "United States",
            "default_timezone": "America/New_York",
            "timezones": [
                {
                    "id": "America/New_York",
                    "label": "Default"
                },
                {
                    "id": "America/Chicago",
                    "label": "Central Time"
                },
                {
                    "id": "America/Denver",
                    "label": "Mountain Time"
                },
                {
                    "id": "America/Los_Angeles",
                    "label": "Pacific Time"
                },
                {
                    "id": "America/Phoenix",
                    "label": "Arizona"
                }
            ]
        },
        {
            "id": "ca",
            "name": "Canada",
            "default_timezone": "America/Toronto",
            "timezones": [
                {
                    "id": "America/Toronto",
                    "label": "Default"
                },
                {
                    "id": "America/Halifax",
                    "label": "Atlantic Time"
                },
                {
                    "id": "America/Winnipeg",
                    "label": "Central Time"
                },
                {
                    "id": "America/Edmonton",
                    "label": "Mountain Time"
                },
                {
                    "id": "America/Vancouver",
                    "label": "Pacific Time"
                }
            ]
        },
        {
            "id": "mx",
            "name": "Mexico",
            "default_timezone": "America/Mexico_City",
            "timezones": [
                {
                    "id": "America/Mexico_City",
                    "label": "Default"
                },
                {
                    "id": "America/Cancun",
                    "label": "Canc\u00fan / Eastern"
                },
                {
                    "id": "America/Chihuahua",
                    "label": "Chihuahua"
                },
                {
                    "id": "America/Tijuana",
                    "label": "Tijuana / Pacific"
                }
            ]
        },
        {
            "id": "br",
            "name": "Brazil",
            "default_timezone": "America/Sao_Paulo",
            "timezones": [
                {
                    "id": "America/Sao_Paulo",
                    "label": "Default"
                },
                {
                    "id": "America/Manaus",
                    "label": "Manaus"
                },
                {
                    "id": "America/Rio_Branco",
                    "label": "Acre"
                }
            ]
        },
        {
            "id": "ar",
            "name": "Argentina",
            "default_timezone": "America/Argentina/Buenos_Aires",
            "timezones": [
                {
                    "id": "America/Argentina/Buenos_Aires",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "cl",
            "name": "Chile",
            "default_timezone": "America/Santiago",
            "timezones": [
                {
                    "id": "America/Santiago",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "co",
            "name": "Colombia",
            "default_timezone": "America/Bogota",
            "timezones": [
                {
                    "id": "America/Bogota",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "jp",
            "name": "Japan",
            "default_timezone": "Asia/Tokyo",
            "timezones": [
                {
                    "id": "Asia/Tokyo",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "kr",
            "name": "South Korea",
            "default_timezone": "Asia/Seoul",
            "timezones": [
                {
                    "id": "Asia/Seoul",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "tw",
            "name": "Taiwan",
            "default_timezone": "Asia/Taipei",
            "timezones": [
                {
                    "id": "Asia/Taipei",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "hk",
            "name": "Hong Kong",
            "default_timezone": "Asia/Hong_Kong",
            "timezones": [
                {
                    "id": "Asia/Hong_Kong",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "cn",
            "name": "China",
            "default_timezone": "Asia/Shanghai",
            "timezones": [
                {
                    "id": "Asia/Shanghai",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "in",
            "name": "India",
            "default_timezone": "Asia/Kolkata",
            "timezones": [
                {
                    "id": "Asia/Kolkata",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "sg",
            "name": "Singapore",
            "default_timezone": "Asia/Singapore",
            "timezones": [
                {
                    "id": "Asia/Singapore",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "th",
            "name": "Thailand",
            "default_timezone": "Asia/Bangkok",
            "timezones": [
                {
                    "id": "Asia/Bangkok",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "my",
            "name": "Malaysia",
            "default_timezone": "Asia/Kuala_Lumpur",
            "timezones": [
                {
                    "id": "Asia/Kuala_Lumpur",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "id",
            "name": "Indonesia",
            "default_timezone": "Asia/Jakarta",
            "timezones": [
                {
                    "id": "Asia/Jakarta",
                    "label": "Default"
                },
                {
                    "id": "Asia/Makassar",
                    "label": "Central Indonesia"
                },
                {
                    "id": "Asia/Jayapura",
                    "label": "Eastern Indonesia"
                }
            ]
        },
        {
            "id": "ph",
            "name": "Philippines",
            "default_timezone": "Asia/Manila",
            "timezones": [
                {
                    "id": "Asia/Manila",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "vn",
            "name": "Vietnam",
            "default_timezone": "Asia/Ho_Chi_Minh",
            "timezones": [
                {
                    "id": "Asia/Ho_Chi_Minh",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "au",
            "name": "Australia",
            "default_timezone": "Australia/Sydney",
            "timezones": [
                {
                    "id": "Australia/Sydney",
                    "label": "Default"
                },
                {
                    "id": "Australia/Brisbane",
                    "label": "Brisbane"
                },
                {
                    "id": "Australia/Adelaide",
                    "label": "Adelaide"
                },
                {
                    "id": "Australia/Perth",
                    "label": "Perth"
                }
            ]
        },
        {
            "id": "nz",
            "name": "New Zealand",
            "default_timezone": "Pacific/Auckland",
            "timezones": [
                {
                    "id": "Pacific/Auckland",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "de",
            "name": "Germany",
            "default_timezone": "Europe/Berlin",
            "timezones": [
                {
                    "id": "Europe/Berlin",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "fr",
            "name": "France",
            "default_timezone": "Europe/Paris",
            "timezones": [
                {
                    "id": "Europe/Paris",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "it",
            "name": "Italy",
            "default_timezone": "Europe/Rome",
            "timezones": [
                {
                    "id": "Europe/Rome",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "es",
            "name": "Spain",
            "default_timezone": "Europe/Madrid",
            "timezones": [
                {
                    "id": "Europe/Madrid",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "nl",
            "name": "Netherlands",
            "default_timezone": "Europe/Amsterdam",
            "timezones": [
                {
                    "id": "Europe/Amsterdam",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "be",
            "name": "Belgium",
            "default_timezone": "Europe/Brussels",
            "timezones": [
                {
                    "id": "Europe/Brussels",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "ch",
            "name": "Switzerland",
            "default_timezone": "Europe/Zurich",
            "timezones": [
                {
                    "id": "Europe/Zurich",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "se",
            "name": "Sweden",
            "default_timezone": "Europe/Stockholm",
            "timezones": [
                {
                    "id": "Europe/Stockholm",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "no",
            "name": "Norway",
            "default_timezone": "Europe/Oslo",
            "timezones": [
                {
                    "id": "Europe/Oslo",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "dk",
            "name": "Denmark",
            "default_timezone": "Europe/Copenhagen",
            "timezones": [
                {
                    "id": "Europe/Copenhagen",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "fi",
            "name": "Finland",
            "default_timezone": "Europe/Helsinki",
            "timezones": [
                {
                    "id": "Europe/Helsinki",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "pl",
            "name": "Poland",
            "default_timezone": "Europe/Warsaw",
            "timezones": [
                {
                    "id": "Europe/Warsaw",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "at",
            "name": "Austria",
            "default_timezone": "Europe/Vienna",
            "timezones": [
                {
                    "id": "Europe/Vienna",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "ie",
            "name": "Ireland",
            "default_timezone": "Europe/Dublin",
            "timezones": [
                {
                    "id": "Europe/Dublin",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "pt",
            "name": "Portugal",
            "default_timezone": "Europe/Lisbon",
            "timezones": [
                {
                    "id": "Europe/Lisbon",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "cz",
            "name": "Czech Republic",
            "default_timezone": "Europe/Prague",
            "timezones": [
                {
                    "id": "Europe/Prague",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "gr",
            "name": "Greece",
            "default_timezone": "Europe/Athens",
            "timezones": [
                {
                    "id": "Europe/Athens",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "tr",
            "name": "Turkey",
            "default_timezone": "Europe/Istanbul",
            "timezones": [
                {
                    "id": "Europe/Istanbul",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "ae",
            "name": "United Arab Emirates",
            "default_timezone": "Asia/Dubai",
            "timezones": [
                {
                    "id": "Asia/Dubai",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "sa",
            "name": "Saudi Arabia",
            "default_timezone": "Asia/Riyadh",
            "timezones": [
                {
                    "id": "Asia/Riyadh",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "il",
            "name": "Israel",
            "default_timezone": "Asia/Jerusalem",
            "timezones": [
                {
                    "id": "Asia/Jerusalem",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "za",
            "name": "South Africa",
            "default_timezone": "Africa/Johannesburg",
            "timezones": [
                {
                    "id": "Africa/Johannesburg",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "ng",
            "name": "Nigeria",
            "default_timezone": "Africa/Lagos",
            "timezones": [
                {
                    "id": "Africa/Lagos",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "eg",
            "name": "Egypt",
            "default_timezone": "Africa/Cairo",
            "timezones": [
                {
                    "id": "Africa/Cairo",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "qa",
            "name": "Qatar",
            "default_timezone": "Asia/Qatar",
            "timezones": [
                {
                    "id": "Asia/Qatar",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "kw",
            "name": "Kuwait",
            "default_timezone": "Asia/Kuwait",
            "timezones": [
                {
                    "id": "Asia/Kuwait",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "bh",
            "name": "Bahrain",
            "default_timezone": "Asia/Bahrain",
            "timezones": [
                {
                    "id": "Asia/Bahrain",
                    "label": "Default"
                }
            ]
        },
        {
            "id": "pk",
            "name": "Pakistan",
            "default_timezone": "Asia/Karachi",
            "timezones": [
                {
                    "id": "Asia/Karachi",
                    "label": "Default"
                }
            ]
        }
    ],
    "markets": {
        "us_equities": {
            "id": "us_equities",
            "schedule_type": "daily",
            "exchange": "U.S. cash equities (NYSE / Nasdaq)",
            "country": "United States",
            "timezone": "America/New_York",
            "open": "09:30",
            "close": "16:00",
            "weekdays": [
                1,
                2,
                3,
                4,
                5
            ],
            "calendar_verified_through": "2027-12-31",
            "source_url": "https://www.nyse.com/trade/hours-calendars",
            "source_type": "official exchange hours/calendar reference; hardcoded exceptions with secondary calendar cross-check",
            "exceptions": [
                {
                    "date": "2026-01-01",
                    "type": "closed",
                    "name": "New Year's Day"
                },
                {
                    "date": "2026-01-19",
                    "type": "closed",
                    "name": "Dr. Martin Luther King Jr. Day"
                },
                {
                    "date": "2026-02-16",
                    "type": "closed",
                    "name": "President's Day"
                },
                {
                    "date": "2026-04-03",
                    "type": "closed",
                    "name": "Good Friday"
                },
                {
                    "date": "2026-05-25",
                    "type": "closed",
                    "name": "Memorial Day"
                },
                {
                    "date": "2026-06-19",
                    "type": "closed",
                    "name": "Juneteenth National Independence Day"
                },
                {
                    "date": "2026-07-03",
                    "type": "closed",
                    "name": "July 4th"
                },
                {
                    "date": "2026-09-07",
                    "type": "closed",
                    "name": "Labor Day"
                },
                {
                    "date": "2026-11-26",
                    "type": "closed",
                    "name": "Thanksgiving"
                },
                {
                    "date": "2026-11-27",
                    "type": "special_close",
                    "close": "13:00",
                    "name": "Special closing time"
                },
                {
                    "date": "2026-12-24",
                    "type": "special_close",
                    "close": "13:00",
                    "name": "Special closing time"
                },
                {
                    "date": "2026-12-25",
                    "type": "closed",
                    "name": "Christmas"
                },
                {
                    "date": "2027-01-01",
                    "type": "closed",
                    "name": "New Year's Day"
                },
                {
                    "date": "2027-01-18",
                    "type": "closed",
                    "name": "Dr. Martin Luther King Jr. Day"
                },
                {
                    "date": "2027-02-15",
                    "type": "closed",
                    "name": "President's Day"
                },
                {
                    "date": "2027-03-26",
                    "type": "closed",
                    "name": "Good Friday"
                },
                {
                    "date": "2027-05-31",
                    "type": "closed",
                    "name": "Memorial Day"
                },
                {
                    "date": "2027-06-18",
                    "type": "closed",
                    "name": "Juneteenth National Independence Day"
                },
                {
                    "date": "2027-07-05",
                    "type": "closed",
                    "name": "July 4th"
                },
                {
                    "date": "2027-09-06",
                    "type": "closed",
                    "name": "Labor Day"
                },
                {
                    "date": "2027-11-25",
                    "type": "closed",
                    "name": "Thanksgiving"
                },
                {
                    "date": "2027-11-26",
                    "type": "special_close",
                    "close": "13:00",
                    "name": "Special closing time"
                },
                {
                    "date": "2027-12-24",
                    "type": "closed",
                    "name": "Christmas"
                }
            ],
            "holiday_schedule_policy": "fixed_calendar",
            "holiday_review_interval_days": 30
        },
        "uk_equities": {
            "id": "uk_equities",
            "schedule_type": "daily",
            "exchange": "London Stock Exchange",
            "country": "United Kingdom",
            "timezone": "Europe/London",
            "open": "08:00",
            "close": "16:30",
            "weekdays": [
                1,
                2,
                3,
                4,
                5
            ],
            "calendar_verified_through": "2027-12-31",
            "source_url": "https://www.londonstockexchange.com/discover/events/london-stock-exchange-market-ceremonies",
            "source_type": "official exchange hours/calendar reference; hardcoded exceptions with secondary calendar cross-check",
            "exceptions": [
                {
                    "date": "2026-01-01",
                    "type": "closed",
                    "name": "New Year's Day"
                },
                {
                    "date": "2026-04-03",
                    "type": "closed",
                    "name": "Good Friday"
                },
                {
                    "date": "2026-04-06",
                    "type": "closed",
                    "name": "Easter Monday"
                },
                {
                    "date": "2026-05-04",
                    "type": "closed",
                    "name": "Early May Bank Holiday"
                },
                {
                    "date": "2026-05-25",
                    "type": "closed",
                    "name": "Spring Bank Holiday"
                },
                {
                    "date": "2026-08-31",
                    "type": "closed",
                    "name": "Summer Bank Holiday"
                },
                {
                    "date": "2026-12-24",
                    "type": "special_close",
                    "close": "12:30",
                    "name": "Special closing time"
                },
                {
                    "date": "2026-12-25",
                    "type": "closed",
                    "name": "Christmas"
                },
                {
                    "date": "2026-12-28",
                    "type": "closed",
                    "name": "Weekend Boxing Day"
                },
                {
                    "date": "2026-12-31",
                    "type": "special_close",
                    "close": "12:30",
                    "name": "Special closing time"
                },
                {
                    "date": "2027-01-01",
                    "type": "closed",
                    "name": "New Year's Day"
                },
                {
                    "date": "2027-03-26",
                    "type": "closed",
                    "name": "Good Friday"
                },
                {
                    "date": "2027-03-29",
                    "type": "closed",
                    "name": "Easter Monday"
                },
                {
                    "date": "2027-05-03",
                    "type": "closed",
                    "name": "Early May Bank Holiday"
                },
                {
                    "date": "2027-05-31",
                    "type": "closed",
                    "name": "Spring Bank Holiday"
                },
                {
                    "date": "2027-08-30",
                    "type": "closed",
                    "name": "Summer Bank Holiday"
                },
                {
                    "date": "2027-12-24",
                    "type": "special_close",
                    "close": "12:30",
                    "name": "Special closing time"
                },
                {
                    "date": "2027-12-27",
                    "type": "closed",
                    "name": "Weekend Christmas"
                },
                {
                    "date": "2027-12-28",
                    "type": "closed",
                    "name": "Weekend Boxing Day"
                },
                {
                    "date": "2027-12-31",
                    "type": "special_close",
                    "close": "12:30",
                    "name": "Special closing time"
                }
            ],
            "holiday_schedule_policy": "fixed_calendar",
            "holiday_review_interval_days": 30
        },
        "xetra": {
            "id": "xetra",
            "schedule_type": "daily",
            "exchange": "Xetra",
            "country": "Germany",
            "timezone": "Europe/Berlin",
            "open": "09:00",
            "close": "17:30",
            "weekdays": [
                1,
                2,
                3,
                4,
                5
            ],
            "calendar_verified_through": "2027-12-31",
            "source_url": "https://www.cashmarket.deutsche-boerse.com/cash-en/trading/trading-calendar-and-trading-hours",
            "source_type": "official exchange hours/calendar reference; hardcoded exceptions with secondary calendar cross-check",
            "exceptions": [
                {
                    "date": "2026-01-01",
                    "type": "closed",
                    "name": "New Year's Day"
                },
                {
                    "date": "2026-04-03",
                    "type": "closed",
                    "name": "Good Friday"
                },
                {
                    "date": "2026-04-06",
                    "type": "closed",
                    "name": "Easter Monday"
                },
                {
                    "date": "2026-05-01",
                    "type": "closed",
                    "name": "Labour Day"
                },
                {
                    "date": "2026-12-24",
                    "type": "closed",
                    "name": "Christmas Eve"
                },
                {
                    "date": "2026-12-25",
                    "type": "closed",
                    "name": "Christmas"
                },
                {
                    "date": "2026-12-31",
                    "type": "closed",
                    "name": "New Year's Eve"
                },
                {
                    "date": "2027-01-01",
                    "type": "closed",
                    "name": "New Year's Day"
                },
                {
                    "date": "2027-03-26",
                    "type": "closed",
                    "name": "Good Friday"
                },
                {
                    "date": "2027-03-29",
                    "type": "closed",
                    "name": "Easter Monday"
                },
                {
                    "date": "2027-12-24",
                    "type": "closed",
                    "name": "Christmas Eve"
                },
                {
                    "date": "2027-12-31",
                    "type": "closed",
                    "name": "New Year's Eve"
                }
            ],
            "holiday_schedule_policy": "fixed_calendar",
            "holiday_review_interval_days": 30
        },
        "euronext_paris": {
            "id": "euronext_paris",
            "schedule_type": "daily",
            "exchange": "Euronext Paris",
            "country": "France",
            "timezone": "Europe/Paris",
            "open": "09:00",
            "close": "17:30",
            "weekdays": [
                1,
                2,
                3,
                4,
                5
            ],
            "calendar_verified_through": "2027-12-31",
            "source_url": "https://www.euronext.com/en/trade/trading-hours",
            "source_type": "official exchange hours/calendar reference; hardcoded exceptions with secondary calendar cross-check",
            "exceptions": [
                {
                    "date": "2026-01-01",
                    "type": "closed",
                    "name": "New Year's Day"
                },
                {
                    "date": "2026-04-03",
                    "type": "closed",
                    "name": "Good Friday"
                },
                {
                    "date": "2026-04-06",
                    "type": "closed",
                    "name": "Easter Monday"
                },
                {
                    "date": "2026-05-01",
                    "type": "closed",
                    "name": "Labour Day"
                },
                {
                    "date": "2026-12-24",
                    "type": "special_close",
                    "close": "14:00",
                    "name": "Special closing time"
                },
                {
                    "date": "2026-12-25",
                    "type": "closed",
                    "name": "Christmas"
                },
                {
                    "date": "2026-12-31",
                    "type": "special_close",
                    "close": "14:00",
                    "name": "Special closing time"
                },
                {
                    "date": "2027-01-01",
                    "type": "closed",
                    "name": "New Year's Day"
                },
                {
                    "date": "2027-03-26",
                    "type": "closed",
                    "name": "Good Friday"
                },
                {
                    "date": "2027-03-29",
                    "type": "closed",
                    "name": "Easter Monday"
                },
                {
                    "date": "2027-12-24",
                    "type": "special_close",
                    "close": "14:00",
                    "name": "Special closing time"
                },
                {
                    "date": "2027-12-31",
                    "type": "special_close",
                    "close": "14:00",
                    "name": "Special closing time"
                }
            ],
            "holiday_schedule_policy": "fixed_calendar",
            "holiday_review_interval_days": 30
        },
        "tse_japan": {
            "id": "tse_japan",
            "schedule_type": "daily",
            "exchange": "Tokyo Stock Exchange",
            "country": "Japan",
            "timezone": "Asia/Tokyo",
            "open": "09:00",
            "close": "15:30",
            "weekdays": [
                1,
                2,
                3,
                4,
                5
            ],
            "calendar_verified_through": "2027-12-31",
            "source_url": "https://www.jpx.co.jp/english/equities/trading/domestic/01.html",
            "source_type": "official exchange hours/calendar reference; hardcoded exceptions with secondary calendar cross-check",
            "exceptions": [
                {
                    "date": "2026-01-01",
                    "type": "closed",
                    "name": "New Year's Day"
                },
                {
                    "date": "2026-01-02",
                    "type": "closed",
                    "name": "New Year's Holiday (Jan 2)"
                },
                {
                    "date": "2026-01-12",
                    "type": "closed",
                    "name": "Coming of Age Day (2000 onwards)"
                },
                {
                    "date": "2026-02-11",
                    "type": "closed",
                    "name": "National Foundation Day"
                },
                {
                    "date": "2026-02-23",
                    "type": "closed",
                    "name": "Emperor Naruhito's Birthday"
                },
                {
                    "date": "2026-03-20",
                    "type": "closed",
                    "name": "Exchange non-trading day"
                },
                {
                    "date": "2026-04-29",
                    "type": "closed",
                    "name": "Showa Day"
                },
                {
                    "date": "2026-05-04",
                    "type": "closed",
                    "name": "Greenery Day"
                },
                {
                    "date": "2026-05-05",
                    "type": "closed",
                    "name": "Children's Day"
                },
                {
                    "date": "2026-05-06",
                    "type": "closed",
                    "name": "Constitution Memorial Day"
                },
                {
                    "date": "2026-07-20",
                    "type": "closed",
                    "name": "Marine Day (2022 onwards)"
                },
                {
                    "date": "2026-08-11",
                    "type": "closed",
                    "name": "Mountain Day (2022 onwards)"
                },
                {
                    "date": "2026-09-21",
                    "type": "closed",
                    "name": "Respect for the Aged Day (2003 onwards)"
                },
                {
                    "date": "2026-09-22",
                    "type": "closed",
                    "name": "Exchange non-trading day"
                },
                {
                    "date": "2026-09-23",
                    "type": "closed",
                    "name": "Exchange non-trading day"
                },
                {
                    "date": "2026-10-12",
                    "type": "closed",
                    "name": "Health and Sports Day (2022 onwards)"
                },
                {
                    "date": "2026-11-03",
                    "type": "closed",
                    "name": "Culture Day"
                },
                {
                    "date": "2026-11-23",
                    "type": "closed",
                    "name": "Labor Thanksgiving Day"
                },
                {
                    "date": "2026-12-31",
                    "type": "closed",
                    "name": "New Year's Holiday (Dec 31)"
                },
                {
                    "date": "2027-01-01",
                    "type": "closed",
                    "name": "New Year's Day"
                },
                {
                    "date": "2027-01-11",
                    "type": "closed",
                    "name": "Coming of Age Day (2000 onwards)"
                },
                {
                    "date": "2027-02-11",
                    "type": "closed",
                    "name": "National Foundation Day"
                },
                {
                    "date": "2027-02-23",
                    "type": "closed",
                    "name": "Emperor Naruhito's Birthday"
                },
                {
                    "date": "2027-03-22",
                    "type": "closed",
                    "name": "Exchange non-trading day"
                },
                {
                    "date": "2027-04-29",
                    "type": "closed",
                    "name": "Showa Day"
                },
                {
                    "date": "2027-05-03",
                    "type": "closed",
                    "name": "Constitution Memorial Day"
                },
                {
                    "date": "2027-05-04",
                    "type": "closed",
                    "name": "Greenery Day"
                },
                {
                    "date": "2027-05-05",
                    "type": "closed",
                    "name": "Children's Day"
                },
                {
                    "date": "2027-07-19",
                    "type": "closed",
                    "name": "Marine Day (2022 onwards)"
                },
                {
                    "date": "2027-08-11",
                    "type": "closed",
                    "name": "Mountain Day (2022 onwards)"
                },
                {
                    "date": "2027-09-20",
                    "type": "closed",
                    "name": "Respect for the Aged Day (2003 onwards)"
                },
                {
                    "date": "2027-09-23",
                    "type": "closed",
                    "name": "Exchange non-trading day"
                },
                {
                    "date": "2027-10-11",
                    "type": "closed",
                    "name": "Health and Sports Day (2022 onwards)"
                },
                {
                    "date": "2027-11-03",
                    "type": "closed",
                    "name": "Culture Day"
                },
                {
                    "date": "2027-11-23",
                    "type": "closed",
                    "name": "Labor Thanksgiving Day"
                },
                {
                    "date": "2027-12-31",
                    "type": "closed",
                    "name": "New Year's Holiday (Dec 31)"
                }
            ],
            "breaks": [
                {
                    "start": "11:30",
                    "end": "12:30",
                    "label": "Midday break",
                    "source_url": "https://www.jpx.co.jp/english/equities/trading/domestic/01.html"
                }
            ],
            "note": "Tokyo Stock Exchange cash equities trade 09:00\u201311:30 and 12:30\u201315:30 JST.",
            "holiday_schedule_policy": "fixed_calendar",
            "holiday_review_interval_days": 30
        },
        "hkex": {
            "id": "hkex",
            "schedule_type": "daily",
            "exchange": "Hong Kong Stock Exchange",
            "country": "Hong Kong",
            "timezone": "Asia/Hong_Kong",
            "open": "09:30",
            "close": "16:00",
            "weekdays": [
                1,
                2,
                3,
                4,
                5
            ],
            "calendar_verified_through": "2027-12-31",
            "source_url": "https://www.hkex.com.hk/Global/Exchange/FAQ/Securities-Market?sc_lang=en",
            "source_type": "official exchange hours/calendar reference; hardcoded exceptions with secondary calendar cross-check",
            "exceptions": [
                {
                    "date": "2026-01-01",
                    "type": "closed",
                    "name": "New Year's Day"
                },
                {
                    "date": "2026-02-16",
                    "type": "special_close",
                    "close": "12:00",
                    "name": "Special closing time"
                },
                {
                    "date": "2026-02-17",
                    "type": "closed",
                    "name": "Exchange non-trading day"
                },
                {
                    "date": "2026-02-18",
                    "type": "closed",
                    "name": "Exchange non-trading day"
                },
                {
                    "date": "2026-02-19",
                    "type": "closed",
                    "name": "Exchange non-trading day"
                },
                {
                    "date": "2026-04-03",
                    "type": "closed",
                    "name": "Good Friday"
                },
                {
                    "date": "2026-04-06",
                    "type": "closed",
                    "name": "Easter Monday"
                },
                {
                    "date": "2026-04-07",
                    "type": "closed",
                    "name": "Exchange non-trading day"
                },
                {
                    "date": "2026-05-01",
                    "type": "closed",
                    "name": "Labour Day"
                },
                {
                    "date": "2026-05-25",
                    "type": "closed",
                    "name": "Exchange non-trading day"
                },
                {
                    "date": "2026-06-19",
                    "type": "closed",
                    "name": "Exchange non-trading day"
                },
                {
                    "date": "2026-07-01",
                    "type": "closed",
                    "name": "Hong Kong Special Region Establishment Day"
                },
                {
                    "date": "2026-10-01",
                    "type": "closed",
                    "name": "National Day"
                },
                {
                    "date": "2026-10-19",
                    "type": "closed",
                    "name": "Exchange non-trading day"
                },
                {
                    "date": "2026-12-24",
                    "type": "special_close",
                    "close": "12:00",
                    "name": "Special closing time"
                },
                {
                    "date": "2026-12-25",
                    "type": "closed",
                    "name": "Christmas"
                },
                {
                    "date": "2026-12-31",
                    "type": "special_close",
                    "close": "12:00",
                    "name": "Special closing time"
                },
                {
                    "date": "2027-01-01",
                    "type": "closed",
                    "name": "New Year's Day"
                },
                {
                    "date": "2027-02-05",
                    "type": "special_close",
                    "close": "12:00",
                    "name": "Special closing time"
                },
                {
                    "date": "2027-02-08",
                    "type": "closed",
                    "name": "Exchange non-trading day"
                },
                {
                    "date": "2027-02-09",
                    "type": "closed",
                    "name": "Exchange non-trading day"
                },
                {
                    "date": "2027-03-26",
                    "type": "closed",
                    "name": "Good Friday"
                },
                {
                    "date": "2027-03-29",
                    "type": "closed",
                    "name": "Easter Monday"
                },
                {
                    "date": "2027-04-05",
                    "type": "closed",
                    "name": "Exchange non-trading day"
                },
                {
                    "date": "2027-05-13",
                    "type": "closed",
                    "name": "Exchange non-trading day"
                },
                {
                    "date": "2027-06-09",
                    "type": "closed",
                    "name": "Exchange non-trading day"
                },
                {
                    "date": "2027-07-01",
                    "type": "closed",
                    "name": "Hong Kong Special Region Establishment Day"
                },
                {
                    "date": "2027-09-16",
                    "type": "closed",
                    "name": "Exchange non-trading day"
                },
                {
                    "date": "2027-10-01",
                    "type": "closed",
                    "name": "National Day"
                },
                {
                    "date": "2027-10-08",
                    "type": "closed",
                    "name": "Exchange non-trading day"
                },
                {
                    "date": "2027-12-24",
                    "type": "special_close",
                    "close": "12:00",
                    "name": "Special closing time"
                },
                {
                    "date": "2027-12-27",
                    "type": "closed",
                    "name": "Weekend Christmas"
                },
                {
                    "date": "2027-12-31",
                    "type": "special_close",
                    "close": "12:00",
                    "name": "Special closing time"
                }
            ],
            "breaks": [
                {
                    "start": "12:00",
                    "end": "13:00",
                    "label": "Lunch break",
                    "source_url": "https://www.hkex.com.hk/News/News-Release/2010/101123news?sc_lang=en"
                }
            ],
            "note": "Standard Hong Kong securities have a 12:00\u201313:00 lunch break. The closing auction can continue beyond 16:00 for eligible securities, with a random close between 16:08 and 16:10.",
            "holiday_schedule_policy": "fixed_calendar",
            "holiday_review_interval_days": 30
        },
        "asx": {
            "id": "asx",
            "schedule_type": "daily",
            "exchange": "Australian Securities Exchange",
            "country": "Australia",
            "timezone": "Australia/Sydney",
            "open": "10:00",
            "close": "16:00",
            "weekdays": [
                1,
                2,
                3,
                4,
                5
            ],
            "calendar_verified_through": "2027-12-31",
            "source_url": "https://www.asx.com.au/markets/market-resources/trading-hours-calendar",
            "source_type": "official exchange hours/calendar reference; hardcoded exceptions with secondary calendar cross-check",
            "exceptions": [
                {
                    "date": "2026-01-01",
                    "type": "closed",
                    "name": "New Year's Day"
                },
                {
                    "date": "2026-01-26",
                    "type": "closed",
                    "name": "Australia Day"
                },
                {
                    "date": "2026-04-03",
                    "type": "closed",
                    "name": "Good Friday"
                },
                {
                    "date": "2026-04-06",
                    "type": "closed",
                    "name": "Easter Monday"
                },
                {
                    "date": "2026-06-08",
                    "type": "closed",
                    "name": "King's Birthday"
                },
                {
                    "date": "2026-12-24",
                    "type": "special_close",
                    "close": "14:10",
                    "name": "Early close (normal trading ceases 14:10)"
                },
                {
                    "date": "2026-12-25",
                    "type": "closed",
                    "name": "Christmas"
                },
                {
                    "date": "2026-12-28",
                    "type": "closed",
                    "name": "Weekend Boxing Day"
                },
                {
                    "date": "2026-12-31",
                    "type": "special_close",
                    "close": "14:10",
                    "name": "Early close (normal trading ceases 14:10)"
                },
                {
                    "date": "2027-01-01",
                    "type": "closed",
                    "name": "New Year's Day"
                },
                {
                    "date": "2027-01-26",
                    "type": "closed",
                    "name": "Australia Day"
                },
                {
                    "date": "2027-03-26",
                    "type": "closed",
                    "name": "Good Friday"
                },
                {
                    "date": "2027-03-29",
                    "type": "closed",
                    "name": "Easter Monday"
                },
                {
                    "date": "2027-06-14",
                    "type": "closed",
                    "name": "King's Birthday"
                },
                {
                    "date": "2027-12-24",
                    "type": "special_close",
                    "close": "14:10",
                    "name": "Early close (normal trading ceases 14:10)"
                },
                {
                    "date": "2027-12-27",
                    "type": "closed",
                    "name": "Weekend Christmas"
                },
                {
                    "date": "2027-12-28",
                    "type": "closed",
                    "name": "Weekend Boxing Day"
                },
                {
                    "date": "2027-12-31",
                    "type": "special_close",
                    "close": "14:10",
                    "name": "Early close (normal trading ceases 14:10)"
                }
            ],
            "holiday_schedule_policy": "fixed_calendar",
            "holiday_review_interval_days": 30
        },
        "forex_global": {
            "id": "forex_global",
            "schedule_type": "weekly",
            "exchange": "Global interbank FX market",
            "country": "Global",
            "timezone": "America/New_York",
            "weekly_open": {
                "weekday": 7,
                "time": "17:00"
            },
            "weekly_close": {
                "weekday": 5,
                "time": "17:00"
            },
            "calendar_verified_through": "2027-12-31",
            "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
            "source_type": "reference weekly FX convention",
            "exceptions": [],
            "note": "Forex has no single central exchange. The checker uses the widely used global trading-week convention and does not invent broker-specific daily opens or closes.",
            "holiday_schedule_policy": "fixed_calendar",
            "holiday_review_interval_days": 30
        },
        "cme_metals": {
            "id": "cme_metals",
            "schedule_type": "weekly",
            "exchange": "CME Group metals futures (COMEX / NYMEX)",
            "country": "United States",
            "timezone": "America/Chicago",
            "weekly_open": {
                "weekday": 7,
                "time": "17:00"
            },
            "weekly_close": {
                "weekday": 5,
                "time": "16:00"
            },
            "calendar_verified_through": "2026-12-31",
            "source_url": "https://www.cmegroup.com/trading-hours.html",
            "source_type": "official exchange regular hours",
            "exceptions": [],
            "note": "CME Globex metals products use near-continuous Sunday-to-Friday sessions with a scheduled daily maintenance break. Product-specific contract details and holiday schedules can vary and require periodic CME calendar checks. CME states holiday hours are subject to change and are usually finalized approximately two weeks before the holiday. The plugin therefore flags these dates for review instead of assuming normal weekly hours.",
            "recurring_breaks": [
                {
                    "weekdays": [
                        1,
                        2,
                        3,
                        4
                    ],
                    "start": "16:00",
                    "end": "17:00",
                    "label": "Daily maintenance break",
                    "source_url": "https://www.cmegroup.com/trading-hours.html"
                }
            ],
            "holiday_schedule_policy": "rolling_review",
            "holiday_review_interval_days": 30,
            "holiday_final_check_days": 14,
            "holiday_review_source": "https://www.cmegroup.com/trading-hours.html",
            "holiday_review_dates": [
                {
                    "date": "2026-01-01",
                    "name": "New Year\u2019s holiday schedule",
                    "type": "holiday_review",
                    "source_url": "https://www.cmegroup.com/trading-hours.html"
                },
                {
                    "date": "2026-01-19",
                    "name": "Martin Luther King Jr. holiday schedule",
                    "type": "holiday_review",
                    "source_url": "https://www.cmegroup.com/trading-hours.html"
                },
                {
                    "date": "2026-02-16",
                    "name": "Presidents Day holiday schedule",
                    "type": "holiday_review",
                    "source_url": "https://www.cmegroup.com/trading-hours.html"
                },
                {
                    "date": "2026-04-03",
                    "name": "Good Friday holiday schedule",
                    "type": "holiday_review",
                    "source_url": "https://www.cmegroup.com/trading-hours.html"
                },
                {
                    "date": "2026-05-25",
                    "name": "Memorial Day holiday schedule",
                    "type": "holiday_review",
                    "source_url": "https://www.cmegroup.com/trading-hours.html"
                },
                {
                    "date": "2026-06-19",
                    "name": "Juneteenth holiday schedule",
                    "type": "holiday_review",
                    "source_url": "https://www.cmegroup.com/trading-hours.html"
                },
                {
                    "date": "2026-07-03",
                    "name": "Independence Day holiday schedule",
                    "type": "holiday_review",
                    "source_url": "https://www.cmegroup.com/trading-hours.html"
                },
                {
                    "date": "2026-09-07",
                    "name": "Labor Day holiday schedule",
                    "type": "holiday_review",
                    "source_url": "https://www.cmegroup.com/trading-hours.html"
                },
                {
                    "date": "2026-11-26",
                    "name": "Thanksgiving holiday schedule",
                    "type": "holiday_review",
                    "source_url": "https://www.cmegroup.com/trading-hours.html"
                },
                {
                    "date": "2026-12-25",
                    "name": "Christmas holiday schedule",
                    "type": "holiday_review",
                    "source_url": "https://www.cmegroup.com/trading-hours.html"
                }
            ]
        },
        "cme_energy": {
            "id": "cme_energy",
            "schedule_type": "weekly",
            "exchange": "CME Group energy futures (NYMEX)",
            "country": "United States",
            "timezone": "America/Chicago",
            "weekly_open": {
                "weekday": 7,
                "time": "17:00"
            },
            "weekly_close": {
                "weekday": 5,
                "time": "16:00"
            },
            "calendar_verified_through": "2026-12-31",
            "source_url": "https://www.cmegroup.com/trading-hours.html",
            "source_type": "official exchange regular hours",
            "exceptions": [],
            "note": "CME Globex energy products use near-continuous Sunday-to-Friday sessions with a scheduled daily maintenance break. Product-specific contract details and holiday schedules can vary and require periodic CME calendar checks. CME states holiday hours are subject to change and are usually finalized approximately two weeks before the holiday. The plugin therefore flags these dates for review instead of assuming normal weekly hours.",
            "recurring_breaks": [
                {
                    "weekdays": [
                        1,
                        2,
                        3,
                        4
                    ],
                    "start": "16:00",
                    "end": "17:00",
                    "label": "Daily maintenance break",
                    "source_url": "https://www.cmegroup.com/trading-hours.html"
                }
            ],
            "holiday_schedule_policy": "rolling_review",
            "holiday_review_interval_days": 30,
            "holiday_final_check_days": 14,
            "holiday_review_source": "https://www.cmegroup.com/trading-hours.html",
            "holiday_review_dates": [
                {
                    "date": "2026-01-01",
                    "name": "New Year\u2019s holiday schedule",
                    "type": "holiday_review",
                    "source_url": "https://www.cmegroup.com/trading-hours.html"
                },
                {
                    "date": "2026-01-19",
                    "name": "Martin Luther King Jr. holiday schedule",
                    "type": "holiday_review",
                    "source_url": "https://www.cmegroup.com/trading-hours.html"
                },
                {
                    "date": "2026-02-16",
                    "name": "Presidents Day holiday schedule",
                    "type": "holiday_review",
                    "source_url": "https://www.cmegroup.com/trading-hours.html"
                },
                {
                    "date": "2026-04-03",
                    "name": "Good Friday holiday schedule",
                    "type": "holiday_review",
                    "source_url": "https://www.cmegroup.com/trading-hours.html"
                },
                {
                    "date": "2026-05-25",
                    "name": "Memorial Day holiday schedule",
                    "type": "holiday_review",
                    "source_url": "https://www.cmegroup.com/trading-hours.html"
                },
                {
                    "date": "2026-06-19",
                    "name": "Juneteenth holiday schedule",
                    "type": "holiday_review",
                    "source_url": "https://www.cmegroup.com/trading-hours.html"
                },
                {
                    "date": "2026-07-03",
                    "name": "Independence Day holiday schedule",
                    "type": "holiday_review",
                    "source_url": "https://www.cmegroup.com/trading-hours.html"
                },
                {
                    "date": "2026-09-07",
                    "name": "Labor Day holiday schedule",
                    "type": "holiday_review",
                    "source_url": "https://www.cmegroup.com/trading-hours.html"
                },
                {
                    "date": "2026-11-26",
                    "name": "Thanksgiving holiday schedule",
                    "type": "holiday_review",
                    "source_url": "https://www.cmegroup.com/trading-hours.html"
                },
                {
                    "date": "2026-12-25",
                    "name": "Christmas holiday schedule",
                    "type": "holiday_review",
                    "source_url": "https://www.cmegroup.com/trading-hours.html"
                }
            ]
        },
        "ice_brent": {
            "id": "ice_brent",
            "schedule_type": "weekly",
            "exchange": "ICE Futures Europe",
            "country": "United Kingdom",
            "timezone": "Europe/London",
            "weekly_open": {
                "weekday": 7,
                "time": "23:00"
            },
            "weekly_close": {
                "weekday": 5,
                "time": "23:00"
            },
            "calendar_verified_through": "2026-12-31",
            "source_url": "https://www.ice.com/products/219/Brent-Crude-Futures",
            "source_type": "official exchange regular hours",
            "exceptions": [],
            "note": "ICE Brent normally trades 01:00\u201323:00 London time Monday to Friday, with Sunday opening at 23:00. The overnight 23:00\u201301:00 gap is shown as a session break. Holiday hours require periodic ICE calendar checks. ICE states contract-specific holiday hours may be announced close to the holiday. The plugin therefore treats holiday coverage as rolling-review and does not invent unpublished Brent holiday hours.",
            "recurring_breaks": [
                {
                    "weekdays": [
                        1,
                        2,
                        3,
                        4
                    ],
                    "start": "23:00",
                    "end": "01:00",
                    "end_day_offset": 1,
                    "label": "Daily session break",
                    "source_url": "https://www.ice.com/products/219"
                }
            ],
            "holiday_schedule_policy": "rolling_review",
            "holiday_review_interval_days": 30,
            "holiday_final_check_days": 14,
            "holiday_review_source": "https://www.ice.com/holiday-hours",
            "holiday_review_dates": []
        },
        "crypto_24_7": {
            "id": "crypto_24_7",
            "schedule_type": "continuous",
            "exchange": "Global crypto market \u00b7 Biquote feed",
            "country": "Global",
            "timezone": "UTC",
            "open": "00:00",
            "close": "23:59",
            "weekdays": [
                1,
                2,
                3,
                4,
                5,
                6,
                7
            ],
            "calendar_verified_through": "2099-12-31",
            "source_url": "https://biquote.io/docs/",
            "source_type": "Biquote real-time browser-direct market-data reference",
            "exceptions": [],
            "note": "Continuous 24/7 crypto model. Live quote freshness is taken from Biquote; a stale/frozen feed is not presented as live.",
            "holiday_schedule_policy": "continuous"
        }
    },
    "instruments": [
        {
            "id": "sp500",
            "name": "S&P 500",
            "category": "indices",
            "market_id": "us_equities",
            "exchange": "NYSE",
            "market_country": "United States",
            "market_timezone": "America/New_York",
            "source_url": "https://www.nyse.com/trade/hours-calendars",
            "info": "",
            "aliases": [
                "S&P500",
                "US 500",
                "SPX"
            ],
            "insight_capabilities": [
                "constituent_movers",
                "volatility",
                "news",
                "dividends",
                "partner_spreads"
            ],
            "data_source": "biquote",
            "data_symbol": "US500",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "CME Globex E-mini S&P 500 futures",
                "reference_timezone": "America/Chicago",
                "normal_hours": "Sunday-Friday 17:00-16:00 CT; daily 16:00-17:00 CT maintenance",
                "source_url": "https://www.cmegroup.com/markets/equities/sp/e-mini-sandp500.html",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "nasdaq100",
            "name": "Nasdaq 100",
            "category": "indices",
            "market_id": "us_equities",
            "exchange": "Nasdaq / U.S. cash equities",
            "market_country": "United States",
            "market_timezone": "America/New_York",
            "source_url": "https://www.nyse.com/trade/hours-calendars",
            "info": "",
            "aliases": [
                "Nasdaq",
                "US Tech 100",
                "USTEC",
                "NDX"
            ],
            "insight_capabilities": [
                "constituent_movers",
                "volatility",
                "news",
                "dividends",
                "partner_spreads"
            ],
            "data_source": "biquote",
            "data_symbol": "USTEC",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "CME Globex E-mini Nasdaq-100 futures",
                "reference_timezone": "America/Chicago",
                "normal_hours": "Sunday-Friday 17:00-16:00 CT; daily 16:00-17:00 CT maintenance",
                "source_url": "https://www.cmegroup.com/markets/equities/nasdaq/e-mini-nasdaq-100.html",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "dowjones",
            "name": "Dow Jones",
            "category": "indices",
            "market_id": "us_equities",
            "exchange": "U.S. cash equities",
            "market_country": "United States",
            "market_timezone": "America/New_York",
            "source_url": "https://www.nyse.com/trade/hours-calendars",
            "info": "",
            "aliases": [
                "Dow",
                "Dow 30",
                "US 30",
                "DJIA"
            ],
            "insight_capabilities": [
                "constituent_movers",
                "volatility",
                "news",
                "dividends",
                "partner_spreads"
            ],
            "data_source": "biquote",
            "data_symbol": "US30",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "CME Globex E-mini Dow futures",
                "reference_timezone": "America/Chicago",
                "normal_hours": "Sunday-Friday 17:00-16:00 CT; daily 16:00-17:00 CT maintenance",
                "source_url": "https://www.cmegroup.com/markets/equities/dow-jones/e-mini-dow.html",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "ftse100",
            "name": "FTSE 100",
            "category": "indices",
            "market_id": "uk_equities",
            "exchange": "London Stock Exchange",
            "market_country": "United Kingdom",
            "market_timezone": "Europe/London",
            "source_url": "https://www.londonstockexchange.com/discover/events/london-stock-exchange-market-ceremonies",
            "info": "",
            "aliases": [
                "FTSE",
                "UK 100"
            ],
            "insight_capabilities": [
                "constituent_movers",
                "volatility",
                "news",
                "dividends",
                "partner_spreads"
            ],
            "data_source": "biquote",
            "data_symbol": "UK100",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "ICE FTSE 100 Index Futures",
                "reference_timezone": "Europe/London",
                "normal_hours": "Monday-Friday 01:00-21:00 London time",
                "source_url": "https://www.ice.com/products/38716764",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "dax40",
            "name": "DAX 40",
            "category": "indices",
            "market_id": "xetra",
            "exchange": "Xetra",
            "market_country": "Germany",
            "market_timezone": "Europe/Berlin",
            "source_url": "https://www.cashmarket.deutsche-boerse.com/cash-en/trading/trading-calendar-and-trading-hours",
            "info": "",
            "aliases": [
                "DAX",
                "Germany 40",
                "GER40",
                "DE40"
            ],
            "insight_capabilities": [
                "constituent_movers",
                "volatility",
                "news",
                "dividends",
                "partner_spreads",
                "live_price",
                "volume"
            ],
            "data_source": "biquote",
            "data_symbol": "DE30",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "Xetra DAX regular cash session",
                "reference_timezone": "Europe/Berlin",
                "normal_hours": "Monday-Friday 09:00-17:30 Europe/Berlin, subject to the configured exchange holiday/special-session calendar",
                "source_url": "https://www.cashmarket.deutsche-boerse.com/cash-en/trading/trading-calendar-and-trading-hours",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "cac40",
            "name": "CAC 40",
            "category": "indices",
            "market_id": "euronext_paris",
            "exchange": "Euronext Paris",
            "market_country": "France",
            "market_timezone": "Europe/Paris",
            "source_url": "https://www.euronext.com/en/trade/trading-hours",
            "info": "",
            "aliases": [
                "France 40"
            ],
            "insight_capabilities": [
                "constituent_movers",
                "volatility",
                "news",
                "dividends",
                "partner_spreads",
                "live_price",
                "volume"
            ],
            "data_source": "biquote",
            "data_symbol": "FR40",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "Euronext Paris CAC 40 regular cash session",
                "reference_timezone": "Europe/Paris",
                "normal_hours": "Monday-Friday 09:00-17:30 Europe/Paris, subject to the configured exchange holiday/special-session calendar",
                "source_url": "https://www.euronext.com/en/trade/trading-hours",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "nikkei225",
            "name": "Nikkei 225",
            "category": "indices",
            "market_id": "tse_japan",
            "exchange": "Tokyo Stock Exchange",
            "market_country": "Japan",
            "market_timezone": "Asia/Tokyo",
            "source_url": "https://www.jpx.co.jp/english/equities/trading/domestic/01.html",
            "info": "",
            "aliases": [
                "Nikkei",
                "Japan 225"
            ],
            "insight_capabilities": [
                "constituent_movers",
                "partner_spreads",
                "news",
                "volume",
                "volatility",
                "dividends",
                "live_price"
            ],
            "data_symbol": "JP225",
            "data_source": "biquote",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "Tokyo Stock Exchange Nikkei 225 cash/reference session",
                "reference_timezone": "Asia/Tokyo",
                "normal_hours": "Monday-Friday 09:00-11:30 and 12:30-15:30 Asia/Tokyo, subject to the configured exchange holiday calendar",
                "source_url": "https://www.jpx.co.jp/english/equities/trading/domestic/01.html",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "hangseng",
            "name": "Hang Seng",
            "category": "indices",
            "market_id": "hkex",
            "exchange": "Hong Kong Stock Exchange",
            "market_country": "Hong Kong",
            "market_timezone": "Asia/Hong_Kong",
            "source_url": "https://www.hkex.com.hk/Global/Exchange/FAQ/Securities-Market?sc_lang=en",
            "info": "",
            "aliases": [
                "Hang Seng Index",
                "Hong Kong 50",
                "HK50"
            ],
            "insight_capabilities": [
                "constituent_movers",
                "volatility",
                "news",
                "dividends",
                "partner_spreads",
                "live_price",
                "volume"
            ],
            "data_source": "biquote",
            "data_symbol": "HK50",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "HKEX Hang Seng underlying cash-market reference session",
                "reference_timezone": "Asia/Hong_Kong",
                "normal_hours": "Monday-Friday 09:30-16:00 HKT with the configured 12:00-13:00 lunch break and exchange calendar exceptions",
                "source_url": "https://www.hkex.com.hk/Global/Exchange/FAQ/Securities-Market?sc_lang=en",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "asx200",
            "name": "ASX 200",
            "category": "indices",
            "market_id": "asx",
            "exchange": "Australian Securities Exchange",
            "market_country": "Australia",
            "market_timezone": "Australia/Sydney",
            "source_url": "https://www.asx.com.au/markets/market-resources/trading-hours-calendar",
            "info": "",
            "aliases": [
                "Australia 200"
            ],
            "insight_capabilities": [
                "constituent_movers",
                "volatility",
                "news",
                "dividends",
                "partner_spreads",
                "live_price",
                "volume"
            ],
            "data_source": "biquote",
            "data_symbol": "AUS200",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "ASX 200 underlying cash-market reference session",
                "reference_timezone": "Australia/Sydney",
                "normal_hours": "Monday-Friday practical reference 10:00-16:00 Australia/Sydney; ASX continuous trading transitions from the opening auction at about 09:59:45 with a randomised opening window, subject to the configured exchange holiday/special-session calendar",
                "source_url": "https://www.asx.com.au/markets/market-resources/trading-hours-calendar",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability.",
                "opening_boundary_note": "The checker uses 10:00 as the practical continuous-session boundary. ASX states normal trading transitions from the opening auction at about 09:59:45 with a randomised opening window, so second-level opening precision is intentionally not claimed."
            }
        },
        {
            "id": "eur-usd",
            "name": "EUR/USD",
            "category": "forex",
            "market_id": "forex_global",
            "exchange": "Global interbank FX market",
            "market_country": "Global",
            "market_timezone": "America/New_York",
            "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
            "info": "",
            "aliases": [],
            "insight_capabilities": [
                "market_movers",
                "volatility",
                "news"
            ],
            "data_source": "biquote",
            "data_symbol": "EURUSD",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "Global interbank FX trading week",
                "reference_timezone": "America/New_York",
                "normal_hours": "Sunday 17:00-Friday 17:00 ET convention",
                "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "gbp-usd",
            "name": "GBP/USD",
            "category": "forex",
            "market_id": "forex_global",
            "exchange": "Global interbank FX market",
            "market_country": "Global",
            "market_timezone": "America/New_York",
            "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
            "info": "",
            "aliases": [],
            "insight_capabilities": [
                "market_movers",
                "volatility",
                "news"
            ],
            "data_source": "biquote",
            "data_symbol": "GBPUSD",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "Global interbank FX trading week",
                "reference_timezone": "America/New_York",
                "normal_hours": "Sunday 17:00-Friday 17:00 ET convention",
                "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "usd-jpy",
            "name": "USD/JPY",
            "category": "forex",
            "market_id": "forex_global",
            "exchange": "Global interbank FX market",
            "market_country": "Global",
            "market_timezone": "America/New_York",
            "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
            "info": "",
            "aliases": [],
            "insight_capabilities": [
                "market_movers",
                "volatility",
                "news"
            ],
            "data_source": "biquote",
            "data_symbol": "USDJPY",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "Global interbank FX trading week",
                "reference_timezone": "America/New_York",
                "normal_hours": "Sunday 17:00-Friday 17:00 ET convention",
                "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "usd-chf",
            "name": "USD/CHF",
            "category": "forex",
            "market_id": "forex_global",
            "exchange": "Global interbank FX market",
            "market_country": "Global",
            "market_timezone": "America/New_York",
            "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
            "info": "",
            "aliases": [],
            "insight_capabilities": [
                "market_movers",
                "volatility",
                "news"
            ],
            "data_source": "biquote",
            "data_symbol": "USDCHF",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "Global interbank FX trading week",
                "reference_timezone": "America/New_York",
                "normal_hours": "Sunday 17:00-Friday 17:00 ET convention",
                "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "aud-usd",
            "name": "AUD/USD",
            "category": "forex",
            "market_id": "forex_global",
            "exchange": "Global interbank FX market",
            "market_country": "Global",
            "market_timezone": "America/New_York",
            "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
            "info": "",
            "aliases": [],
            "insight_capabilities": [
                "market_movers",
                "volatility",
                "news"
            ],
            "data_source": "biquote",
            "data_symbol": "AUDUSD",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "Global interbank FX trading week",
                "reference_timezone": "America/New_York",
                "normal_hours": "Sunday 17:00-Friday 17:00 ET convention",
                "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "nzd-usd",
            "name": "NZD/USD",
            "category": "forex",
            "market_id": "forex_global",
            "exchange": "Global interbank FX market",
            "market_country": "Global",
            "market_timezone": "America/New_York",
            "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
            "info": "",
            "aliases": [],
            "insight_capabilities": [
                "market_movers",
                "volatility",
                "news"
            ],
            "data_source": "biquote",
            "data_symbol": "NZDUSD",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "Global interbank FX trading week",
                "reference_timezone": "America/New_York",
                "normal_hours": "Sunday 17:00-Friday 17:00 ET convention",
                "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "usd-cad",
            "name": "USD/CAD",
            "category": "forex",
            "market_id": "forex_global",
            "exchange": "Global interbank FX market",
            "market_country": "Global",
            "market_timezone": "America/New_York",
            "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
            "info": "",
            "aliases": [],
            "insight_capabilities": [
                "market_movers",
                "volatility",
                "news"
            ],
            "data_source": "biquote",
            "data_symbol": "USDCAD",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "Global interbank FX trading week",
                "reference_timezone": "America/New_York",
                "normal_hours": "Sunday 17:00-Friday 17:00 ET convention",
                "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "eur-gbp",
            "name": "EUR/GBP",
            "category": "forex",
            "market_id": "forex_global",
            "exchange": "Global interbank FX market",
            "market_country": "Global",
            "market_timezone": "America/New_York",
            "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
            "info": "",
            "aliases": [],
            "insight_capabilities": [
                "market_movers",
                "volatility",
                "news"
            ],
            "data_source": "biquote",
            "data_symbol": "EURGBP",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "Global interbank FX trading week",
                "reference_timezone": "America/New_York",
                "normal_hours": "Sunday 17:00-Friday 17:00 ET convention",
                "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "eur-jpy",
            "name": "EUR/JPY",
            "category": "forex",
            "market_id": "forex_global",
            "exchange": "Global interbank FX market",
            "market_country": "Global",
            "market_timezone": "America/New_York",
            "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
            "info": "",
            "aliases": [],
            "insight_capabilities": [
                "market_movers",
                "volatility",
                "news"
            ],
            "data_source": "biquote",
            "data_symbol": "EURJPY",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "Global interbank FX trading week",
                "reference_timezone": "America/New_York",
                "normal_hours": "Sunday 17:00-Friday 17:00 ET convention",
                "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "gbp-jpy",
            "name": "GBP/JPY",
            "category": "forex",
            "market_id": "forex_global",
            "exchange": "Global interbank FX market",
            "market_country": "Global",
            "market_timezone": "America/New_York",
            "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
            "info": "",
            "aliases": [],
            "insight_capabilities": [
                "market_movers",
                "volatility",
                "news"
            ],
            "data_source": "biquote",
            "data_symbol": "GBPJPY",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "Global interbank FX trading week",
                "reference_timezone": "America/New_York",
                "normal_hours": "Sunday 17:00-Friday 17:00 ET convention",
                "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "eur-chf",
            "name": "EUR/CHF",
            "category": "forex",
            "market_id": "forex_global",
            "exchange": "Global interbank FX market",
            "market_country": "Global",
            "market_timezone": "America/New_York",
            "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
            "info": "",
            "aliases": [],
            "insight_capabilities": [
                "market_movers",
                "volatility",
                "news"
            ],
            "data_source": "biquote",
            "data_symbol": "EURCHF",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "Global interbank FX trading week",
                "reference_timezone": "America/New_York",
                "normal_hours": "Sunday 17:00-Friday 17:00 ET convention",
                "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "gbp-chf",
            "name": "GBP/CHF",
            "category": "forex",
            "market_id": "forex_global",
            "exchange": "Global interbank FX market",
            "market_country": "Global",
            "market_timezone": "America/New_York",
            "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
            "info": "",
            "aliases": [],
            "insight_capabilities": [
                "market_movers",
                "volatility",
                "news"
            ],
            "data_source": "biquote",
            "data_symbol": "GBPCHF",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "Global interbank FX trading week",
                "reference_timezone": "America/New_York",
                "normal_hours": "Sunday 17:00-Friday 17:00 ET convention",
                "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "aud-jpy",
            "name": "AUD/JPY",
            "category": "forex",
            "market_id": "forex_global",
            "exchange": "Global interbank FX market",
            "market_country": "Global",
            "market_timezone": "America/New_York",
            "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
            "info": "",
            "aliases": [],
            "insight_capabilities": [
                "market_movers",
                "volatility",
                "news"
            ],
            "data_source": "biquote",
            "data_symbol": "AUDJPY",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "Global interbank FX trading week",
                "reference_timezone": "America/New_York",
                "normal_hours": "Sunday 17:00-Friday 17:00 ET convention",
                "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "cad-jpy",
            "name": "CAD/JPY",
            "category": "forex",
            "market_id": "forex_global",
            "exchange": "Global interbank FX market",
            "market_country": "Global",
            "market_timezone": "America/New_York",
            "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
            "info": "",
            "aliases": [],
            "insight_capabilities": [
                "market_movers",
                "volatility",
                "news"
            ],
            "data_source": "biquote",
            "data_symbol": "CADJPY",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "Global interbank FX trading week",
                "reference_timezone": "America/New_York",
                "normal_hours": "Sunday 17:00-Friday 17:00 ET convention",
                "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "nzd-jpy",
            "name": "NZD/JPY",
            "category": "forex",
            "market_id": "forex_global",
            "exchange": "Global interbank FX market",
            "market_country": "Global",
            "market_timezone": "America/New_York",
            "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
            "info": "",
            "aliases": [],
            "insight_capabilities": [
                "market_movers",
                "volatility",
                "news"
            ],
            "data_source": "biquote",
            "data_symbol": "NZDJPY",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "Global interbank FX trading week",
                "reference_timezone": "America/New_York",
                "normal_hours": "Sunday 17:00-Friday 17:00 ET convention",
                "source_url": "https://www.cmegroup.com/education/courses/introduction-to-fx/understanding-fx-market-hours.html",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "gold",
            "name": "Gold",
            "category": "commodities",
            "market_id": "cme_metals",
            "exchange": "COMEX / CME Group",
            "market_country": "United States",
            "market_timezone": "America/Chicago",
            "source_url": "https://www.cmegroup.com/markets/metals/precious/gold.html",
            "info": "",
            "aliases": [
                "XAU/USD",
                "XAUUSD"
            ],
            "insight_capabilities": [
                "volume",
                "news",
                "market_movers",
                "volatility",
                "live_price"
            ],
            "data_symbol": "XAUUSD",
            "data_source": "biquote",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "COMEX Gold futures",
                "reference_timezone": "America/Chicago",
                "normal_hours": "Sunday-Friday 17:00-16:00 CT; daily 16:00-17:00 CT maintenance",
                "source_url": "https://www.cmegroup.com/trading-hours.html",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "silver",
            "name": "Silver",
            "category": "commodities",
            "market_id": "cme_metals",
            "exchange": "COMEX / CME Group",
            "market_country": "United States",
            "market_timezone": "America/Chicago",
            "source_url": "https://www.cmegroup.com/markets/metals/precious/gold.html",
            "info": "",
            "aliases": [
                "XAG/USD",
                "XAGUSD"
            ],
            "insight_capabilities": [
                "market_movers",
                "volatility",
                "news",
                "live_price",
                "volume"
            ],
            "data_source": "biquote",
            "data_symbol": "XAGUSD",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "CME Globex Silver futures reference session",
                "reference_timezone": "America/Chicago",
                "normal_hours": "Sunday-Friday 17:00-16:00 CT; daily 16:00-17:00 CT maintenance",
                "source_url": "https://www.cmegroup.com/markets/metals/precious/silver.html",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "copper",
            "name": "Copper",
            "category": "commodities",
            "market_id": "cme_metals",
            "exchange": "COMEX / CME Group",
            "market_country": "United States",
            "market_timezone": "America/Chicago",
            "source_url": "https://www.cmegroup.com/markets/metals/base/copper.html",
            "info": "",
            "aliases": [
                "HG Copper"
            ],
            "insight_capabilities": [
                "market_movers",
                "volatility",
                "news",
                "live_price",
                "volume"
            ],
            "data_source": "biquote",
            "data_symbol": "XCUUSD",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "CME Globex Copper futures reference session",
                "reference_timezone": "America/Chicago",
                "normal_hours": "Sunday-Friday 17:00-16:00 CT; daily 16:00-17:00 CT maintenance",
                "source_url": "https://www.cmegroup.com/markets/metals/base/copper.html",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "platinum",
            "name": "Platinum",
            "category": "commodities",
            "market_id": "cme_metals",
            "exchange": "COMEX / CME Group",
            "market_country": "United States",
            "market_timezone": "America/Chicago",
            "source_url": "https://www.cmegroup.com/markets/metals/precious/gold.html",
            "info": "",
            "aliases": [],
            "insight_capabilities": [
                "market_movers",
                "volatility",
                "news",
                "live_price",
                "volume"
            ],
            "data_source": "biquote",
            "data_symbol": "XPTUSD",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "CME Globex Platinum futures reference session",
                "reference_timezone": "America/Chicago",
                "normal_hours": "Sunday-Friday 17:00-16:00 CT; daily 16:00-17:00 CT maintenance",
                "source_url": "https://www.cmegroup.com/markets/metals/precious/platinum.html",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "palladium",
            "name": "Palladium",
            "category": "commodities",
            "market_id": "cme_metals",
            "exchange": "COMEX / CME Group",
            "market_country": "United States",
            "market_timezone": "America/Chicago",
            "source_url": "https://www.cmegroup.com/markets/metals/precious/gold.html",
            "info": "",
            "aliases": [],
            "insight_capabilities": [
                "market_movers",
                "volatility",
                "news",
                "live_price",
                "volume"
            ],
            "data_source": "biquote",
            "data_symbol": "XPDUSD",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "CME Globex Palladium futures reference session",
                "reference_timezone": "America/Chicago",
                "normal_hours": "Sunday-Friday 17:00-16:00 CT; daily 16:00-17:00 CT maintenance",
                "source_url": "https://www.cmegroup.com/markets/metals/precious/palladium.html",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "wti-crude",
            "name": "WTI Crude Oil",
            "category": "commodities",
            "market_id": "cme_energy",
            "exchange": "NYMEX / CME Group",
            "market_country": "United States",
            "market_timezone": "America/Chicago",
            "source_url": "https://www.cmegroup.com/markets/energy/crude-oil/light-sweet-crude.html",
            "info": "",
            "aliases": [
                "WTI",
                "US Oil",
                "Crude Oil"
            ],
            "insight_capabilities": [
                "market_movers",
                "volatility",
                "news"
            ],
            "data_source": "biquote",
            "data_symbol": "USOIL",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "NYMEX WTI Crude Oil futures",
                "reference_timezone": "America/Chicago",
                "normal_hours": "Sunday-Friday 17:00-16:00 CT; daily 16:00-17:00 CT maintenance",
                "source_url": "https://www.cmegroup.com/trading-hours.html",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "natural-gas",
            "name": "Natural Gas",
            "category": "commodities",
            "market_id": "cme_energy",
            "exchange": "NYMEX / CME Group",
            "market_country": "United States",
            "market_timezone": "America/Chicago",
            "source_url": "https://www.cmegroup.com/markets/energy/natural-gas/natural-gas.html",
            "info": "",
            "aliases": [
                "Nat Gas",
                "US Natural Gas"
            ],
            "insight_capabilities": [
                "market_movers",
                "volatility",
                "news",
                "live_price",
                "volume"
            ],
            "data_source": "biquote",
            "data_symbol": "XNGUSD",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "CME Globex Henry Hub Natural Gas futures reference session",
                "reference_timezone": "America/Chicago",
                "normal_hours": "Sunday-Friday 17:00-16:00 CT; daily 16:00-17:00 CT maintenance",
                "source_url": "https://www.cmegroup.com/markets/energy/natural-gas/natural-gas.html",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "brent-crude",
            "name": "Brent Crude Oil",
            "category": "commodities",
            "market_id": "ice_brent",
            "exchange": "ICE Futures Europe",
            "market_country": "United Kingdom",
            "market_timezone": "Europe/London",
            "source_url": "https://www.ice.com/products/219/Brent-Crude-Futures",
            "info": "",
            "aliases": [
                "Brent",
                "UK Oil"
            ],
            "insight_capabilities": [
                "market_movers",
                "volatility",
                "news",
                "live_price",
                "volume"
            ],
            "data_source": "biquote",
            "data_symbol": "UKOIL",
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary SignalR tick stream with REST failover; cached last-good display if both transports fail."
            },
            "session_context": {
                "display_model": "regular_plus_out_of_hours",
                "reference_session": "ICE Brent Crude Futures reference session",
                "reference_timezone": "Europe/London",
                "normal_hours": "ICE Brent regular/reference schedule with configured overnight session break",
                "source_url": "https://www.ice.com/products/219/Brent-Crude-Futures",
                "out_of_hours_note": "Regular/reference session state is kept separate from provider-specific derivative/CFD dealing availability."
            }
        },
        {
            "id": "bitcoin",
            "name": "Bitcoin (BTC)",
            "category": "crypto",
            "market_id": "crypto_24_7",
            "exchange": "Global crypto spot market",
            "market_country": "Global",
            "market_timezone": "UTC",
            "source_url": "https://biquote.io/crypto",
            "info": "",
            "aliases": [
                "Bitcoin",
                "BTC",
                "BTC/USD",
                "BTCUSD",
                "BTC/USDT"
            ],
            "data_symbol": "BTCUSDT",
            "insight_capabilities": [
                "live_price",
                "volatility",
                "volume",
                "crypto_movers",
                "news"
            ],
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary Biquote SignalR tick stream with Biquote REST failover; cached last-good display if both browser-direct transports fail."
            },
            "session_context": {
                "display_model": "continuous_24_7",
                "reference_session": "Global crypto market \u00b7 Biquote real-time feed",
                "reference_timezone": "UTC",
                "normal_hours": "24/7 continuous market model",
                "source_url": "https://biquote.io/docs/",
                "out_of_hours_note": "Crypto is modelled as continuous 24/7; Biquote feed freshness determines whether the live quote is currently flowing."
            },
            "data_source": "biquote"
        },
        {
            "id": "ethereum",
            "name": "Ethereum (ETH)",
            "category": "crypto",
            "market_id": "crypto_24_7",
            "exchange": "Global crypto spot market",
            "market_country": "Global",
            "market_timezone": "UTC",
            "source_url": "https://biquote.io/crypto",
            "info": "",
            "aliases": [
                "Ethereum",
                "ETH",
                "ETH/USD",
                "ETHUSD",
                "ETH/USDT"
            ],
            "data_symbol": "ETHUSDT",
            "insight_capabilities": [
                "live_price",
                "volatility",
                "volume",
                "crypto_movers",
                "news"
            ],
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary Biquote SignalR tick stream with Biquote REST failover; cached last-good display if both browser-direct transports fail."
            },
            "session_context": {
                "display_model": "continuous_24_7",
                "reference_session": "Global crypto market \u00b7 Biquote real-time feed",
                "reference_timezone": "UTC",
                "normal_hours": "24/7 continuous market model",
                "source_url": "https://biquote.io/docs/",
                "out_of_hours_note": "Crypto is modelled as continuous 24/7; Biquote feed freshness determines whether the live quote is currently flowing."
            },
            "data_source": "biquote"
        },
        {
            "id": "bnb",
            "name": "BNB",
            "category": "crypto",
            "market_id": "crypto_24_7",
            "exchange": "Global crypto spot market",
            "market_country": "Global",
            "market_timezone": "UTC",
            "source_url": "https://biquote.io/crypto",
            "info": "",
            "aliases": [
                "Binance Coin",
                "BNB/USD",
                "BNBUSD",
                "BNB/USDT"
            ],
            "data_symbol": "BNBUSDT",
            "insight_capabilities": [
                "live_price",
                "volatility",
                "volume",
                "crypto_movers",
                "news"
            ],
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary Biquote SignalR tick stream with Biquote REST failover; cached last-good display if both browser-direct transports fail."
            },
            "session_context": {
                "display_model": "continuous_24_7",
                "reference_session": "Global crypto market \u00b7 Biquote real-time feed",
                "reference_timezone": "UTC",
                "normal_hours": "24/7 continuous market model",
                "source_url": "https://biquote.io/docs/",
                "out_of_hours_note": "Crypto is modelled as continuous 24/7; Biquote feed freshness determines whether the live quote is currently flowing."
            },
            "data_source": "biquote"
        },
        {
            "id": "xrp",
            "name": "XRP",
            "category": "crypto",
            "market_id": "crypto_24_7",
            "exchange": "Global crypto spot market",
            "market_country": "Global",
            "market_timezone": "UTC",
            "source_url": "https://biquote.io/crypto",
            "info": "",
            "aliases": [
                "Ripple",
                "XRP/USD",
                "XRPUSD",
                "XRP/USDT"
            ],
            "data_symbol": "XRPUSDT",
            "insight_capabilities": [
                "live_price",
                "volatility",
                "volume",
                "crypto_movers",
                "news"
            ],
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary Biquote SignalR tick stream with Biquote REST failover; cached last-good display if both browser-direct transports fail."
            },
            "session_context": {
                "display_model": "continuous_24_7",
                "reference_session": "Global crypto market \u00b7 Biquote real-time feed",
                "reference_timezone": "UTC",
                "normal_hours": "24/7 continuous market model",
                "source_url": "https://biquote.io/docs/",
                "out_of_hours_note": "Crypto is modelled as continuous 24/7; Biquote feed freshness determines whether the live quote is currently flowing."
            },
            "data_source": "biquote"
        },
        {
            "id": "solana",
            "name": "Solana (SOL)",
            "category": "crypto",
            "market_id": "crypto_24_7",
            "exchange": "Global crypto spot market",
            "market_country": "Global",
            "market_timezone": "UTC",
            "source_url": "https://biquote.io/crypto",
            "info": "",
            "aliases": [
                "Solana",
                "SOL",
                "SOL/USD",
                "SOLUSD",
                "SOL/USDT"
            ],
            "data_symbol": "SOLUSDT",
            "insight_capabilities": [
                "live_price",
                "volatility",
                "volume",
                "crypto_movers",
                "news"
            ],
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary Biquote SignalR tick stream with Biquote REST failover; cached last-good display if both browser-direct transports fail."
            },
            "session_context": {
                "display_model": "continuous_24_7",
                "reference_session": "Global crypto market \u00b7 Biquote real-time feed",
                "reference_timezone": "UTC",
                "normal_hours": "24/7 continuous market model",
                "source_url": "https://biquote.io/docs/",
                "out_of_hours_note": "Crypto is modelled as continuous 24/7; Biquote feed freshness determines whether the live quote is currently flowing."
            },
            "data_source": "biquote"
        },
        {
            "id": "dogecoin",
            "name": "Dogecoin (DOGE)",
            "category": "crypto",
            "market_id": "crypto_24_7",
            "exchange": "Global crypto spot market",
            "market_country": "Global",
            "market_timezone": "UTC",
            "source_url": "https://biquote.io/crypto",
            "info": "",
            "aliases": [
                "Dogecoin",
                "DOGE",
                "DOGE/USD",
                "DOGEUSD",
                "DOGE/USDT"
            ],
            "data_symbol": "DOGEUSDT",
            "insight_capabilities": [
                "live_price",
                "volatility",
                "volume",
                "crypto_movers",
                "news"
            ],
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary Biquote SignalR tick stream with Biquote REST failover; cached last-good display if both browser-direct transports fail."
            },
            "session_context": {
                "display_model": "continuous_24_7",
                "reference_session": "Global crypto market \u00b7 Biquote real-time feed",
                "reference_timezone": "UTC",
                "normal_hours": "24/7 continuous market model",
                "source_url": "https://biquote.io/docs/",
                "out_of_hours_note": "Crypto is modelled as continuous 24/7; Biquote feed freshness determines whether the live quote is currently flowing."
            },
            "data_source": "biquote"
        },
        {
            "id": "cardano",
            "name": "Cardano (ADA)",
            "category": "crypto",
            "market_id": "crypto_24_7",
            "exchange": "Global crypto spot market",
            "market_country": "Global",
            "market_timezone": "UTC",
            "source_url": "https://biquote.io/crypto",
            "info": "",
            "aliases": [
                "Cardano",
                "ADA",
                "ADA/USD",
                "ADAUSD",
                "ADA/USDT"
            ],
            "data_symbol": "ADAUSDT",
            "insight_capabilities": [
                "live_price",
                "volatility",
                "volume",
                "crypto_movers",
                "news"
            ],
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary Biquote SignalR tick stream with Biquote REST failover; cached last-good display if both browser-direct transports fail."
            },
            "session_context": {
                "display_model": "continuous_24_7",
                "reference_session": "Global crypto market \u00b7 Biquote real-time feed",
                "reference_timezone": "UTC",
                "normal_hours": "24/7 continuous market model",
                "source_url": "https://biquote.io/docs/",
                "out_of_hours_note": "Crypto is modelled as continuous 24/7; Biquote feed freshness determines whether the live quote is currently flowing."
            },
            "data_source": "biquote"
        },
        {
            "id": "tron",
            "name": "TRON (TRX)",
            "category": "crypto",
            "market_id": "crypto_24_7",
            "exchange": "Global crypto spot market",
            "market_country": "Global",
            "market_timezone": "UTC",
            "source_url": "https://biquote.io/crypto",
            "info": "",
            "aliases": [
                "TRON",
                "TRX",
                "TRX/USD",
                "TRXUSD",
                "TRX/USDT"
            ],
            "data_symbol": "TRXUSDT",
            "insight_capabilities": [
                "live_price",
                "volatility",
                "volume",
                "crypto_movers",
                "news"
            ],
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary Biquote SignalR tick stream with Biquote REST failover; cached last-good display if both browser-direct transports fail."
            },
            "session_context": {
                "display_model": "continuous_24_7",
                "reference_session": "Global crypto market \u00b7 Biquote real-time feed",
                "reference_timezone": "UTC",
                "normal_hours": "24/7 continuous market model",
                "source_url": "https://biquote.io/docs/",
                "out_of_hours_note": "Crypto is modelled as continuous 24/7; Biquote feed freshness determines whether the live quote is currently flowing."
            },
            "data_source": "biquote"
        },
        {
            "id": "avalanche",
            "name": "Avalanche (AVAX)",
            "category": "crypto",
            "market_id": "crypto_24_7",
            "exchange": "Global crypto spot market",
            "market_country": "Global",
            "market_timezone": "UTC",
            "source_url": "https://biquote.io/crypto",
            "info": "",
            "aliases": [
                "Avalanche",
                "AVAX",
                "AVAX/USD",
                "AVAXUSD",
                "AVAX/USDT"
            ],
            "data_symbol": "AVAXUSDT",
            "insight_capabilities": [
                "live_price",
                "volatility",
                "volume",
                "crypto_movers",
                "news"
            ],
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary Biquote SignalR tick stream with Biquote REST failover; cached last-good display if both browser-direct transports fail."
            },
            "session_context": {
                "display_model": "continuous_24_7",
                "reference_session": "Global crypto market \u00b7 Biquote real-time feed",
                "reference_timezone": "UTC",
                "normal_hours": "24/7 continuous market model",
                "source_url": "https://biquote.io/docs/",
                "out_of_hours_note": "Crypto is modelled as continuous 24/7; Biquote feed freshness determines whether the live quote is currently flowing."
            },
            "data_source": "biquote"
        },
        {
            "id": "chainlink",
            "name": "Chainlink (LINK)",
            "category": "crypto",
            "market_id": "crypto_24_7",
            "exchange": "Global crypto spot market",
            "market_country": "Global",
            "market_timezone": "UTC",
            "source_url": "https://biquote.io/crypto",
            "info": "",
            "aliases": [
                "Chainlink",
                "LINK",
                "LINK/USD",
                "LINKUSD",
                "LINK/USDT"
            ],
            "data_symbol": "LINKUSDT",
            "insight_capabilities": [
                "live_price",
                "volatility",
                "volume",
                "crypto_movers",
                "news"
            ],
            "feed_policy": {
                "primary": "biquote_signalr",
                "backup": "biquote_rest",
                "last_good_cache": true,
                "stale_after_seconds": 12,
                "note": "Primary Biquote SignalR tick stream with Biquote REST failover; cached last-good display if both browser-direct transports fail."
            },
            "session_context": {
                "display_model": "continuous_24_7",
                "reference_session": "Global crypto market \u00b7 Biquote real-time feed",
                "reference_timezone": "UTC",
                "normal_hours": "24/7 continuous market model",
                "source_url": "https://biquote.io/docs/",
                "out_of_hours_note": "Crypto is modelled as continuous 24/7; Biquote feed freshness determines whether the live quote is currently flowing."
            },
            "data_source": "biquote"
        }
    ],
    "dataset_version": "0.66.0",
    "plugin_version": "0.66.0",
    "notes": "v0.66.0: 42 retained instruments, all Biquote browser-direct. Removed 20 Yahoo-only instruments; moved the existing 10 crypto instruments to Biquote. No new markets."
}