Market Hours Handling

ETF prices are only available during market hours. This page explains how our oracle handles market closures.

The Challenge

Unlike crypto (24/7), ETFs trade on fixed schedules:

  • US markets: 9:30 AM - 4:00 PM ET (plus extended hours)

  • Korean markets: 9:00 AM - 3:30 PM KST

  • Weekends and holidays: No trading

But Rubicon offers 24/7 perpetual trading. How do we reconcile this?

Our Approach: Price Freezing

When markets close:

  1. Oracle captures last traded price

  2. Price frozen until market reopens

  3. Trading continues with frozen price

  4. Funding continues based on mark vs frozen oracle

Market Open          Market Close         Market Open
     │                    │                    │
     ▼                    ▼                    ▼
[Live prices]────────[Frozen]────────────[Live prices]
   $225.00             $228.50               $225.00
      ↑                   ↑                      ↑
   Updating            Static              Updating again

Session Definitions

US Markets (SOXX)

Session
Hours (ET)
Oracle Status

Pre-Market

4:00 AM - 9:30 AM

LIVE (extended data)

Regular

9:30 AM - 4:00 PM

LIVE

After-Hours

4:00 PM - 8:00 PM

LIVE (extended data)

Closed

8:00 PM - 4:00 AM

FROZEN

Korean Markets (.KS)

Session
Hours (KST)
Oracle Status

Regular

9:00 AM - 3:30 PM

LIVE

Closed

3:30 PM - 9:00 AM

FROZEN

What Freezing Means

For Oracle Price

  • Last valid price becomes the frozen price

  • No updates until market reopens

  • Used for liquidation calculations

For Mark Price

  • May deviate slightly from frozen oracle

  • Based on order book activity

  • EMA smoothing continues

For Funding

  • Funding rate based on mark vs frozen oracle

  • If traders bid up the perp, longs pay shorts

  • Creates incentive to trade close to oracle

Implementation

State Persistence

Market Status Detection

Submission During Closure

Behavior by Scenario

Scenario 1: Weeknight Closure

Scenario 2: Holiday

Scenario 3: Gap Open

Risk Implications

Gap Risk

When markets reopen:

  • Price may jump significantly

  • Stops don't protect against gaps

  • Liquidations trigger at new price

Mitigation:

  • Lower leverage for overnight holds

  • Wider stops to account for gaps

  • Consider closing before market close

Stale Price Risk

During closure:

  • Perp price may deviate from "true" value

  • News can't be reflected in oracle

  • Funding reflects this deviation

Mitigation:

  • Trading volume typically lower during closure

  • Arbitrageurs correct deviations at open

  • Funding compensates for deviation

UI Indicators

The trading interface shows:

Indicator
Meaning

🟢 LIVE

Market open, oracle updating

🟡 EXTENDED

Pre/after hours, oracle updating

🔴 CLOSED

Market closed, oracle frozen

⚠️ STALE

Oracle issue, check status

Calendar Awareness

Our system knows:

  • Standard market hours

  • Daylight saving time changes

  • US market holidays

  • Korean market holidays

  • Early close days

We update the calendar annually and after exchange announcements.

Trader Recommendations

Before Market Close

  • Review open positions

  • Set wider stops if holding overnight

  • Consider reducing leverage

  • Watch for after-hours news

During Closure

  • Understand you're trading against frozen price

  • Monitor funding rate direction

  • Be aware of gap risk at open

At Market Open

  • Watch for volatility in first 30 minutes

  • Gaps may trigger liquidations

  • Spreads may be wider initially

Last updated