Skip to main content
Halaman ini diterjemahkan secara otomatis oleh AI. Versi bahasa Inggris adalah acuan resmi.Lihat versi bahasa Inggris →

Satu tingkat yang dipublikasikan

Berbeda dengan CPMM dan CLMM, AMM v4 tidak memiliki akun AmmConfig. Biaya disimpan langsung pada struct AmmInfo.fees setiap pool dan ditetapkan saat pembuatan pool. Default yang mencakup hampir setiap pool AMM v4 yang aktif: Perhatikan bahwa pnl_numerator / pnl_denominator adalah fraksi dari biaya swap, bukan dari volume perdagangan — kesalahpahaman yang umum. Bagian LP adalah pelengkap (88% dari biaya = 0,22% dari volume) dan bersifat implisit; tidak ada numerator “bagian LP” terpisah. Sejumlah kecil pool awal dibuat dengan numerator berbeda; selalu baca AmmInfo.fees sebelum mengutip. Tidak ada biaya dana dan biaya kreator: ini adalah inovasi CPMM/CLMM yang tidak ada dalam model biaya asli AMM v4.

Cara pembagian dihitung

Pada setiap swap, pool mengenakan biaya perdagangan kotor dari jumlah input, kemudian membagi:
  • lp_portion tetap berada di vault dan berkontribusi pada k berikutnya. LP menangkapnya dengan menebus token LP nanti.
  • pnl_portion menambah AmmInfo.state_data.need_take_pnl_coin atau need_take_pnl_pc tergantung sisi mana yang merupakan input swap.
Trik yang sama untuk menjaga invariant seperti CPMM: jumlah PnL secara fisik berada di vault tetapi dikurangi dari reserve yang digunakan dalam kurva, sehingga TakePnl memindahkan token tanpa menggeser harga.

PnL dari OpenBook (historis)

Dihapus. Integrasi OpenBook telah dihapus dari program, sehingga aliran PnL kedua yang dijelaskan di bagian ini tidak lagi dihasilkan. Counter total_pnl_{coin,pc} sekarang adalah field yang sudah usang — mereka membawa nilai historis yang beku dan tidak pernah diperbarui. Jalur biaya protokol 0,03% (di atas) tidak terpengaruh dan masih aktif.
Secara historis, AMM v4 memiliki aliran pendapatan kedua seperti biaya: ketika limit order-nya di OpenBook terisi, pool bisa berada di sisi taker dari pengisian dan mendapatkan atau membayar spread maker/taker pasar. Event PnL ini diselesaikan ke vault pool selama MonitorStep dan program mengkreditnya ke state_data.total_pnl_{coin,pc} sebagai counter informatif.
  • Ketika grid yang diposting pool dikalibrasi dengan benar di sekitar harga kurva, pengisian OpenBook cenderung positif biaya untuk pool — AMM secara efektif membuat pasar di OpenBook dan mendapatkan rebate maker.
  • Ketika OpenBook dijeda atau antrian event penuh, pool bisa duduk di order basi yang terisi dengan harga yang tidak menguntungkan, menghasilkan PnL negatif. Coupling operasional ini adalah salah satu motivasi untuk pindah dari desain hybrid.
PnL OpenBook ini bukan sama dengan biaya protokol 0,03%. PnL OpenBook menginflasi reserve pool secara langsung (menguntungkan LP + protokol sebanding dengan pembagian biaya), sementara biaya protokol 0,03% ditandai khusus untuk sweep admin. Dengan sisi OpenBook hilang, satu-satunya akrual biaya hari ini adalah 0,25% pada swap AMM dan pembagiannya 22/3.

Pengumpulan

Admin (multisig Raydium) memanggil WithdrawPnl untuk mengumpulkan need_take_pnl_* ke akun “pemilik PnL” tingkat pool yang dikonfigurasi pada AmmConfig program (config berbeda yang bersifat program-scoped — bukan AmmConfig gaya per-pool CPMM). Pengumpulan:
  1. Mentransfer need_take_pnl_coin / need_take_pnl_pc dari vault pool ke tujuan PnL.
  2. Mengosongkan counter.
Tidak ada lagi langkah settle OpenBook. Jika saldo vault tidak cukup untuk menutupi PnL yang terkumpul, instruksi sekarang mengembalikan TakePnlError secara langsung. Operasi tidak menggerakkan kurva — LP seharusnya tidak melihat perubahan harga di seluruh panggilan WithdrawPnl. Perhatikan bahwa tata letak akun WithdrawPnl berubah dalam upgrade 2026-07 (lihat instructions).

Penebusan biaya LP

Tidak ada instruksi khusus “kumpulkan biaya LP”. Biaya LP terakumulasi di vault dan menginflasi k seiring waktu; LP merealisasikannya dengan membakar token LP melalui Withdraw. Nilai token LP tumbuh secara monoton saat (coin_reserve_effective, pc_reserve_effective) tumbuh.

Visualisasi: kemana volume $1.000 USDC pergi

Pada swap berat USDC sebesar $1.000 terhadap pool dengan parameter default:
Bandingkan dengan CPMM AmmConfig[0] (tier 0,25%, tanpa biaya kreator): LP mendapat $2,10, protokol $0,30, dana $0,10. CPMM memperkenalkan garis dana dengan mengukir dari apa yang akan menjadi bagian LP dalam tier setara AMM v4.

Tabel perbandingan

Matriks lengkap di reference/fee-comparison.

Catatan integrator

  • Quoting. Ambil AmmInfo melalui SDK atau api-v3.raydium.io/pools/info/ids. Reserve sekarang hanya vault, jadi Anda dapat mengutip langsung terhadap saldo vault — ingat saja untuk mengurangi need_take_pnl_* (PnL yang terkumpul dipegang di vault tetapi dikecualikan dari kurva).
  • Parameter biaya basi. Pada prinsipnya SetParams bisa mengubah swap_fee_numerator, tetapi dalam praktiknya multisig Raydium tidak mengubah default untuk pool apa pun yang aktif. Tetap saja, selalu baca dari state on-chain daripada hardcoding.
  • Tanpa reward. AMM v4 tidak mendukung emisi reward on-pool. Farm ekosistem legacy (Farm v3 / v5 / v6) adalah setara staking-layer — lihat products/farm-staking.

Ke mana selanjutnya

Sumber: