CSL
Esc
Type to search - leverage, funding, liquidation, oracle…
Protocol / Price Oracle

Price Oracle

Every mark price on CSL is derived from live skin-market data - never an internal quote. Two independent marketplaces feed it, and their disagreement is a feature, not a bug.

Two sources, one median

CSL reads live listing data from two established skin marketplaces in parallel:

SourceWhat we read
SkinportLowest live listing for the exact item.
CSFloatLowest live listing for the exact item.

For every market we track one canonical market_hash_name, wear included - e.g. AWP | Dragon Lore (Field-Tested) - so the price always refers to one specific skin at one specific wear, the tier shown by the badge in the terminal.

i
Two sources matter because a single marketplace can be pushed. When Skinport and CSFloat disagree, the oracle trusts neither blindly - it takes the middle.

The pipeline

  1. Both marketplaces are polled on a fixed interval for every tracked item.
  2. Quotes are normalised to USD.
  3. Outlier guard - a source that deviates too far from the group median is dropped for that refresh.
  4. Median of the survivors becomes this refresh's raw spot price.
  5. EMA smoothing - the raw spot is folded into an exponential moving average, so the mark absorbs a sustained move but shrugs off a single print.
  6. The mark streams to every open terminal in real time and is aggregated into candles server-side.

Mark price vs spot

The number you trade against is the mark - the smoothed median - not the raw listing you might see on a marketplace at any instant. This is deliberate: it means one person relisting an item a few dollars cheaper cannot instantly move your liquidation price.

Skinport lowest ─┐
                 ├─ drop outliers ─ median ─ EMA ─ MARK PRICE
CSFloat  lowest ─┘

Manipulation resistance

Skin order books are thin compared to crypto, so the oracle is built to be hard to shove:

  • Two independent venues - moving the mark means moving both, at once, in the same direction;
  • Outlier rejection - a lone absurd listing is discarded before it reaches the median;
  • EMA smoothing - even a real move is absorbed gradually, so a flash spike self-corrects before it liquidates anyone;
  • Stale-price guard - if a feed stops updating, trading on that market halts rather than running on a rotting price;
  • Open-interest caps - the payoff from pushing a price is bounded by how much size can sit on that market (see Markets).

Why the wear is fixed

A Factory New Dragon Lore and a Field-Tested one are different assets with different prices. Each CSL market is pinned to exactly one wear - the tier that actually carries volume - so the mark is always comparing like with like. The badge next to a market name tells you which wear its price follows.