sifting/io
Fair Price Methodology

One price. Engineered to be hard to fool.

For every symbol we publish a single fair price aggregated from multiple independent venues, not a raw exchange feed. It is built on standard robust-statistics methods so that a stale, frozen, or manipulated venue cannot move your price. This page documents exactly how that number is formed: the methods, the math, and the limits we will not pretend away.

Volume-weighted robust medianPer-venue reputation scoringDelivered up to 10 Hz
First principles

What the design guarantees.

Robust by construction

The fair price is a weighted median, not an average. A median has a 50% breakdown point: more than half of contributing venues must be wrong, in the same direction, before the output is wrong. One bad feed moves an average. It does not move ours.

Never gate publishing

Even if every venue is degraded, the engine falls back to the least-bad source and still emits a price, flagged internally as degraded. A price feed that goes silent is worse than useless. Ours fails soft.

Independent venues

We aggregate venues that share no infrastructure and no operator. Independence is what makes coordinated corruption rare, and it is the reason adding sources strengthens, rather than dilutes, the result.

Transparent & versioned

The method is published and version-tagged on the wire. The exact thresholds are part of the calibration we tune continuously; the algorithm and its guarantees do not change without a version bump.

The pipeline

Every quote runs the same gauntlet.

The engine recomputes each symbol’s fair price continuously, in near real time: it takes the freshest quote from every venue and runs it through a layered pipeline with minimal latency. How often that value reaches you is a delivery choice set by your plan, but the gauntlet behind every price is identical, from the free tier to an enterprise SLA.

Stage 1 · Validate

Reject what can't be trusted

  • Freshness gateAny venue quote older than a strict staleness window is dropped before it can influence the price.
  • Hard outlier killAny price more than a fixed fraction away from the cross-venue median is discarded outright. This is the blunt defence against decimal bugs and depegs.
Stage 2 · Score

Measure how far each venue strays

  • Median Absolute Deviation (MAD)Cross-venue dispersion is measured with MAD, a robust spread estimator that, unlike standard deviation, is itself immune to outliers.
  • Modified z-score (Iglewicz & Hoaglin, 1993)Each venue's deviation is converted to a scale-free, MAD-based z-score, so $10 off on Bitcoin and $10 off on a low-priced asset are judged on the same footing.
Stage 3 · Remember

Hold venues to a rolling reputation

  • EWMA reputation, per venueAn exponentially weighted moving average of each venue's deviation builds a memory. One bad tick barely registers; sustained disagreement steadily erodes trust, and good behaviour restores it over minutes.
  • Quarantine with hysteresisA venue is benched only after sustained misbehaviour and re-admitted only after a clear recovery. The gap between the two thresholds, a control-theory dead-band, stops a borderline venue flickering in and out.
  • Frozen-feed detectionA venue whose price is unchanged while the wider market demonstrably moves is flagged frozen and excluded. It is a failure no staleness check catches, because the messages keep arriving.
Stage 4 · Aggregate

Form the price and the book

  • Volume-weighted robust medianSurviving venues are weighted by real traded volume × reputation, then combined with a weighted median that is robust to outliers, yet anchored to where trading actually happens.
  • Composite spread, derived from real booksThe bid/ask is built around the fair price from real venue spreads and cross-venue disagreement, then smoothed. It can never cross by construction, and widens automatically when venues diverge.
Price

Why a weighted median.

The single most important choice in the whole system, and the one we are happy to defend to a quant.

We do not average exchanges. An average has a breakdown point of zero: a single venue printing the wrong number drags the result immediately and proportionally. A median has a breakdown point of 50%: you would need a majority of venues to be wrong, in the same direction, at the same instant, before the published price is wrong.

We then make that median weighted: each surviving venue contributes in proportion to its real traded volume multiplied by its current reputation score. The deepest, most reliable venues dominate the result, but because it remains a median, even the single heaviest venue cannot drag the price past its neighbours. It can only ever move the answer to the next venue’s price.

The result is one number per symbol that reflects where the market genuinely is, computed identically for a solo developer on the free tier and a desk consuming it under an enterprise SLA.

Volume

How volume enters the price.

Volume is a weight, never a number we resell raw.

Each venue’s real traded volume, taken from its trade stream, is one half of its weight in the median: weight = volume × reputation. A venue carrying genuine flow counts for more than a thin one quoting the same instrument, which is exactly how a fair price should behave.

The measure is consistent across every contributing venue: the same definition of traded volume on each, so no venue is silently over- or under-counted by an accident of which field its API happens to expose. Where a source genuinely has no comparable volume signal, it is weighted on reputation alone rather than on a fabricated number, and the source matrix below says so explicitly.

We do not publish a venue’s raw volume as if it were our own product. Volume shapes the price; the customer derives their own volume-based analytics from the streams they are entitled to.

Spread

A book that can’t cross.

The bid/ask is derived, representative, and honest about what it is.

