Langsung ke konten utama
Halaman ini diterjemahkan secara otomatis oleh AI. Versi bahasa Inggris adalah acuan resmi.Lihat versi bahasa Inggris →

Model biaya

Stable AMM menggunakan struktur biaya yang sama dengan AMM v4. Setiap pool hanya memiliki satu tingkat biaya (ditetapkan saat inisialisasi); pool tidak dapat dikonfigurasi ulang ke tingkat yang lebih tinggi.
FieldDefaultArti
swap_fee_numerator / swap_fee_denominator25 / 10_000Biaya perdagangan kotor: 0,25% dari volume input.
trade_fee_numerator / trade_fee_denominator25 / 10_000Sama 0,25%; field warisan yang dulunya digunakan untuk penetapan harga pesanan OpenBook, dipertahankan untuk kompatibilitas tata letak.
pnl_numerator / pnl_denominator12 / 100Bagian protokol dari biaya: 12% — yaitu, 0,25% × 12% = 0,03% dari volume.
min_separate_numerator / min_separate_denominator4 / 10_000Lantai pembulatan internal.
Tidak ada biaya dana dan biaya kreator — ini adalah inovasi pasca-AMM v4 (CPMM/CLMM). Stable AMM mendahului konvensi tersebut.

Cara pembagian dihitung

Pada setiap swap:
gross_fee = ceil(amount_in * (swap_fee_numerator / swap_fee_denominator))    // misalnya, 0,25% dari amount_in
pnl_portion = gross_fee * (pnl_numerator / pnl_denominator)                  // 12% dari gross_fee
lp_portion = gross_fee − pnl_portion                                          // 88% dari gross_fee
  • lp_portion tetap di vault, menaikkan k, dan menguntungkan LP saat penebusan.
  • pnl_portion menambah AmmInfo.out_put.need_take_pnl_coin atau need_take_pnl_pc (tergantung token input) dan disapu oleh WithdrawPnl.
Sama dengan trik penjaga invarian CPMM: jumlah PnL berada secara fisik di vault tetapi dikurangi dari “cadangan efektif” yang digunakan dalam matematika kurva, sehingga menghapusnya tidak menggeser harga.

OpenBook PnL (sudah pensiun)

Awal dalam hidupnya, pool juga memposting pesanan limit di OpenBook; ketika pesanan tersebut terisi, pool mendapatkan atau kehilangan spread pembuat pasar/pengambil, diselesaikan selama MonitorStep, dan melacak hasilnya dalam penghitung out_put.total_pnl_{coin,pc}. Jalur tersebut telah tidak aktif selama bertahun-tahun — pool tidak memiliki pesanan terbuka, jadi satu-satunya akrual biaya adalah bagian protokol 0,03% yang dijelaskan di atas. Penghitung total_pnl_* tetap ada dalam tata letak tetapi tidak lagi bertambah. Upgrade 2026-06-22 menghapus kode OpenBook yang tersisa (termasuk MonitorStep). CPMM menjadi default untuk pool baru sebagian karena kopling sebelumnya dengan OpenBook; Stable AMM tidak bergantung pada order book.

Pengumpulan

Multisig Raydium (atau siapa pun yang mengontrol amm_admin) memanggil WithdrawPnl untuk menyapu:
  1. Mentransfer need_take_pnl_coin dan need_take_pnl_pc dari vault ke akun yang ditunjuk admin.
  2. Mengosongkan penghitung.
Operasi ini tidak menggerakkan kurva. LP tidak melihat perubahan harga.
WithdrawPnl diubah dalam upgrade 2026-06-22: sekarang menggunakan tata letak 10-akun tetap, hanya admin, tanpa jalur kompatibilitas (tata letak lama gagal dengan kesalahan seperti InvalidTokenCoin), dan ketika dana yang tersedia di pool tidak cukup untuk menutupi PnL, ia mengembalikan TakePnlError secara langsung alih-alih menonaktifkan pool. Lihat products/stable/instructions.

Penebusan biaya LP

Tidak ada instruksi “kumpulkan biaya” khusus. Biaya LP terakumulasi di vault, menaikkan cadangan. LP merealisasikannya dengan membakar LP melalui Withdraw. Nilai token LP tumbuh seiring pertumbuhan cadangan.

Visualisasi: kemana $1.000 volume pergi

Pada Swap yang berat USDC sebesar $1.000 terhadap pool Stable dengan parameter default:
Biaya perdagangan kotor (0,25%):     $2,50
  Bagian LP   (0,22%):                $2,20  → tetap di pool, menaikkan k
  Bagian PnL  (0,03%):                $0,30  → need_take_pnl_pc, disapu oleh WithdrawPnl
Pengguna menerima (minus kurva):      $997,50
Bandingkan dengan AMM v4 (identik) dan CPMM (tingkat 0,25%, tanpa biaya kreator): CPMM memberikan LP $2,10, protokol $0,30, dana $0,10.

Tabel perbandingan

Stable AMMAMM v4CPMM index=0
Biaya perdagangan0,25%0,25%0,25%
LP0,22%0,22%0,21%
Protokol0,03%0,03%0,03%
DanaTidak adaTidak ada0,01%
KreatorTidak adaTidak ada0 secara default
Matriks lengkap: reference/fee-comparison.

Catatan integrator

  • Penawaran: Selalu baca AmmInfo dari chain; jangan hardcode biaya. Dengan SetParams sekarang dihapus, parameter biaya pada pool yang ada secara efektif tetap.
  • Kurva vs. biaya: Biaya 0,25% independen dari apakah kurva adalah formula (x·y=k di AMM v4) atau tabel pencarian (Stable). Keduanya menerapkan 0,25% yang sama ke jumlah input.
  • Tanpa reward: Pool Stable tidak mendukung emisi reward on-pool. Farm ekosistem (Farm v3/v5/v6) menangani staking di tempat lain.

Ke mana selanjutnya

Sumber:
  • raydium-stable/program/src/state.rs (struct Fees)
  • Field AmmInfo.fees on-chain pada pool mainnet yang aktif