Quote protection

Stop bad or stale quotes before they reach your book.

Market data does not fail in only one way. CoinPriceFeeds treats abnormal moves, silent freezes, explicit cancellations, late updates, and invalid numbers as separate conditions with a controlled response.

  • Hold back abnormal jumps and show that protection is active.
  • Remove unavailable or stale sources from dependent prices.
  • Reject structurally impossible output before delivery.

Protect

A source problem should not automatically become a client-facing price.

Recalculate

When a leg is no longer valid, affected outputs are rebuilt from what remains.

Explain

The dashboard carries the reason, retained value, and affected relationships.

Abnormal price jumps

A venue can publish a misplaced decimal, a bad weekend-open tick, or a genuine move that is far outside the range your book is prepared to accept automatically.

Configurable gap protection compares a new source quote with the previous accepted value. When the move breaches the policy for that symbol or source, CoinPriceFeeds retains the accepted price and marks it as protected rather than sending the jump straight through.

The event is visible in the dashboard. An authorized user can review the source, understand which outputs depend on it, and reset the protection when that is the right decision.

A source explicitly stops quoting

“No quote” is different from “the last price has not changed.”

Venues communicate unavailability through several kinds of events: an empty or incomplete book, a cancelled quote, an instrument state change, a rejected subscription, or a disconnected session. CoinPriceFeeds treats those signals as an explicit cancellation.

The source leg stops influencing dependent symbols immediately, and those outputs are recalculated from valid alternatives. The last good value remains available for diagnosis and for a controlled recovery.

A source silently freezes

Sometimes a connection looks healthy while a symbol stops updating. Freshness-aware calculations prevent an old quote from anchoring a current consensus or being selected as a backup long after it stopped moving.

Different failover policies can use different freshness expectations. The important result is simple: a backup qualifies because it is both valid and current, not merely because a value exists.

Monitoring also tracks source activity and delivery patterns so a quiet feed can be investigated before it becomes a client report.

Updates arrive late or out of order

Multiple network paths can deliver the same quote at different times. Older updates are ignored so a slower copy cannot rewind the current state. Monitoring still distinguishes source timing from the local delivery path.

Impossible prices are rejected

Zero, negative, non-finite, and crossed quotes are not useful market data. They are rejected at intake or before delivery rather than allowed to contaminate a formula, persist across a restart, or trigger a downstream platform error.

Mathematical failures such as division by zero also become explained invalid states, not infinite or undefined prices.

A fast market may need a configurable brake

Some brokerages want the client-facing quote to respond to a fast adverse move with a measured cushion instead of chasing the full move at once.

Optional dampening can widen against the direction of movement and decay over time. It is controlled per symbol and works alongside normal markups, spread policy, and gap protection.

This is a risk control, not a hidden algorithm. The desired behaviour is agreed with the client and represented in that feed’s rules.

Failure stays isolated

Each client feed has its own rules, quote state, protection state, and output connections. A configuration issue in one feed does not automatically become a pricing problem for every other client.

Market bursts and slow consumers are handled without allowing one connection or active symbol to hold back the rest of the feed.

Recovery is visible and controlled

CoinPriceFeeds preserves warm pricing state through routine restarts so a deploy does not have to rebuild every control from nothing.

In the client dashboard, status is explicit:

  • a protected value shows that a jump was held back;
  • an invalid value includes its reason;
  • a stale value shows that it has aged beyond the pricing policy; and
  • source relationships show which client outputs may be affected.

For operational teams, monitoring and verification adds activity, invalidation, delay, and cross-server checks.

A feed shaped around your setup

Review your risk controls.

Tell us which failure cases matter most for your book and how your team wants the feed to behave when they occur.