We do not stitch a book from the best bid of one venue and the best ask of another, which crosses (bid above ask) the moment one side arrives fresher than the other. Instead we build the top of book around the fair price as mid ± half-spread, so it can never cross by construction.

The half-spread is the larger of two real signals: the volume-and-reputation-weighted average of what venues are actually quoting, and the cross-venue disagreement (the MAD of venue mids). The second term means the spread widens automatically in fast markets, exactly when a real spread should, and we apply no artificial floor, so it is never pinned tighter than the market warrants. A light smoothing keeps it from flickering tick to tick.

This is a representative reference spread, not a claim of executable depth at our quote. We label it as such, because a trading desk will know the difference instantly and we would rather be the vendor that said so first.

Measured vs. derived

Exactly what is real, per venue type.

The single table due-diligence asks for. “Measured” means it comes off the venue wire. “Derived” means we compute a representative value because the venue does not expose one. We would rather draw this line ourselves than have you find it.

Venue typePriceVolumeBid / Ask
Order-book venuesMeasured: last trade per venueMeasured: real traded volume per venueMeasured: real top-of-book from each venue
On-chain swap venuesMeasured: swap prices, normalisedMeasured: real swap sizeDerived: from price + cross-venue dispersion
Quote-driven venuesMeasured: venue midReputation-weighted (no public trade volume)Derived: representative reference spread
Across conditions

How it behaves when markets don’t cooperate.

Peak volatility

Where the design is strongest. Fixed-clock compute is unmoved by message volume, volume-weighting leans on the venues actually trading, and the spread widens as venues lag each other, so there is no fake-tight quote during a crash.

Thin, quiet markets

An honest venue with little flow still counts on reputation. The frozen-feed detector won't false-trigger on a genuinely still market, because it requires the wider market to have moved before it flags a flat venue.

Holiday close, then reopen

The median tracks the reopening jump the instant fresh quotes arrive. Venues that reopen a few seconds apart are tolerated: a handful of off ticks barely dents a reputation built over minutes, so they rejoin cleanly.

Some feeds wrong, others right

Gross errors are killed on the same tick. Subtle, sustained drift erodes a venue's reputation until it's quarantined. As long as the bad feeds are a minority, the fair price holds.

Built for

Made for trading, risk, and valuation.

Use it anywhere a price you can trust matters more than shaving microseconds. The delivery cadence you choose suits the overwhelming majority of trading, risk, and analytics workloads, namely those that operate on sub-second-and-above timeframes rather than co-located order routing.

Systematic & algorithmic trading

Signal generation, portfolio construction, and execution logic operating on second-and-above timeframes, on a price that can't be jerked around by one venue.

Risk & exposure analysis

Mark-to-market, VaR inputs, margin, and limit monitoring built on a consolidated price that survives a single feed going bad.

Valuation & portfolio marking

Consistent, defensible marks across books and counterparties, with one fair price per symbol, computed the same way every time.

Backtesting & research

A clean, manipulation-resistant series to build and validate strategies against, instead of a single exchange's quirks.

Settlement & reference rates

A neutral, auditable benchmark for settlement, accounting, and contract reference where a single-venue print won't do.

Dashboards & analytics

One trustworthy price per symbol to power product UIs, internal tooling, and customer-facing analytics.

Delivery cadence

One price, delivered at your pace.

The fair price is computed the same way for everyone. How often that value is pushed to you is set by your plan, so you pay for the update frequency your workload needs rather than the full firehose.

Free1 HzOne update per second, per symbol.
Builder4 HzA fresh value every 250 ms.
Pro6 HzA fresh value roughly every 165 ms.
Ultra10 HzA fresh value every 100 ms.

Enterprise removes the cap entirely: prices stream in near real time, as fast as the engine produces them, with delivery rates tuned to your SLA. Talk to us about your latency budget and we will size the feed to it.

What we don’t claim

The limits, stated plainly.

Robustness is bounded to a minority of bad feeds. No median-based or mean-based estimator can survive a majority of venues making the same coordinated error within the outlier threshold; that is a mathematical fact, not a tuning gap. Our defence is independence and breadth of sources, which make such coordination rare and shrinking as we add venues. We will never claim immunity to majority corruption.

A reference price, not a sub-millisecond execution feed. This is a benchmark fair price for trading strategies, risk, valuation, and analytics, delivered from 1 Hz on the free tier up to 10 Hz on Ultra, and near real time with no fixed cap for enterprise. That suits all but the most latency-sensitive work. It is not, and is not sold as, a co-located feed for sub-millisecond order routing or high-frequency market making.

The composite spread is representative, not executable depth. It describes the market’s prevailing spread; it does not assert that size is available at our quote on any single venue.

For enterprise & trading-firm due diligence

Want the methodology in full depth?

We share the detailed technical data sheet (calibration approach, per-venue handling, and validation results) under NDA with evaluating teams. Bring your hardest questions.