# TypeScript SDK — Predictions: Events & Discovery

Browse, search, and inspect prediction market events. All methods are on `client.predictions`. Every method in this section is **public** — no authentication required.

See the [API specifications](/api-specifications) for full request and response schemas.

### listEvents

`GET /v1/prediction-markets/events` · Public

List prediction market events with optional filters for status, category, sport, and more. Returns an `EventsResponse` with a `.data` array of events and a `.pagination` object.

```ts
// All active events
const response = await client.predictions.listEvents({ status: ["active"] });

for (const event of response.data ?? []) {
  console.log(event.ticker, event.title, event.status);
}

// Filter by category and sport
const sports = await client.predictions.listEvents({
  status: ["active"],
  category: ["sports"],
  sport: ["basketball"],
  limit: 25,
});

console.log(sports.pagination?.total); // total matching events
```

> **Auto-retry** — This GET endpoint automatically retries on 429/502/503/504 status codes.

### getEvent

`GET /v1/prediction-markets/events/{eventTicker}` · Public

Retrieve full details for a single event by its ticker. Returns an `Event` object directly (not wrapped).

```ts
const event = await client.predictions.getEvent({ eventTicker: "BTC100K2028" });

console.log(event.title);
console.log(event.status);
console.log(event.contracts); // tradeable contracts within this event
```

> **Auto-retry** — This GET endpoint automatically retries on transient failures.

### getEventStrike

`GET /v1/prediction-markets/events/{eventTicker}/strike` · Public

Get the strike (threshold/target) details for an event. Returns a `Strike` object with `value`, `type`, and `availableAt` fields.

```ts
const strike = await client.predictions.getEventStrike({
  eventTicker: "BTC05M2603271950",
});

console.log(strike.value);       // e.g. "87500.00"
console.log(strike.type);        // e.g. "spread", "above", "reference"
console.log(strike.availableAt); // ISO 8601 timestamp
```

> **Auto-retry** — This GET endpoint automatically retries on transient failures.

### getCategories

`GET /v1/prediction-markets/categories` · Public

List available event categories, optionally filtered by status. Returns an object with a `categories` string array.

```ts
// All categories
const result = await client.predictions.getCategories();
console.log(result.categories); // ["sports", "politics", "crypto", ...]

// Only categories with active events
const active = await client.predictions.getCategories({ status: ["active"] });
```

> **Auto-retry** — This GET endpoint automatically retries on transient failures.

### listUpcomingEvents

`GET /v1/prediction-markets/events/upcoming` · Public

List events that haven't started yet. Returns an `EventsResponse` with a `.data` array, same shape as `listEvents`.

```ts
const response = await client.predictions.listUpcomingEvents({
  category: ["crypto"],
  limit: 10,
});

for (const event of response.data ?? []) {
  console.log(event.ticker, event.title, event.effectiveDate);
}
```

> **Auto-retry** — This GET endpoint automatically retries on transient failures.

### listNewlyListedEvents

`GET /v1/prediction-markets/events/newly-listed` · Public

List recently added events. Returns an `EventsResponse` with a `.data` array. Useful for discovery feeds and alerts.

```ts
const response = await client.predictions.listNewlyListedEvents({
  category: ["sports"],
  limit: 20,
});

for (const event of response.data ?? []) {
  console.log(event.ticker, event.title, event.createdAt);
}
```

> **Auto-retry** — This GET endpoint automatically retries on transient failures.

### listRecentlySettledEvents

`GET /v1/prediction-markets/events/recently-settled` · Public

List events that have recently settled (resolved to an outcome). Returns an `EventsResponse` with a `.data` array. Useful for displaying results.

```ts
const response = await client.predictions.listRecentlySettledEvents({
  category: ["crypto"],
  limit: 15,
});

for (const event of response.data ?? []) {
  console.log(event.title, event.status, event.resolvedAt);
}
```

> **Auto-retry** — This GET endpoint automatically retries on transient failures.

## What's next

- [Order Management](/tools/typescript-sdk/reference/predictions/order-management) — place, cancel, and query prediction market orders
- [Positions & Terms](/tools/typescript-sdk/reference/predictions/positions-and-terms) — open and settled positions, terms acceptance
- [Combos](/tools/typescript-sdk/reference/predictions/combos) — multi-leg combo instruments
- [Volume & Metrics](/tools/typescript-sdk/reference/predictions/volume-and-metrics) — daily/hourly volume and per-event share metrics
- [Data Types](/tools/typescript-sdk/deep-dives/data-types) — why prices are strings and timestamps may be `bigint`
