External Price

Mechanics related to external perp pricing and discovery bounds.

The External Price is a separate price, included alongside oracle and mark in Relayer updates, which is equal to the last externally-derived fair price. When external markets are open, the external price is equal to the oracle price. When external markets are closed, the external price remains fixed at the external close price while the oracle advances via its internal pricing mechanism.

A fundamental unlock of XYZ markets is the facilitation of 24/7 price discovery. When external markets close, XYZ traders continue to buy, sell, or otherwise speculate on the asset's fair price. As a result, XYZ is the primary venue for price discovery over weekends and holidays.

To provide a fair and safe venue for weekend speculation, price discovery is limited within a specific range around the external price. By restricting the extent to which price moves can occur, market makers and speculators can more confidently participate in weekend price discovery. Importantly, if a trader’s liquidation price lies outside the active price bounds, their position cannot be liquidated while those bounds are in effect.

How Discovery Bounds Work

Discovery bounds on XYZ markets restrict the mark price to ±(1/max leverage) of the last external close during internal pricing sessions. For example, with CL at 20× leverage, this is ±5%. This static bound provides a predictable range within which traders can confidently participate during weekends and holidays.

However, when genuine macro events move an asset beyond the static bound, the market freezes at the limit, preventing price discovery until external markets reopen. The resulting gap on re-open can be more disruptive than the underlying move itself.

Discovery Bounds v2 is live for CL and BRENTOIL. With Discovery Bounds v2, when the oracle price reaches a configured threshold near the edge of the current discovery bound, the reference price for the discovery bounds re-anchors to the current bound, and a fresh discovery range is established around it. This means that the last external price only serves as an initial reference price for the discovery bounds, and subsequent reference prices may be adjusted as described in more detail below.

This process can repeat up to 2 times in each direction (up and down independently), expanding the total discoverable range while keeping the immediate range unchanged.

How It Works

When the oracle price reaches the upper trigger (e.g., 90% of the distance from the reference price to the upper bound for CL), the reference price re-anchors to the upper bound. New bounds and triggers are recalculated from this new reference price. The upward level counter increments by one. The same logic applies symmetrically to the downside.

At max levels (2), no further re-anchoring occurs and the bound becomes a hard cap.

When external pricing resumes, the external price reverts to the live externally-derived price and all level counters reset.

Trigger Formulas

upper_trigger = reference_price × (1 + discovery_bound × oracle_threshold)
lower_trigger = reference_price × (1 - discovery_bound × oracle_threshold)

Example - CL

Parameters
Value

Discovery Bound

±5% (from 20× max leverage)

Oracle Threshold

90%

Friday Closing External Price (initial reference)

$100

Upward Path:

Level
Reference Price
Lower Bound
Upper Bound
Tradeable Range
Upper Trigger
Lower Trigger

0

100.00

95.00

105.00

95.00 – 105.00

104.50

95.50

1

105.00

99.75

110.25

99.75 – 110.25

109.73

100.28

2 (hard cap)

110.25

104.74

115.76

104.74 – 115.76

N/A

N/A

Step-by-step:

  1. Internal pricing begins. The mark price trades within the Level 0 range of 95.00–105.00.

  2. Over Saturday, the oracle price rises on genuine buying pressure and reaches 104.50 (the upper trigger at 100.00 × 1.045).

  3. Re-anchor: the reference price moves to 105.00 (the upper bound). Upward level counter = 1.

  4. New tradeable range: 99.75–110.25. The oracle price continues from where it was (~104.50) with room to rise further.

  5. Buying continues. The oracle price reaches 109.73 (the new upper trigger at 105.00 × 1.045).

  6. Re-anchor: the reference price moves to 110.25. Upward level counter = 2.

  7. New tradeable range: 104.74–115.76. This is the final level upward.

  8. If the oracle price reaches 115.76, it hits the hard cap. No further upward movement until external pricing resumes.

Maximum price from origin=100.00×1.053115.76(+15.76%)\text{Maximum price from origin} = 100.00 \times 1.05^3 \approx 115.76 \, (+15.76\%)
Maximum price below origin=100.00×0.95385.74(14.26%)\text{Maximum price below origin} = 100.00 \times 0.95^3 \approx 85.74 \, (-14.26\%)

Reversal: The mechanism is fully bidirectional. If the oracle price reverses and hits the lower trigger, the reference price re-anchors downward using the same logic. Upward and downward level counters are independent — ratcheting up does not consume downward levels.

Effect in Practice

  • Broader price discovery during genuine events: The discoverable range expands from ±5% to approximately ±15.8%, allowing the market to reflect large moves rather than freezing at the static limit.

  • The instantaneous range is always ±5%: The tiers shift the window, they do not widen it. At any given moment, the mark price can only move within a ±5% band around the current external price.

  • The window re-centers as it moves: After an upward ratchet, the floor rises — the system commits to the move by shifting the entire window upward. This constrains reversal amplitude and reduces re-open gap risk.

  • Levels are independent per direction: Upward ratchets do not consume downward budget and vice versa.

  • Risk management: Traders should manage risk based on the maximum possible range (approximately ±15.8% from the external close at the start of the internal session), not the instantaneous ±5% range.

Scope

This upgrade applies to CL and BRENTOIL only. Performance will be monitored before extending to other asset classes.

Last updated

Was this helpful?