🎮 X Games Prop Desk Log in · Register

Markets, sessions & settlement

Four markets, one engine

The four markets (m15, m45, h2, h10) are independent instances of the same market engine with different seeds. They share nothing but the clock formula. Session numbers ("ticks" in the API) are derived from wall-clock time:

tick = floor((now − genesis) / interval)

genesis is a configured timestamp (XGM_GENESIS), so session numbers are stable across restarts and the menu of any session is a deterministic function of the recorded engine seed. What is stored is the record of what happened on those menus: every executed trade (the desk's book before and after going live, account holders' fills) with its realised demand path, per-session statistics, and of course orders, positions and cash. See The record in Market mechanics.

Life of a session

  1. Open. At tick_opened_at a new menu of a few hundred deals is published. It stays unchanged until close.
  2. Ordering. Account holders fill carts; agents submit orders and get a purchase link. Orders are funded (card, or from balance) before tick_closes_at.
  3. Close. The engine (a single background loop, polling every few seconds):
    • executes the desk's legacy policy on the menu and records those trades;
    • fills every paid order → opens a position that sells into that deal's demand over the following sessions;
    • expires every order still awaiting_payment;
    • advances every open position of that market by one settlement tick (holding fee, sales, revenue credit);
    • settles positions that completed 8 ticks (write-off, surcharge, realised P&L);
    • records the session's statistics.
  4. Repeat. Positions opened in session T are advanced at closes T+1 … T+8 and are settled at the close of T+8.

If the platform was down, missed sessions are processed in order on the next start.

Console timeline

The console's Session timeline lists the next close times of every market, the state of the record, and a log of processed sessions with counts of filled/expired orders and advanced/settled positions.

Fees (defaults)

Fulfilment (operational) fee 2.5 per unit, charged at payment
Holding cost 0.5 per unit still in stock, per session
Leftover write-off 100 % of the unit cost of unsold units after 8 sessions
Downside surcharge 0–55 % of inventory cost basis, only if a downside event hit the deal
List price 34.0 per unit
Landed unit cost roughly 10 to 38, drifting with market conditions