RWA Market Hours
Pro
GET /rwa/market-hours
UTC trading-session intervals for global TradFi and RWA-linked venues. Returns current tradable status, current/next tradable sessions, sessions inside a requested UTC window, and upcoming full-day exchange holidays. Use it to align RWA perpetuals, HIP-3/HIP-4 markets, and tradable synthetic assets with the underlying venue schedule.
Authentication
Requires Pro tier or higher. Free and Dev tiers do not have access (returns 403).
Parameters
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
date | string | – | UTC window start date in YYYY-MM-DD format. Defaults to the current UTC date. |
days | integer | – | Number of UTC days to return, from 1 to 14. Defaults to 1. |
exchange | string | – | Comma-separated exchange MICs, ids, or short names, e.g. XKRX, XNYS, krx, nyse. Defaults to all exchanges. |
as_of | string | – | ISO-8601 timestamp used for current open status. Defaults to now. Returned status is normalized to UTC. |
Example request
bash
curl -H "X-Api-Key: lk_live_your_key_here" \
"https://api.loris.tools/rwa/market-hours?exchange=XKRX&date=2026-03-03&as_of=2026-03-03T00:30:00Z"Example response
json
{
"timestamp": "2026-03-03T00:30:00Z",
"as_of_utc": "2026-03-03T00:30:00Z",
"timezone": "UTC",
"window": {
"start_utc": "2026-03-03T00:00:00Z",
"end_utc": "2026-03-04T00:00:00Z",
"days": 1
},
"coverage": {
"exchange_count": 1,
"holiday_years": [2025, 2026, 2027],
"notes": [
"Session open_utc and close_utc are ISO-8601 UTC timestamps.",
"is_open and next_session only consider tradable sessions.",
"Full-day holidays are excluded from generated sessions.",
"Configured session overrides are applied before recurring sessions."
]
},
"exchanges": [
{
"id": "krx",
"name": "Korea Exchange (KOSPI/KOSDAQ)",
"short_name": "KRX",
"mic": "XKRX",
"region": "asia",
"timezone": "Asia/Seoul",
"categories": ["equities"],
"schedule_url": "https://global.krx.co.kr/contents/GLB/01/0109/0109000000/guide_to_trading_in_the_korean_stock_market.pdf",
"as_of_local": "2026-03-03T09:30:00+09:00",
"is_open": true,
"current_session": {
"type": "regular",
"label": "Open",
"local_date": "2026-03-03",
"local_open": "09:00",
"local_close": "15:30",
"open_utc": "2026-03-03T00:00:00Z",
"close_utc": "2026-03-03T06:30:00Z",
"is_overnight": false,
"is_tradable": true
},
"next_session": null,
"is_holiday": false,
"holiday_name": null,
"sessions": [
{
"type": "regular",
"label": "Open",
"local_date": "2026-03-03",
"local_open": "09:00",
"local_close": "15:30",
"open_utc": "2026-03-03T00:00:00Z",
"close_utc": "2026-03-03T06:30:00Z",
"is_overnight": false,
"is_tradable": true
}
],
"upcoming_holidays": [
{
"date": "2026-05-01",
"name": "Labor Day"
}
]
}
]
}Errors
400— Invalid date, days, as_of, or exchange filter.403— Your tier does not have access. Upgrade to Pro.
For authentication errors (401) and rate limit responses (429), see Errors.