Documentation Index
Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
Use this file to discover all available pages before exploring further.
Bu sayfa yapay zekâ tarafından otomatik olarak çevrilmiştir. İngilizce sürüm esas alınır.İngilizce sürümü görüntüle →
İki bağımsız ücreti, dört hedef
CPMM her swap işleminde iki ayrı oranlı ücreti alır:- İşlem ücreti —
AmmConfig.trade_fee_rateile alınır ve üç hedef arasında bölünür:- LP payı — kasada kalır ve
kdeğerini büyütür. LP token’ları yakarak kapalı olarak talep edilir. - Protokol payı —
PoolState.protocol_fees_token*hesaplamalarına birikir;protocol_ownertarafındanCollectProtocolFeearacılığıyla toplanır. - Fon payı —
PoolState.fund_fees_token*hesaplamalarına birikir;fund_ownertarafındanCollectFundFeearacılığıyla toplanır.
- LP payı — kasada kalır ve
- Yaratıcı ücreti (isteğe bağlı, havuz başına) —
AmmConfig.creator_fee_rateile işlem ücretinden bağımsız olarak alınır,PoolState.creator_fees_token*hesaplamalarına birikir,pool_state.pool_creatortarafındanCollectCreatorFeearacılığıyla toplanır. Yalnızca havuzenable_creator_fee = trueile oluşturulduğunda aktiftir.
trade_fee’den türetilir, asla creator_fee’den değil. creator_fee_rate = 1000 (0.10%) ve trade_fee_rate = 2500 (0.25%) olan bir havuz, yaratıcı-ücreti-girdiye-karşı swap’inde girdinin 0.35%‘ini birleşik olarak alır; bunun 0.10%‘ini yaratıcı tutar ve 0.25%‘i işlem-ücreti-kovası alır.
İşlem-ücreti oranları (trade_fee_rate, protocol_fee_rate, fund_fee_rate) ve creator_fee_rate hepsi AmmConfig üzerinde yaşar. Havuz başına enable_creator_fee bayrağı ve creator_fee_on modu (işlemin hangi tarafından yaratıcı ücreti alındığı) PoolState üzerinde yaşar. Bkz. /tr/products/cpmm/accounts.
Oranlar ve birimler
Tüm oranlaru64 türündedir ve 1 / FEE_RATE_DENOMINATOR birimlerinde ifade edilir, burada FEE_RATE_DENOMINATOR = 1_000_000’dir.
trade_fee_rateişlem hacminin bir kesridir.2500⇒ ilgili tarafın 0.25%‘i (giriş veya çıkış,creator_fee_on’a bağlı olarak — aşağıdaki “Ücretlerin işlemin hangi tarafından alındığı” başlığına bakınız).creator_fee_rateişlem hacminin bir kesridir, işlem ücretinden bağımsız olarak alınır.1000⇒ ilgili tarafın 0.10%‘i.protocol_fee_ratevefund_fee_ratehacimden değil, işlem ücretinin bir kesridir.120_000⇒ işlem ücretinin 12%‘si.
AmmConfig[index=0] (standart 0.25% havuz) için varsayılan parametreler, referans için:
| Alan | Değer | Efektif yüzde |
|---|---|---|
trade_fee_rate | 2500 | Hacmin 0.25%‘i (işlem-ücreti-kovası) |
protocol_fee_rate | 120000 | İşlem ücretinin 12%‘si ≈ hacmin 0.030%‘i |
fund_fee_rate | 40000 | İşlem ücretinin 4%‘ü ≈ hacmin 0.010%‘i |
creator_fee_rate | 0 (varsayılan) | 0% (ayrı kova) |
| → LP payı efektif | hacmin 0.210%‘i |
AmmConfig[0] karşısında 1.000 $ swap’inde enable_creator_fee = false ile: 2,50 $ toplam işlem ücreti, bunun 2,10 $ LP’lerde kalır, 0,30 $ protokole gider, 0,10 $ fona gider. Yaratıcı ücreti devre dışı bırakıldığı için yaratıcı kovası 0’dır.
Aynı havuzun enable_creator_fee = true ve creator_fee_rate = 1000 (0.10%) olması durumunda, kullanıcı yaratıcı kontasına ek olarak 1,00 $ daha öder — creator_fee_on tarafından yapılandırılan işlemin aynı tarafından alınır — toplam 3,50 $ ücreti için. İşlem-ücreti-kovası ve protokol/fon bölünmesi değişmez.
Mevcut mainnet değerlerini GET https://api-v3.raydium.io/main/cpmm-config karşısında doğrulayınız — oranlar yönetici tarafından değiştirilebilir ve sabit kodlanmak yerine taze okunmalıdır.
Kod içindeki bölünme
- Giriş tarafındaki toplam ücreti yukarı yuvarlama yapılır, böylece havuz asla az ücret almaz.
trade_fee(protokol, fon) alt bölünmeleri aşağı yuvarlama yapılır, böylece toplamlarıtrade_fee’yi aşmaz; kalan LP payıdır.lp_share = trade_fee − protocol_fee − fund_fee(creator_fee burada çıkarılmaz çünkü kendi kovası olur).- Yaratıcı ücreti
PoolState.creator_fee_on’a bağlı olarak giriş veya çıkış tarafından alınır (sonraki bölüme bakınız). Oran her iki şekilde de değişmez.
Ücretlerin işlemin hangi tarafından alındığı
CPMM, yaratıcı ücretinin belirli bir swap’inin giriş tarafından mı yoksa çıkış tarafından mı alındığını belirleyen havuz başınacreator_fee_on ayarına (BothToken / OnlyToken0 / OnlyToken1) sahiptir. Runtime yardımcı is_creator_fee_on_input(direction) bunu swap başına bir boolean’a dönüştürür:
creator_fee_on | 0 → 1 Swap | 1 → 0 Swap |
|---|---|---|
BothToken (0) | giriş tarafı | giriş tarafı |
OnlyToken0 (1) | giriş tarafı | çıkış tarafı |
OnlyToken1 (2) | çıkış tarafı | giriş tarafı |
amount_in’den düşülür. Fiyat matematiği: girdiden birleşik trade_rate + creator_rate alınır.
Yaratıcı ücreti çıkış tarafında olduğunda, yalnızca işlem ücreti amount_in’den düşülür; eğri ücretlendirilmemiş bir çıktı üretir, ardından yaratıcı ücreti bu çıktıdan düşülür. Fiyat matematiği: girdiden trade_rate alınır; çıktıdan creator_rate alınır.
İşlem ücreti kendisi her zaman giriş tarafından alınır (standart Uniswap-V2 deseni). Yalnızca yaratıcı ücreti çıktıya iniş yapabilir.
”Birikmiş” ücretler eğri ile nasıl etkileşim kurar
Önemli bir incelik: protokol, fon ve yaratıcı ücretleri ilgiliCollect* talimatı çağrılıncaya kadar fiziksel olarak kasada kalır. Ancak eğrinin kasa bakiyesi görünümünden hariç tutulurlar.
Bir swap’inin ardından somut bir resim:
k' ≥ k uygulandığında curve_x (ve analoji curve_y) kullanır. Bu, LP payını şişirmeden LP dışı ücretlerin hedeflerine ulaşmasıdır.
Etrafında tasarım yapmanız gereken sonuçlar:
- Ham bakiyelerden fiyat teklifi almak yanlıştır.
getTokenAccountBalance’den bir fiyatlandırıcı oluşturursanız, havuzun onayladığı fiyatı sürekli olarak abartacaksınız. Her zaman birikmiş ücretleri çıkarınız veyaSwapBaseInput/ API aracılığıyla simülasyon yapınız. CollectProtocolFeefiyatı taşımaz. Token’ları kasadan çıkarır veprotocol_fees_token*sayaçlarını sıfırlar, böylececurve_xvecurve_ydeğişmez.- LP ücretleri sayaca biriktirilmez. Bunlar kasa bakiyesi içinde kapalıdır. LP’nin birikmiş LP ücretlerine hak ettiği şey, LP token’ları yakarak (yani
Withdrawaracılığıyla) kullanılır —CollectLpFeeyoktur.
Token-2022 aktarım ücretleri ile etkileşim
Token-2022 aktarım ücretleri CPMM tarafından değil, mint tarafından uygulanır. Bunlar her token aktarımına etki eder — swap, yatırma, çekme veCollect* toplamaları. CPMM’nin işlem-ücreti matematiği kasaya gerçekten inen miktara karşı hesaplanır; yani giriş mint’inin aktarım ücretinden (varsa) arınmıştır.
Öyleyse en kötü durumda kullanıcı giriş-tam swap’inde üç ayrı vergi öder:
- Giriş mint’inin
amount_inüzerine aktarım ücreti (mint’inin ücret otoritesine). - Havuzun
trade_feebakiyeye (yukarıda bölündüğü gibi). - Çıkış mint’inin
amount_outüzerine aktarım ücreti (mint’inin ücret otoritesine).
minimum_amount_out kullanıcının gerçekten aldığı şeyde ifade edilir. Kendi fiyatlandırıcınızı yazıyorsanız, bu davranışı yansıtınız veya kayma kontrolleriniz sistematik olarak çok hoşgörülü olur.
Detaylı türetme için /tr/algorithms/token-2022-transfer-fees bakınız.
Yaratıcı ücreti
Yaratıcı ücreti isteğe bağlı ve havuz başınadır. OranAmmConfig.creator_fee_rate üzerinde yaşar; etkinleştirme bayrağı ve taraf (creator_fee_on) PoolState üzerinde yaşar:
- Havuz oluşturmada etkinleştirilir.
Initializevarsayılan olarakenable_creator_fee = falseayarlar;InitializeWithPermissionaracılığıyla (LaunchLab mezuniyetleri ve diğer kontrollü yollar tarafından kullanılan) oluşturulan havuzlarenable_creator_fee = truegeçebilir vecreator_fee_onseçebilir. - Oran ücret katmanı ile paylaşılır. Oranın kendisi
AmmConfig.creator_fee_rate’tir, bu konfigürasyon ile bağlı her havuz arasında aynı değer. Her havuz ardından onu ücretlendirecek mi (enable_creator_fee) ve swap’inin hangi tarafında ücretlendirecek mi (creator_fee_on) karar verir.enable_creator_fee = falseolduğunda, havuzun etkili yaratıcı-ücreti oranı yapılandırma değerinden bağımsız olarak sıfırdır (kaynaktakiPoolState::adjust_creator_fee_ratebakınız). - İşlem ücretinden bağımsız. Yaratıcı ücreti hiçbir zaman LP / protokol / fon paylarını azaltmaz — kendi oranıdır, ayrı olarak uygulanır, kendi sayaçlarında biriktirilir.
CollectCreatorFeearacılığıyla toplanır,PoolState.pool_creatortarafından imzalanır.- Oluşturmadan sonra yeniden etkinleştirilemez veya yeniden yönlendirilemez.
enable_creator_fee = falseile başlatılan havuz asla yaratıcı ücreti almayacak; belirli bircreator_fee_onile başlatılan havuz taraf değiştiremez.
CollectCreatorFee’yi sınırsız talep edebilir.
Toplama operasyonel akışı
| İmzacı | Talimat | Kaynak sayaçları sıfırlama | Tipik hızlılık |
|---|---|---|---|
amm_config.protocol_owner | CollectProtocolFee | protocol_fees_token{0,1} | Haftalık veya programlı |
amm_config.fund_owner | CollectFundFee | fund_fees_token{0,1} | Haftalık veya programlı |
pool_state.pool_creator | CollectCreatorFee | creator_fees_token{0,1} | İstediğiniz zaman |
/tr/security/admin-and-multisig. Yaratıcı imzacı Initialize’ı çalıştıran hesaptır.
Ücret katmanını değiştirme
Ücret oranları yönetici tarafındanUpdateAmmConfig aracılığıyla değiştirilebilir (bkz. /tr/products/cpmm/instructions). Değişiklikler bu AmmConfig ile bağlı her havuz için sonraki swap’de etkili olur — hiçbir geçiş yoktur, çünkü havuzlar her swap’te konfigürasyonu yükler.
Yöneticinin yapamadığı şeyler:
- Havuzu bir
AmmConfig’ten diğerine taşımak. - Zaten birikmiş ücretlerin fiyatını retroaktif olarak değiştirmek.
protocol_owner/fund_ownerimzacı olmadan ücretleri toplamak.
Çalışan havuzdan ücretleri okuma
CLMM ve AMM v4 ile karşılaştırma
Yan yana matris için/tr/reference/fee-comparison bakınız. Özet:
- AMM v4 sabit 0.25% işlem ücreti kullanır, farklı LP/protokol bölünmesi ve fon ücreti yoktur.
- CLMM ücretleri işaret-aralığı katmanına, havuzda değil konuma göre biriktirilir ve
DecreaseLiquidityveyaCollectFeesaracılığıyla talep edilir.
Sonra nereye
/tr/products/cpmm/math— işlem-ücreti kesintisinin eğriye nasıl uygulandığı./tr/products/cpmm/instructions—Collect*talimatı hesap listeleri./tr/algorithms/token-2022-transfer-fees— havuz işlem ücretini mint aktarım ücreti ile doğru şekilde nasıl birleştireceğiniz.


