Market maker
Rabat maker
Every fill on a resting limit order pays the maker a small rebate. This page covers why the program exists, where the rebate USDC comes from, which markets qualify, the rate schedule, eligibility rules, and how to verify rebates landed in your balance.
Why maker rebates
Resting limit orders are what make a market tradeable. The deeper and tighter the book, the smaller the spread a taker pays โ which makes more people willing to trade. We pay rebates to compensate market makers for the inventory risk and adverse-selection cost of providing that depth, so the book stays usable through resolution.
- Better books mean lower effective costs for takers โ which drives volume back to the same market makers.
- Rebates flow only to liquidity that was actually taken โ fills, not just resting interest โ so the program rewards depth that's in the path of real flow.
- Rates and the rebate curve are set at the platform's discretion and may change with notice โ they are a tool to shape liquidity, not a guaranteed yield.
Dua mode pembayaran
The rebate program runs in one of two modes at any given time. The mode is admin-controlled at the platform level โ individual makers cannot self-elect a mode. Your /rewards page sums both kinds of ledger entries, so the total you see is always correct regardless of which mode is active.
- Per-fill: Rebate dikreditkan ke akun kas Anda saat limit order resting Anda terfill. Mode default. Anda melihat kredit langsung di /portfolio.
- Pooled: Rebate terakumulasi per fill dan dibayarkan sekali sehari dari pool bersama. Siklus harian memungkinkan platform menerapkan batas pembayaran minimum dan (opsional) kurva p(1-p) yang dijelaskan di bawah.
Jadwal biaya
Taker membayar biaya perdagangan. Maker menerima rabat. Angka di bawah ini adalah default platform saat ini; pasar dapat menimpanya.
| Peran | Tarif | BPS | Arah |
|---|---|---|---|
| Maker | 0.05% | 5 BPS | Dikreditkan ke maker |
| Maker (PAT / API-key) | 0.10% | 10 BPS | Dikreditkan ke maker |
| Taker | 1.5% | 150 BPS | Dikurangi dari taker |
Maker
0.05%- BPS:
- 5 BPS
- Arah:
- Dikreditkan ke maker
Maker (PAT / API-key)
0.10%- BPS:
- 10 BPS
- Arah:
- Dikreditkan ke maker
Taker
1.5%- BPS:
- 150 BPS
- Arah:
- Dikurangi dari taker
Selalu baca tarif efektif dari endpoint pasar daripada menyimpan nilai ini dalam kode.
Where the rebate comes from
The rebate is paid out of the taker fee. There is no separate platform-funded incentive bucket โ the 1.5% the taker pays on each fill is the source. In per-fill mode the rebate is settled at match time; in pooled mode the same fee dollars accrue to a daily distribution pool and are paid out the next 00:00 UTC cycle.
- Per-fill mode: maker rebate is debited from `platform.fee` and credited to `user.cash` at the time the fill posts โ see the trade ledger entries.
- Pooled mode: accruals land in `lp_rebate_accruals` and pay out daily; the pool is capped at 95% of `platform.fee` balance at cutoff to prevent draining the fee account.
- Pooled mode payouts have a $1 USDC floor per cycle โ below that, your accrual rolls over to the next cycle. Nothing is forfeited from rounding.
Tarif per kategori
Tarif standar 5 BPS di atas adalah default seluruh program. Admin dapat mengkonfigurasi tarif lebih tinggi atau lebih rendah per kategori pasar โ misalnya, 20 BPS untuk Crypto atau 0 BPS untuk Geopolitics. Tarif Anda saat fill adalah override kategori jika ada, jika tidak maka menggunakan default.
Tarif pada saat fill di-snapshot ke baris akrual, sehingga perubahan tarif admin antara akrual dan pembayaran harian berikutnya tidak secara retroaktif menetapkan ulang harga yang sudah Anda peroleh.
Kurva p(1-p) opsional (mode pooled)
When the curve is on, each fill's weight in the daily distribution pool is `fill_notional ร p ร (1โp) ร 4`, where `p` is the fill price as a probability (so `p = 0.45` means a 45-cent fill). The `p ร (1โp) ร 4` factor is 1.0 at the midpoint (`p = 0.5`) and shrinks toward the edges; `fill_notional` keeps larger fills weighted proportionally to their size. Quoting at uncertain prices earns more than quoting at near-resolved prices.
| Harga | Faktor kurva | Contoh bobot (pada fill $10 di 25 BPS) |
|---|---|---|
| 0.50 | 1.00 | $0.050 |
| 0.30 / 0.70 | 0.84 | $0.042 |
| 0.10 / 0.90 | 0.36 | $0.018 |
| 0.01 / 0.99 | 0.04 | $0.002 |
Bobot kurva simetris di sekitar p = 0.5 โ memasang harga yes di 0.30 dan no di 0.70 menghasilkan faktor yang sama (0.84). Toggle ini dikendalikan admin; periksa /admin/rebate-program/config untuk melihat apakah saat ini aktif di lingkungan Anda.
Jadwal distribusi (mode pooled)
Mode pooled menjalankan satu distribusi per hari. Scheduler mengagregasi setiap akrual terbuka, membagi pool berdasarkan bagian Anda dari total bobot, dan mengkreditkan akun kas Anda dalam satu transaksi.
- Siklus default: 24 jam (00:00 UTC). Staging mungkin berjalan pada siklus 5 menit untuk iterasi bot yang lebih cepat.
- Batas pembayaran minimum: $1.00 USDC per siklus. Penghasilan di bawah batas akan dirolling ke siklus berikutnya agar Anda tidak mendapat kredit receh.
- Batas pool: pembayaran harian tidak pernah melebihi 95% dari saldo akun biaya platform. Sisanya dirolling ke siklus berikutnya tanpa tersentuh.
Which markets are eligible
Every active market is eligible for the maker rebate by default. Admins can override the rate per market category (for example, set Sports or Politics to a different BPS, or zero the rebate on a specific category) via `PUT /admin/rebate-program/config`. The override applies to fills posted after the change.
- Resolved markets stop accruing rebates the moment trading halts for resolution.
- Cancelled or settled markets are not eligible โ there are no fills to earn against.
- Seed liquidity orders placed by the platform MM account do not earn rebates; they are excluded at the ledger level.
- Specific markets can be excluded from rebates by admin configuration โ check GET /api/v1/admin/rebate-program/config (field: excluded_market_ids) to verify a market's eligibility before quoting.
Aturan kelayakan
Tidak setiap isian mendapatkan rabat. Aturan di bawah ini ditujukan untuk penyediaan likuiditas yang jujur; logika deteksi gaming mengecualikan pola yang terlihat seperti fee farming.
- Order harus menunggu di buku sebelum dicocokkan โ order kirim-dan-segera-terisi tidak mendapatkan rabat.
- Self-trade tidak mendapatkan rabat โ mesin memblokir sepenuhnya.
- Volume terisi yang ditandai dengan kode builder tetap mendapatkan rabat di sisi maker.
- Pola wash trading dikecualikan dari akrual rabat setelah terdeteksi.
- Jika Anda berada di jurisdiksi yang telah dihentikan platform untuk rebate, akrual Anda dilewati secara diam-diam; banner halaman /rewards menjelaskan alasannya.
Contoh perhitungan
Misalkan order beli Anda yang menunggu di 0,45 USDC untuk 1.000 saham diisi oleh taker. Anda adalah maker dalam perdagangan ini.
Anda membayar 450,00 USDC untuk saham dan dikreditkan 0,225 USDC, sehingga basis biaya sebenarnya adalah 449,775 USDC.
Contoh perhitungan โ mode pooled dengan kurva
Fill yang sama seperti di atas, diproses melalui pooled engine dengan kurva aktif. Kurva diterapkan saat akrual; batas dan kredit siklus berikutnya terjadi saat distribusi.
Akrual Anda tetap terbuka hingga siklus harian berikutnya. Jika total bobot terakumulasi di semua fill dalam siklus berada di bawah 1.00 USDC, saldo dirolling ke hari berikutnya dan dibayarkan ketika melewati batas.
Rekonsiliasi terhadap ledger