Skip to main content

Summary

Joyride runs on a 24/7 schedule.
  • Trading rounds are 24 hours
  • Settlement happens at 08:00 UTC
  • All timing in this guide is UTC
Joyride currently lists same-day (0DTE) instruments. At each daily rollover, the expiring round is settled and the next round is bootstrapped.

Daily schedule

Round duration

Each trading round lasts 24 hours. The public market config endpoint exposes the same policy in machine-readable form:
  • GET /v1/market/config
Key fields:
  • round_duration_hours
  • round_epoch

Settlement time

Options settle at 08:00 UTC on the expiration date encoded in the instrument ID. Example:
  • SOL_USDC-12MAR26-150-C settles at 08:00 UTC on March 12, 2026

TWAP window

The settlement TWAP window begins 30 minutes before settlement. For the standard 24-hour round:
  • TWAP window start: 07:30 UTC
  • Settlement: 08:00 UTC
The oracle settlement endpoint exposes the live countdown:
  • GET /v1/oracle/settlement
Key fields:
  • next_settlement
  • twap_window_start
  • seconds_to_twap_window
  • seconds_to_settlement
  • in_twap_window

What happens at rollover

When a round expires:
  • expired instruments stop trading
  • open orders on expired instruments are cancelled
  • positions in the expired round are settled
  • next-round instruments are created and broadcast
For client behavior, assume rollover can change the available instrument list immediately around settlement.

What traders and agents should expect

Before settlement

  • instruments for the current round remain tradable until expiry
  • agents should prefer live instrument discovery over cached IDs
  • settlement countdown data comes from GET /v1/oracle/settlement

At settlement

  • requests against expired instruments can fail with 1009 (Market closed or instrument expired)
  • authenticated sessions can receive settlement updates on the settlement channel
  • authenticated clients can receive a settlement_complete event when the round finishes

After settlement

  • the previous round is no longer tradable
  • the next round’s instruments are available after bootstrap
  • clients should refresh instrument lists instead of assuming the previous set is still valid
  • Treat instrument IDs as short-lived for 0DTE workflows.
  • Query live instruments at the start of each session.
  • Refresh instruments again if you are near 08:00 UTC.
  • Use UTC consistently in logs, prompts, and dashboards.
For most agents, the safe pattern is:
  1. list_instruments
  2. pick a current instrument ID
  3. trade or quote it
  4. re-check instruments if settlement is approaching