chainlink
subscription delivers it with additive TWAP identity fields.
Schedule
The August 7 change does not alter market order books or polynode orderbook
subscriptions. It changes the Chainlink reference price used to resolve the
affected markets.
Schedule references: Polymarket’s transition announcement,
Polymarket’s Chainlink TWAP guide,
and the published market-window mapping.
Choose a window
Polymarket’s published mapping is:
The lookback is not an update cadence. Do not infer a window from how often an
event arrives. Use
twap_window_seconds on every event.
30-second TWAP
60-second TWAP
Both windows
twap_windows accepts only 30, 60, or both. Omit feeds to receive every
available pair. Omit twap_windows to follow the default stream.
The subscription acknowledgement confirms the selection:
price_source is follow_main and
twap_windows is null.
An explicit TWAP subscription is accepted before August 4, but no TWAP event
arrives until the production Chainlink TWAP streams go live. TWAP
subscriptions start with the next update and have no snapshot, history, or
replay.
Event identity
The existing event type, feed names, numeric price fields, and timestamp remain unchanged. Two additive fields identify the price type and TWAP window:is_twap is false and twap_window_seconds is null. For
TWAP events, is_twap is true, twap_window_seconds is 30 or 60, and
price, bid, and ask carry the same Chainlink-computed TWAP value.
When you request both windows, two events for one feed are distinct TWAP
observations, not duplicate ticks. Key application state by feed and
twap_window_seconds. Include timestamp when deduplicating repeated delivery.
Existing subscriptions
Existing clients can keep this subscription unchanged:twap_windows
filter before August 7 so your code receives only that window.
Price-to-beat
Do not calculate a market’s price-to-beat from the live event cadence. The polynode short-form SDKs continue to exposepriceToBeat for each market
window. Use the matching Chainlink TWAP stream to track the reference price
during the market:
- use
[30]for 5-minute markets; - use
[60]for 15-minute and 4-hour markets.

