Endpoints for the Maker Rebate, Liquidity Rewards, and Taker Rewards programs.
- Maker Rebate — per-fill rebates earned by resting limit orders that get filled. Rates and rebate multipliers are configured per category. Public rate schedule plus authenticated payout and summary endpoints.
- Liquidity Rewards — daily USD reward pools distributed across qualifying makers based on quote uptime, spread, and size. Public config + event listing, authenticated daily and lifetime summary endpoints.
- Taker Rewards — authenticated participant summary with daily progress, monthly-bonus history, cumulative paid rewards, and cap runway.
Taker Rewards requires OrderStatus access. See the endpoint's 503 response for availability.
Note on field naming. Response fields under the Rewards endpoints use snake_case (e.g. event_ticker, daily_pool_usd). This differs from the camelCase convention used by the rest of the Prediction Markets REST endpoints.
Get maker-rebate rate schedule
Returns the current Maker Rebate rate rules. Public endpoint; no authentication required.
Each rule defines a rebate_multiplier_bps (basis points of the maker fee that is rebated) and an effective_from timestamp. An optional category scopes the rule to a single market category (omitted rules apply to all categories). An optional effective_to marks a rule as superseded.
Returns 503 with error: "Maker rebate program is not currently available" when the program is disabled.
query Parameters
categoryFilter to rules that apply to this category (e.g. Crypto, Sports). When omitted, returns all rules.
Get maker-rebate rate schedule › Responses
Successful response
List maker-rebate payouts
Returns the authenticated account's Maker Rebate payout history. Most recent payout first.
Pagination is read from the limit and offset query parameters only. limit is clamped to [1, 100] (default 50). offset is clamped to [0, +∞) (default 0). A value that is not an integer falls back to the default, so pagination never returns 400.
The account comes from the API key. The endpoint ignores any account_id that you send.
You must sign the request with the X-GEMINI-PAYLOAD header and use a new nonce for each request. A reused nonce returns 409.
Requires authentication with OrderStatus permission. Returns 503 when the program is disabled. The response sends Cache-Control: no-store.
query Parameters
limitMaximum number of payouts to return (default 50, clamped to [1, 100]). A value that is not an integer falls back to 50.
offsetNumber of payouts to skip (default 0, clamped to 0 or more). A value that is not an integer falls back to 0.
List maker-rebate payouts › Responses
Successful response
List maker-rebate payouts
This method remains available for legacy compatibility. Use GET for new integrations.
Behaves the same as GET on this path. Returns the authenticated account's Maker Rebate payout history. Most recent payout first.
Pagination is read from the limit and offset query parameters, not from a request body. limit is clamped to [1, 100] (default 50). offset is clamped to [0, +∞) (default 0).
Requires authentication with OrderStatus permission. Returns 503 when the program is disabled.
query Parameters
limitMaximum number of payouts to return (default 50, clamped to [1, 100]).
offsetNumber of payouts to skip (default 0).
List maker-rebate payouts › Responses
Successful response
Get maker-rebate lifetime summary
Returns lifetime totals for the authenticated account's Maker Rebate payouts. When both dateFrom and dateTo are provided, the totals are restricted to payouts paid within that inclusive Eastern Time window.
Either provide both date parameters or omit both. Dates must be in YYYY-MM-DD format, dateTo must be on or after dateFrom, and the range must not exceed 5 years.
Requires authentication with OrderStatus permission. Returns 503 when the program is disabled.
query Parameters
dateFromInclusive start of the payout date window (YYYY-MM-DD, Eastern Time). Must be provided together with dateTo.
dateToInclusive end of the payout date window (YYYY-MM-DD, Eastern Time). Must be on or after dateFrom and within 5 years of it.
Get maker-rebate lifetime summary › Responses
Successful response
total_earned_usdSum of total_rebate_usd across payouts in the window.
total_fill_countSum of qualifying maker fills across payouts in the window.
total_volume_usdSum of qualifying maker volume (USD) across payouts in the window.
payout_countNumber of payouts in the window. Always present; 0 when no payouts exist in the window.
first_payout_dateDate of the earliest payout in the window, or null if no payouts exist.
last_payout_dateDate of the most recent payout in the window, or null if no payouts exist.
Get liquidity-rewards program config
Returns the Liquidity Rewards program configuration. Public endpoint; no authentication required.
When the program is fully configured the response includes max_spread_cents, min_payout_threshold_usd, and enabled: true. When the program is not yet fully configured, the response collapses to { "enabled": false } only.
Returns 503 when the program is not currently available.
Get liquidity-rewards program config › Responses
Successful response
enabledTrue when the program is fully configured upstream. When false, the response collapses to { "enabled": false } only.
max_spread_centsQuotes wider than this spread score zero in the scoring algorithm. Only present when enabled is true.
min_payout_threshold_usdDaily reward amounts below this threshold are suppressed (sub-threshold accounts get no row at all). Only present when enabled is true.
List liquidity-rewards events
Returns the paginated list of events currently participating in the Liquidity Rewards program. Public endpoint; no authentication required.
category accepts a comma-separated list of category names (whitespace trimmed, empty entries dropped). sort controls ordering. limit is clamped to [1, 100] (default 50); offset is clamped to [0, +∞) (default 0). last_score_date is the most recent date for which scoring data has been written, or null when no scoring has run yet.
Returns 503 when the program is not currently available.
query Parameters
categoryComma-separated list of category names. Whitespace is trimmed and empty entries are dropped.
searchFilter events by title substring (case-insensitive).
sortSort order for the returned events. Defaults to daily_pool_desc.
limitMaximum number of events to return (default 50, clamped to [1, 100]).
offsetNumber of events to skip (default 0).
List liquidity-rewards events › Responses
Successful response
last_score_dateMost recent date for which scoring has been written. null when no scoring has run yet.
Get liquidity-rewards daily summary
Returns daily Liquidity Rewards payouts for the authenticated account within the requested date window. Both dateFrom and dateTo are required and must be in YYYY-MM-DD format; dateTo must be on or after dateFrom.
Each daily entry includes the total USD reward for that day, the payout status (e.g. PENDING, PAID), the paid-at timestamp (if paid), and per-event score breakdowns showing how the day's reward was distributed across events the account scored on.
Requires authentication with OrderStatus permission. Returns 503 when the program is not currently available.
query Parameters
dateFromInclusive start of the date window (YYYY-MM-DD, Eastern Time).
dateToInclusive end of the date window (YYYY-MM-DD, Eastern Time). Must be on or after dateFrom.
Get liquidity-rewards daily summary › Responses
Successful response
Get liquidity-rewards lifetime summary
Returns lifetime totals for the authenticated account's Liquidity Rewards payouts. When both dateFrom and dateTo are provided, the totals are restricted to payouts paid within that inclusive Eastern Time window.
Either provide both date parameters or omit both. Dates must be in YYYY-MM-DD format, dateTo must be on or after dateFrom, and the range must not exceed 5 years.
Requires authentication with OrderStatus permission. Returns 503 when the program is not currently available.
query Parameters
dateFromInclusive start of the payout date window (YYYY-MM-DD, Eastern Time). Must be provided together with dateTo.
dateToInclusive end of the payout date window (YYYY-MM-DD, Eastern Time). Must be on or after dateFrom and within 5 years of it.
Get liquidity-rewards lifetime summary › Responses
Successful response
total_earned_usdSum of total_reward_usd across daily payouts in the window.
payout_countNumber of daily payouts in the window. Always present; 0 when no payouts exist in the window.
first_payout_dateDate of the earliest payout in the window, or null if no payouts exist.
last_payout_dateDate of the most recent payout in the window, or null if no payouts exist.
Get Taker Rewards payout summary
Returns the authenticated account's Taker Rewards progress and payout summary for the active program.
daily_rewards contains the participant's daily-reward summary and total eligible taker volume over the trailing 30-calendar-day window. Each monthly_bonus entry contains total eligible taker volume for that bonus period. cumulative_paid_usd reports paid rewards; runway_to_cap_usd is the participant cap less cumulative paid rewards, excluding pending amounts.
daily_rewards.progress is the latest completed scorer snapshot. It includes qualifying active days and the scoring date, or is null before a snapshot is available.
Requires the OrderStatus permission. Returns 503 when the program is unavailable.
Get Taker Rewards payout summary › Responses
Daily rewards, monthly bonus history, and participant payout summary
Daily-reward progress for the authenticated participant.
Monthly bonus periods, with the current period first when present, followed by historical periods.
cumulative_paid_usdCumulative rewards paid to the authenticated participant in USD.
runway_to_cap_usdParticipant cap less cumulative paid rewards in USD; pending amounts are excluded.