Skip to main content
A “bond zone” is the near-certain end of a market: an outcome trading at, say, ≥ 95¢ (almost certain to win) or ≤ 5¢ (almost certain to lose). The close_to_bond event fires when a trade prints inside a zone you define, so you can react to outcomes that are effectively resolved before the oracle settles them. The same event and filters are available two ways:
TransportHow it arrivesReference
WebhookHTTP POST to your endpointclose-to-bond callback
WebsocketPushed over a live connectionclose_to_bond alert

When to use this

  • Resolution front-running — surface markets the crowd already treats as decided, ahead of on-chain settlement.
  • Risk / exit signals — alert when a position you hold flips to near-certain-loss so you can exit the remaining size.
  • Mispricing scans — watch one side of a market for prints at the opposite extreme of where you think it should trade.

Defining the bond zone

The bond zone is defined entirely by how you combine min_probability and max_probability. The relationship between the two values selects one of four modes:
You setModeFires whenbond_side
min_probability onlySingle high edgeprobability ≥ min_probability"high"
max_probability onlySingle low edgeprobability ≤ max_probability"low"
Both, with min < maxBounded rangemin_probability ≤ probability ≤ max_probability"high"
Both, with min > maxTwo edgesprobability ≥ min_probability or probability ≤ max_probability"high" or "low"
min < max is a band, not a bond. If you set min_probability: 0.75 and max_probability: 0.90, you do not get “fires above 90% or below 75%”. Because min < max, it switches to bounded-range mode and fires only when probability lands inside the 75–90% band. To alert on the two near-certain extremes, you must set min > max (see below).

Alerting on near-certain outcomes

To get notified when an outcome becomes near-certain in either direction — trading at or above 90% or at or below 10% — set min_probability higher than max_probability:
{
  "min_probability": 0.90,
  "max_probability": 0.10
}
Because 0.90 > 0.10, this is read as two separate edges. A trade at 96¢ fires with bond_side: "high"; a trade at 4¢ fires with bond_side: "low". For a single edge, set just one of the two.

How probability is read

  • The trade’s probability is used when present; otherwise its price is used as the probability.
  • Trades with a probability of exactly 0 or 1 are skipped — there is no remaining risk to alert on.
  • probability and price are on a 0.01.0 scale (so 95¢ = 0.95).

Picking the right side

On a binary market, “YES at ≤10%” and “NO at ≥90%” are the same event priced from opposite tokens. If you add position_outcome_indices: [0] you will only ever see trades that print on the Yes/Up token (index 0); trades on the No token (index 1) won’t fire even when they hit the same bond zone. Omit position_outcome_indices to catch the zone regardless of which side the trade prints on.

Examples

A near-certain-win alert for one specific market, Yes side only:
{
  "condition_ids": ["0x19b3cbe24efa387cac21271dd869cb1121432cd212308f3a6e3ec2f7a8614b9d"],
  "min_probability": 0.95,
  "position_outcome_indices": [0]
}
Both extremes across all markets, excluding short-term Up/Down markets:
{
  "min_probability": 0.90,
  "max_probability": 0.10,
  "exclude_shortterm_markets": true
}

Reading the payload

Every delivery tells you which zone was hit and the threshold it breached:
  • bond_side"high" (near-certain) or "low" (near-zero).
  • threshold — the filter value that was breached. In bounded-range mode this is min_probability.
  • price / probability — the value that triggered the alert, on a 0.01.0 scale.
See the full field list on the websocket alert page.

Available filters

FilterTypeDescription
min_probabilitynumberHigh-edge / lower bound of the zone, 0.01.0.
max_probabilitynumberLow-edge / upper bound of the zone, 0.01.0.
condition_idsstring[]Restrict to specific markets (max 500).
position_idsstring[]Restrict to specific outcome tokens (max 500).
outcomesstring[]Restrict by outcome name, e.g. ["Yes", "No"] (max 500).
position_outcome_indicesnumber[]Restrict by outcome index: 0 (Yes/Up) or 1 (No).
event_slugsstring[]Restrict to specific events (max 500).
exclude_shortterm_marketsbooleanExclude short-term Up/Down markets.
At least one of min_probability or max_probability is required — without either, every trade in every market would fire.
Last modified on June 5, 2026