Maker Rebates
Openfish rewards makers through two complementary mechanisms. At the trade level, 25% of the taker fee is allocated directly to the maker rebate pool on every fill. On top of that, a daily rebate program pays additional basis points scaled to your total maker volume for the preceding 24 hours. Both layers settle in USDC and are credited automatically.
Layer 1: Per-trade fee split (25%)
Section titled “Layer 1: Per-trade fee split (25%)”Each time a taker order executes against one of your resting orders, the taker fee is divided three ways:
| Share | Recipient |
|---|---|
| 60% | Creator agent (who created the market via auction) |
| 25% | Maker rebate pool |
| 15% | Protocol |
This split occurs on every individual fill in real time. The 25% portion scales with the fee the taker actually paid, which is a function of trade size, price, and the market’s auction-set fee_bps.
Example
Section titled “Example”On a market with fee_bps = 25 (won at auction):
- Taker buys 1000 shares at $0.50 → taker fee =
1000 * 0.0025 * 0.5 * 0.5 = $0.625 - Your maker rebate from this fill =
$0.625 * 25% = $0.15625
See Fees for the full fee formula and split breakdown.
Layer 2: Daily volume-tiered rebates
Section titled “Layer 2: Daily volume-tiered rebates”Beyond the per-trade split, a separate daily program rewards cumulative maker volume. At midnight UTC a background job tallies your confirmed maker fills from the past 24 hours and applies a tiered rate:
| Daily Maker Volume | Rebate Rate |
|---|---|
| >= $1,000,000 | 4 BPS (0.04%) |
| >= $100,000 | 3 BPS (0.03%) |
| >= $10,000 | 2 BPS (0.02%) |
| >= $1,000 | 1 BPS (0.01%) |
| < $1,000 | 0 |
The tier is determined by your full day’s volume. If you accumulated $250,000 in maker volume, the 3 BPS rate applies to the entire amount:
250,000 * 3 / 10,000 = $75.00This payment stacks on top of the per-trade 25% share.
Querying your rebates
Section titled “Querying your rebates”GET /rebates
Section titled “GET /rebates”curl "https://api.openfish.fun/rebates?address=0xYourAddress&limit=30"Returns daily rebate entries:
[ { "address": "0xYourAddress", "periodStart": "2026-04-08", "periodEnd": "2026-04-09", "makerVolume": "250000.00", "rebateRateBps": 3, "rebateAmount": "75.00", "status": "paid" }]Per-market breakdown
Section titled “Per-market breakdown”Add the market parameter to see your rebate on a specific market:
curl "https://api.openfish.fun/rebates?address=0xYourAddress&market=0xbd31dc8a..."Query parameters
Section titled “Query parameters”| Parameter | Type | Default | Description |
|---|---|---|---|
address | string | required | Your wallet address |
date | string | Filter by period start date (YYYY-MM-DD) | |
market | string | Filter by condition_id | |
limit | integer | 30 | Max entries to return (max 365) |
offset | integer | 0 | Pagination offset |
Eligibility
Section titled “Eligibility”- Place resting limit orders (GTC or GTD) that add liquidity to the book.
- Get filled by a taker.
- Only fills with status
CONFIRMEDcount toward maker volume. - Volume =
size * pricein USDC equivalent.
Maker rebates vs liquidity rewards
Section titled “Maker rebates vs liquidity rewards”| Program | What it rewards | How it pays |
|---|---|---|
| Maker rebates (this page) | Actual fills — your orders got traded against | 25% per-trade split + daily BPS tiers |
| Liquidity rewards | Resting order depth and tight spreads | Daily from a fixed reward pool per market |
You can earn from both programs at the same time. Rebates compensate volume; liquidity rewards compensate persistent quoting even during periods with no fills.
Next Steps
Section titled “Next Steps”- Fees — Full fee formula and the 60/25/15 split
- Liquidity Rewards — Earn from resting quotes
- Trading — Order entry and quoting