# TypeScript SDK — Predictions: Rewards & Rebates

Query liquidity rewards configuration, summaries, and maker rebate details. All methods are on `client.predictions`. See the [API specifications](/api-specifications) for full response schemas.

## Liquidity Rewards

### getLiquidityRewardsConfig

`GET /v1/prediction-markets/liquidity-rewards/config` · Public

Get the current liquidity rewards program configuration. Returns a `LiquidityRewardsConfig` object.

```ts
const config = await client.predictions.getLiquidityRewardsConfig();

console.log(config.enabled);                   // boolean
console.log(config.max_spread_cents);           // number (only when enabled)
console.log(config.min_payout_threshold_usd);   // decimal string (only when enabled)
```

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

### getLiquidityRewardsDailySummary

`GET /v1/prediction-markets/liquidity-rewards/summary/daily` · Authenticated

Get a daily breakdown of your liquidity rewards over a date range. Both `dateFrom` and `dateTo` are **required**. Returns a `LiquidityRewardsDailySummaryResponse` with a `.daily_summaries` array.

```ts
const daily = await client.predictions.getLiquidityRewardsDailySummary({
  dateFrom: "2026-06-01",
  dateTo: "2026-06-30",
});

for (const day of daily.daily_summaries) {
  console.log(day.payout_date, day.total_reward_usd, day.payout_status);

  for (const ev of day.events) {
    console.log("  ", ev.event_name, ev.event_reward_usd, ev.normalized_score);
  }
}
```

> **Tip** — Response fields at `daily_summaries[*].events[*].event_id` are `bigint`.

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

### getLiquidityRewardsLifetimeSummary

`GET /v1/prediction-markets/liquidity-rewards/summary/total` · Authenticated

Get your lifetime aggregate liquidity rewards. Optionally filter by date range.

```ts
// Lifetime total
const lifetime = await client.predictions.getLiquidityRewardsLifetimeSummary();

console.log(lifetime.total_earned_usd);
console.log(lifetime.payout_count);
console.log(lifetime.first_payout_date); // "YYYY-MM-DD" or null
console.log(lifetime.last_payout_date);  // "YYYY-MM-DD" or null

// Scoped to a date range
const scoped = await client.predictions.getLiquidityRewardsLifetimeSummary({
  dateFrom: "2026-01-01",
  dateTo: "2026-06-30",
});
```

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

### listLiquidityRewardsEvents

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

List events that participate in the liquidity rewards program, with optional filters. Returns a `LiquidityRewardsEventsResponse` with an `.events` array, `.pagination`, and `.last_score_date`.

```ts
const result = await client.predictions.listLiquidityRewardsEvents({
  category: "Crypto",
  search: "bitcoin",
  sort: "daily_pool_desc",
  limit: 20,
  offset: 0,
});

for (const ev of result.events) {
  console.log(ev.event_ticker, ev.title, ev.daily_pool_usd, ev.category);
}

console.log(result.pagination.total);
console.log(result.last_score_date);
```

**Sort options:** `"daily_pool_desc"`, `"daily_pool_asc"`, `"ends_soonest"`, `"ends_latest"`, `"title_asc"`, `"title_desc"`, `"category_asc"`, `"category_desc"`, `"competition_asc"`, `"competition_desc"`.

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

## Maker Rebates

### getMakerRebateRates

`GET /v1/prediction-markets/maker-rebate/rates` · Public

Get the current maker rebate rate schedule, optionally filtered by category. Returns a `MakerRebateRatesResponse` with a `.rate_rules` array.

```ts
// All rates
const rates = await client.predictions.getMakerRebateRates();

// Filtered by category
const cryptoRates = await client.predictions.getMakerRebateRates({
  category: "Crypto",
});

for (const rule of cryptoRates.rate_rules) {
  console.log(rule.id, rule.rebate_multiplier_bps, rule.effective_from, rule.category);
}
```

> **Tip** — `rate_rules[*].id` values are `bigint`. See [Data Types](/tools/typescript-sdk/deep-dives/data-types).

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

### getMakerRebateLifetimeSummary

`GET /v1/prediction-markets/maker-rebate/summary/total` · Authenticated

Get your lifetime maker rebate summary, optionally scoped to a date range.

```ts
// Lifetime total
const summary = await client.predictions.getMakerRebateLifetimeSummary();

console.log(summary.total_earned_usd);
console.log(summary.total_fill_count);  // bigint
console.log(summary.total_volume_usd);
console.log(summary.payout_count);
console.log(summary.first_payout_date); // "YYYY-MM-DD" or null
console.log(summary.last_payout_date);  // "YYYY-MM-DD" or null

// Scoped
const scoped = await client.predictions.getMakerRebateLifetimeSummary({
  dateFrom: "2026-01-01",
  dateTo: "2026-06-30",
});
```

> **Tip** — `total_fill_count` is `bigint`. See [Data Types](/tools/typescript-sdk/deep-dives/data-types).

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

### listMakerRebatePayouts

`POST /v1/prediction-markets/maker-rebate/payouts` · Authenticated

List your maker rebate payout history. Despite being a POST endpoint, parameters are passed as **query params**. Returns a `MakerRebatePayoutsResponse` with a `.payouts` array.

```ts
const result = await client.predictions.listMakerRebatePayouts({
  limit: 50,
  offset: 0,
});

for (const payout of result.payouts) {
  console.log(payout.id, payout.total_rebate_usd, payout.status, payout.paid_at);
}
```

> **Tip** — `payouts[*].id` values are `bigint`. See [Data Types](/tools/typescript-sdk/deep-dives/data-types).

> **Note** — POST endpoints are never automatically retried by the SDK.

## What's next

- [Events & Discovery](/tools/typescript-sdk/reference/predictions/events-and-discovery) — browse and search prediction market events
- [Order Management](/tools/typescript-sdk/reference/predictions/order-management) — place, cancel, and query orders
- [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 `total_fill_count` and `payout.id` are `bigint`
