Pyth tick
pricing-service subscribes to Pyth Hermes via SSE. Raw 18-decimal-normalized OraclePrice arrives sub-second from the Pyth aggregator network.
Every Forexiz quote is referenced to a Pyth Network first-party feed. The pricing-service subscribes to Pyth Hermes via SSE; the bid/ask you see is derived from the live Pyth tick plus a per-symbol spread.
Three deterministic steps. Same BigInt math runs in the pricing-service, the matcher, and the audit reproducer — they all derive the same byte-for-byte quote from the same Pyth tick.
pricing-service subscribes to Pyth Hermes via SSE. Raw 18-decimal-normalized OraclePrice arrives sub-second from the Pyth aggregator network.
BigInt fixed-point math derives a mid quote per instrument. Normalized to 18 decimals; no float math anywhere in the path.
Per-symbol spread (in basis points) applied to the mid. The bid/ask you see on the trade ticket is the same bid/ask the matching engine uses.
Pyth has direct FX/metals coverage from the actual market makers — Jane Street, Jump, Hudson River, Wintermute, Two Sigma. Chainlink FX feeds are sparser and largely sourced from second-tier aggregators.
Pyth's pull architecture lets us subscribe to Hermes at sub-second cadence without paying per-update on every block. Push oracles charge for a price you may never read.
Pyth publishes a confidence interval alongside every price. We use it to widen spreads and trip circuit breakers without ad-hoc heuristics — accept ticks within tolerance, reject the rest.
FX markets sleep weekends. The pricing-service enforces the 24/5 session window (Sun 22:00 → Fri 22:00 UTC) on every quote. Outside the session, feeds reportdegradedand the trade ticket disables. No quotes are issued from stale data.
They should always agree, modulo network latency and our spread.