CRXDocs

Pricing & Rate Sources

Why are there three different prices?

Because they answer three different questions, at three different moments. Confusing them is the most common mistake a new integrator makes.

PriceWhenSourceBinding?
Indicative spotwhile you browsePyth Hermes spotno
On-chain markevery day a trade is openper-pair FX oraclefor margin only
Fixingonce, at the fixing dateFX oracle, on/after fixingyes — settles the trade

What is the indicative price?

The spot rate shown on the desk before you trade. It comes straight from Pyth Hermes and refreshes every few seconds. It is there to inform a quote, not to bind one.

Indicative, not firm. The rate you see is not the rate you get. A maker's signed quote is the firm price. See RFQ Relayer (~3 min).

What is the on-chain mark?

The rate the contract uses to margin an open position. It is pulled from the per-pair FX oracle on every variation-margin cycle. It keeps the trade solvent — it does not settle it. A pair that has not traded recently can carry a mark that looks old; that is by design, because the mark is only read when margin is computed. See Oracle (~3 min).

What is the fixing?

The single rate that settles the trade. At the fixing date the contract reads the FX oracle once, and requires that the price was published on or after the fixing date — a rate observed too early is rejected. The payoff is computed against that one number, and the trade clears in cash. See Calendar & Sessions (~3 min).

This is the only price that moves money at settlement. Everything before it is preparation.

Next: Liquidation & Default Waterfall (~5 min) — what happens when a party cannot pay.