Skip to main content
An event groups one or more markets that share a resolution (Kalshi: a single event_ticker like KXPRES-2028) or theme (Polymarket: an event linking multiple Market objects).

Parameters

limit
usize?
Per-page limit. Capped at 200 (Kalshi) / 500 (Polymarket).
cursor
string?
Opaque cursor returned from a prior call. Polymarket uses keyset pagination internally; pass through unchanged.
status
string?
Lifecycle filter. Kalshi accepts unopened, open, closed, settled. Polymarket maps openclosed=false and closedclosed=true.
series_id
string?
Restrict to events under a given series.
with_nested_markets
bool?
When true, the venue returns the events’ nested Market objects in the same response. Kalshi only.
min_close_ts
i64?
Unix seconds. Only events closing at or after this timestamp.
min_updated_ts
i64?
Unix seconds. Only events updated at or after this timestamp.

Returns

events
Event[]
One page of events.
cursor
string?
Opaque pagination cursor. null on the last page.
use openpx::EventsRequest;

let req = EventsRequest {
    limit: Some(50),
    status: Some("open".into()),
    ..Default::default()
};
let (events, cursor) = ex.fetch_events(req).await?;
{
  "events": [
    {
      "id": "KXPRES-2028",
      "slug": null,
      "title": "2028 US Presidential Election",
      "description": "Winning candidate",
      "category": null,
      "series_id": "KXPRES",
      "status": null,
      "market_ids": ["KXPRES-2028-DEM", "KXPRES-2028-REP"],
      "start_ts": null,
      "end_ts": "2028-11-07T00:00:00Z",
      "volume": null,
      "open_interest": null,
      "mutually_exclusive": true,
      "last_updated_ts": "2026-04-26T12:34:56Z"
    }
  ],
  "cursor": "eyJsYXN0SWQiOiJLWFBSRVMtMjAyOCJ9"
}