Liquidity Rewards Program
Earn daily USD rewards by providing high-quality resting liquidity on Gemini Predictions
The Liquidity Rewards Program pays makers daily USD rewards for providing resting liquidity on Gemini Predictions. Unlike maker rebates that require fills, liquidity rewards score resting orders regardless of whether they execute.
View active reward pools on the Liquidity Rewards page.
Or via API
How It Works
Each eligible market features a daily USD reward pool. Gemini divides the pool equally across the day's eligible per-minute snapshots, and splits each snapshot's share among the makers who qualify at that snapshot, in proportion to their snapshot score.
Scoring favors tight quotes around the midpoint, larger order sizes (there is no size cap), and maintaining a genuine two-sided market. Quotes that are one-sided, below the minimum size, or part of a two-sided market whose own bid-ask spread exceeds the maximum spread receive zero score. Because rewards are distributed snapshot by snapshot, a maker's daily payout reflects how consistently it maintains a qualifying market; there is no separate minimum-uptime requirement.
How Payouts Are Calculated
Gemini calculates scores from per-minute order book snapshots, taken at fixed one-minute intervals. A score is computed once per minute for each maker on each contract.
Per-snapshot order scoring
Code
Snapshot score
Code
The midpoint is computed across all accounts on that contract at that snapshot. Order scores are summed per account per contract, and that combined score counts toward the account's score for the contract at that snapshot only if the account maintains a qualifying two-sided market: a qualifying bid and a qualifying ask, each independently meeting min_size_threshold, with the difference between them not exceeding max_spread_cutoff. An account with resting liquidity on only one side of a contract does not score at that snapshot, regardless of the order's size or its distance from the midpoint.
| Variable | Description |
|---|---|
| Spread weight | Polynomial curve based on quote distance from the midpoint. Tighter quotes score disproportionately higher. |
| Size | Order quantity used in scoring. There is no cap on order size. |
| Two-sided multiplier | Equal to 1x if the maker maintains a qualifying two-sided market on the contract at the snapshot: a qualifying bid and a qualifying ask, each independently meeting min_size_threshold, with the difference between the two not exceeding max_spread_cutoff. If the maker's resting liquidity is one-sided, or a two-sided market is posted but the spread between the maker's own bid and ask exceeds max_spread_cutoff, the maker's order does not score at that snapshot. |
Multi-contract markets
Where a market consists of an event containing multiple contracts, scoring is computed independently per contract per snapshot using each contract's midpoint. A maker's score at each snapshot for the market is the sum of its qualifying order scores across all contracts in the event (or contract-type pool) at that snapshot. The market's pool is shared across all of its contracts.
Daily aggregation and distribution
Scores are calculated for each day from 5:00:00 p.m. ET to 4:59:59 p.m. ET. The daily pool is divided equally across the day's eligible snapshots, where an eligible snapshot is one in which at least one contract in the market was actively tradeable. Each snapshot's share is split among the makers who qualify at that snapshot, in proportion to their snapshot score. A snapshot with no qualifying maker is not paid out, and its share is not carried forward or redistributed.
Code
| Variable | Description |
|---|---|
| Pool | The reward pool's daily USD budget. |
| Eligible snapshots | The number of snapshots in the day at which at least one contract in the market was actively tradeable. |
| Maker score | The maker's snapshot score at that snapshot (summed across all contracts in the market, for multi-contract markets). |
| Total qualifying score | The sum of snapshot scores across all qualifying makers at that snapshot. |
A maker's total daily payout is the sum of its shares across all snapshots at which it qualified.
Reward Pools
Reward pools may be assigned at the category, event, or contract level:
- Category-level pools apply to a category of events (for example, pro football-related contracts or political-related contracts) and are shared across all contracts in the category.
- Event-level pools apply to a single event (for example, a marquee sports matchup, an election night, or a one-off macro event) and are shared across all contracts in the event.
- Contract-level pools apply to a recurring contract type (for example, BTC 15-minute hourlies or ETH end-of-day) and cover all instances of that contract type during the period.
Daily pool sizes range from $10 to $1,000,000 per market per day. Pool size and duration vary and are subject to change.
Active pools are published daily on the Liquidity Rewards page and available via the API.
Examples
Example 1: A single snapshot
Four makers compete on a Bitcoin event with an event-level pool of $500/day. The current bid-ask is $0.49 to $0.52, so the midpoint is $0.505. (Shares below are illustrated with a spread_penalty_exponent of 2.)
| Maker | Bid | Ask | Spread between maker's own orders | Distance from $0.505 midpoint | Qualifies? (multiplier) | Snapshot share |
|---|---|---|---|---|---|---|
| Maker A | $0.48 x 100 | $0.52 x 100 | $0.04 (qualifies) | 1.5–2.5¢ | Yes (1.0x) | ~78.7% |
| Maker B | $0.47 x 100 | $0.54 x 100 | $0.07 (qualifies) | 3.5¢ | Yes (1.0x) | ~21.3% |
| Maker C | $0.40 x 100 | $0.60 x 100 | $0.20 (does not qualify; exceeds $0.10 max) | 9.5–10.5¢ (irrelevant; order does not meet the spread requirement) | No, disqualified (0.0x) | ~0% |
| Maker D | $0.49 x 100 | (none) | n/a (one-sided) | 1.5¢ (bid only; not evaluated, one-sided) | No, one-sided (0.0x) | ~0% |
Maker A dominates even though Maker B posts the same size: Maker A's quotes sit closer to the true midpoint. Maker C posts size on both sides but is disqualified entirely because the spread between its own bid and ask ($0.20) exceeds the $0.10 maximum; its distance from the midpoint is irrelevant once it fails that threshold. Maker D's one-sided bid does not qualify for any score, regardless of size or price.
Example 2: A day of snapshots
For simplicity, assume the day has only 4 eligible snapshots (in practice there may be up to 1,440, at one per minute), so each snapshot's share of the $500 pool is $500 / 4 = $125.00. Maker A and Maker B are the only participants; at each snapshot, the $125.00 share is split between whichever of them maintains a qualifying two-sided market at that moment.
| Snapshot | Maker A score | Maker B score | Snapshot pool share | A payout | B payout |
|---|---|---|---|---|---|
| 1 | 40 | 10 | $125.00 | $100.00 | $25.00 |
| 2 | 40 | 10 | $125.00 | $100.00 | $25.00 |
| 3 | - (not qualifying) | 10 | $125.00 | $0.00 | $125.00 |
| 4 | - (not qualifying) | - (not qualifying) | $125.00 (unpaid) | $0.00 | $0.00 |
| Total | $500.00 | $200.00 | $175.00 |
Maker A does not maintain a qualifying market at Snapshots 3 and 4 and earns nothing for those snapshots, but this does not disqualify Maker A from the snapshots where it does qualify. At Snapshot 4, neither maker qualifies, so that snapshot's $125.00 share is not paid to anyone and is not carried forward or redistributed. Across the day, Maker A earns $200.00 and Maker B earns $175.00; the remaining $125.00 goes unpaid.
Qualification Rules
The following parameters govern the Program and apply to all markets with active reward pools. Gemini sets and publishes the active value of each parameter for each market within the ranges below, on the Liquidity Rewards page and via the API. Gemini may adjust active values within these ranges, provided updated values are published before they take effect.
| Parameter | Range / Value |
|---|---|
| Snapshot frequency | Per-minute order book snapshot. |
max_spread_cutoff | Not more than $0.10, measured as the absolute difference between a member's own qualifying bid and qualifying ask on the same contract at the same snapshot. |
min_size_threshold | 100 contracts per side. |
size_cap | None. There is no cap on order size for scoring purposes. |
spread_penalty_exponent | 1 to 3. |
two_sided_multiplier | 0.0x to 1.0x. No value greater than 1.0x is used. Current production value: 1.0x if the account maintains a qualifying two-sided market on the contract at the snapshot (a bid and an ask, each meeting min_size_threshold, with the difference between them not exceeding max_spread_cutoff); 0.0x (no score) otherwise. |
min_spread_floor | 0.0001 to 0.01. |
min_payout_threshold_usd | $1.00. |
| Daily pool range | $10 to $1,000,000 per market per day. |
Reward Precision
The minimum daily payout is $1.00. Daily totals below this threshold are not distributed. Rewards are rounded down to the nearest cent.
Eligibility
Eligible participants can receive rewards for providing qualifying resting liquidity to both sides of the order book on a contract and meeting the maximum spread requirement between the account's own bid and ask. Resting liquidity on only one side of the order book does not qualify for scoring.
For a resting order to count toward your score:
- The order must be on a contract that is actively tradeable at the snapshot.
- The contract must be associated with an event or contract type that has an active reward pool.
- The order must be part of a qualifying two-sided market and satisfy the qualification rules above (maximum spread between the account's own bid and ask, and minimum size on each side).
Contracts in post-only mode are excluded from scoring. Members who have executed a Market Maker Agreement with Gemini are excluded from rewards. Entities affiliated with Gemini are also excluded from rewards.
The Maker Rebate Program operates independently. Orders may earn from both programs simultaneously.
Payment
Rewards are paid daily at approximately 5:30 p.m. ET in USD. Each day's pool is split snapshot by snapshot, as described above, rather than in a single end-of-day allocation.