Prediction Market Resolution Engine
Uses CRE

Track event status

In this step, you re-read the events from step 1 and interpret each event's status. Status is how the Market Registry API reports progress: whether an event is open, delayed, resolving, or done. Every market on an event shares its event's status.

The API has no webhook or change feed. To follow changes, request the same date window again.

Concepts: Trust and failure handling · Market lifecycle

Read event statuses

Request the same window as in step 1, this time without the status filter, so the response includes events in every status:

Terminal
curl --silent --show-error \
  --header "Authorization: ApiKey ${MARKETS_API_KEY}" \
  "${MARKETS_API_URL}/events?from=${FROM}&to=${TO}&grouping=${GROUPING}" \
  | jq -r '.events[] | "\(.event_status)\t\(.scheduled_start // "unscheduled")\t\(.slug)"'

Each line shows an event's status, its current start time, and its slug, for example:

Output
scheduled	2026-08-20T23:05:00Z	cl-sports-baseball-mlb-260820-nyan

Run the command again later to see statuses change as games are played and resolved.

Interpret each status

event_status
MeaningSuggested handling for this tutorial
scheduledThe event has not started.Treat its markets as open.
liveThe event is in progress. No outcome is ready.Keep the event open.
postponedThe event is delayed and can be rescheduled.Keep the event pending, and read the new scheduled_start when it appears.
finalEvery market reached a terminal state. Outcomes are determined, except for markets that were cancelled. Delivery can still be in progress.Stop treating the event as open.
completedResolution, and delivery where configured, are complete.Treat the event as closed.
cancelledThe event will not occur.Treat the event as cancelled.
unsafeAt least one market has missing or conflicting evidence. The engine keeps checking.Keep the event pending. Never show it as NO.

unsafe is not final: a later round of evidence can move the event to final. A market that stays unsafe never receives an outcome.

Rescheduled events

When a game moves, its scheduled_start changes but its slug does not. The date in a slug, such as 260820 in cl-sports-baseball-mlb-260820-nyan, is part of the identifier, not the current schedule. Read scheduled_start for timing.

A rescheduled event can move outside your date window. To keep following it, widen the window, up to 16 days.

Troubleshooting

SymptomCause and fix
An event from step 1 is missingIt was rescheduled outside the window. Widen the window or move it.
An event with unscheduled appearsA derived event, such as a championship, has no start yet. It appears in every date-bounded query.

Next steps

Get the latest Chainlink content straight to your inbox.