Lewati ke konten

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.

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.

HargaFaktor kurvaContoh bobot (pada fill $10 di 25 BPS)
0.501.00$0.050
0.30 / 0.700.84$0.042
0.10 / 0.900.36$0.018
0.01 / 0.990.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.

// Order beli menunggu: 1.000 saham @ 0,45 USDC
Saham terisi1,000
Harga0.45 USDC
Nilai perdagangan450.00 USDC
Rabat maker (5 BPS)+0.225 USDC
Biaya efektif449.775 USDC

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.

1.000 saham terfill di 0.45 USDC. Tarif rebate maker = 5 BPS (default). Kurva = ON. Floor = 1.00 USDC.
Bobot linier (tarif ร— nilai)0.225 USDC
Faktor kurva (p ร— (1โˆ’p) ร— 4 pada p = 0.45)ร— 0.99
Bobot terakumulasi0.222 USDC
Pembayaran harian (jika di atas batas)+0.222 USDC

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

Setiap rabat muncul sebagai entri ledger tersendiri bertag maker_rebate (mode per-fill) atau lp_rebate_distributed (mode pooled). Rekonsiliasi terhadap /wallet/transactions daripada menghitung rabat di sisi klien.