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 →
Değişmez
Sabit-çarpım pazar yapıcısı (CPMM), iki rezervx ve y tutar ve şunları zorunlu kılar:
k, işlemden önceki rezervlerin çarpımıdır. Ücretsiz bir pazar için x · y = k tam olarak geçerlidir. Ücretler varsa, k kesin olarak artar (LP’nin ücret payı rezervlerde kalır).
Değişmez kasıtlı olarak geometriktir: bir rezerv ne kadar küçük olursa olsun, diğerinin eşleşmesi için sınırsız olarak büyüyeceğini garanti eder — yani havuz hiçbir tarafta sıfıra kadar boşaltılamaz.
Fiyatlandırma
Spot fiyat
Herhangi bir andax cinsinden y’nin marjinal fiyatı, eğrinin teğetidir:
x · y = k’nin örtük türevlemesi dy/dx = −y/x verir; işareti göz ardı ederek, |dy/dx| = y/x).
Bu, havuzun sonsuz küçük bir işlem için verdiği fiyattır. Herhangi bir sonlu işlem için, gerçekleşen fiyat eğri boyunca slipaj nedeniyle daha kötüdür.
Tam giriş swapı (Δx ver, Δy al)
Ücretler varsa,f ücret oranı olsun (örn. f = 0.0025 25 bps için). Ücreti girdiye uygulayın, ardından çıktıyı çözmek için değişmezi kullanın:
Δx rezervlere girer. Ücretin LP kısmı x'’de kalır; protokol kısmı ayrı bir muhasebe adımı aracılığıyla eğriden hariç tutulur (aşağıdaki Ücret muhasebesi varyantları bölümüne bakın).
Tam çıkış swapı (Δy al, minimum Δx öde)
Δx, havuzun eksik ücret almamasını sağlamak için yukarı yuvarlanır.
Slipaj ve fiyat etkisi
Fiyat etkisi, işlem sonucunda havuzun spot fiyatının ne kadar hareket ettiğini ölçer:Δx / x için, birinci dereceden açılım şunları verir:
p_before ve effective arasındaki fark slipaj’dır. Zincir üstü slipaj UI’ı genellikle (effective − p_before) / p_before olarak ifade edilir; SDK’nın computeAmountOut bu nedenle hem amountOut hem de priceImpact döndürür.
Koddaki değişmez kontrolü
Bir swaptan sonra, protokoller yeniden doğrularlar:Ücret muhasebesi varyantları
Değişmez kontrolü, LP ücretinin rezervlerde kaldığını varsayar. Farklı Raydium ürünleri protokol / fon / yaratıcı bileşenlerini farklı şekilde işler:CPMM kuralı
Ücretler,1_000_000 paydası üzerinde u64 baz puan benzeri oranlarıdır. İşlem ücreti trade_fee_rate (toplam) olarak bölünür ve ardından protocol_fee_rate, fund_fee_rate, creator_fee_rate aracılığıyla alt bölümlere ayrılır. Her swapda:
protocol_fees_*, fund_fees_*, creator_fees_*) birikir ve değişmezde kullanılan rezervlerden hariç tutulur. Ücretler eğriyi hareket ettirmeden nasıl temizlenebileceğinin bu yoludur. Bkz. products/cpmm/fees.
AMM v4 kuralı
Ücretler,10_000 paydası üzerinde numerator / denominator oranlarıdır. Bölünme havuz oluşturma sırasında sabitlenir ve AmmInfo.fees üzerinde depolanır:
pnl_share, state_data.need_take_pnl_* içine birikir ve rezervlerden hariç tutulur; lp_share kasada kalır. Bkz. products/amm-v4/fees.
Her iki kural da değişmezi aynı şekilde korur — fark kozmetiktir (payda + alt kategori sayısı).
Yuvarlama kuralları
- Ücret hesaplaması yukarı yuvarlanır. Havuzun hiçbir zaman ücret konusunda eksik ücret almamasını sağlar.
- Çıkış miktarı aşağı yuvarlanır. Değişmezin kesin olarak tutmasını sağlar (
k' > kücret eklenmeden önce bile). - Tam çıkış giriş miktarı yukarı yuvarlanır. Kullanıcının eksik ödeme yapmamasını sağlar.
x · Δx ürünleri için u128 kullanır. Son sonuçlar doyum kontrolü ile u64’e geri dönüştürülür.
Kenar durumları
Boş havuz
İlkDeposit’ten önce, x = y = 0. Swap talimatları ön-deposit’i reddeder.
Sıfır çıkış
Δx yeterince küçükse, yuvarlanmış Δy 0 ise, talimat ZeroTradingTokens ile geri döner. Bu, ödeme olmadan değer çıkarılmasını önler; ayrıca yüksek dengesiz havuzlarda toz swaplarının başarısız olması anlamına gelir.
Toz LP
İlkDeposit’in özel işlemesi vardır: ilk LP arzını sqrt(x · y) olarak hesaplar ve “ilk yatırımcı enflasyon saldırısını” önlemek için küçük bir “init burn” miktarını (genellikle 100 LP birimi) yakar (bir saldırganın kasaya bağış yaptığı ve LP token değerini şişirdiği yer). Sonraki depozitolar pro-rata matematiği kullanır.
Arbitrajla ilişki
Bir CPMM havuzunun fiyatı yalnızca şu yollarla değişir:- Havuzun kendisi aracılığıyla işlemler (kullanıcılar eğriyi yürürler).
- Bağışlar (swap olmadan kasaya token gönderme).
Çalışılmış örnekler
Örnek 1 — küçük işlem, ihmal edilebilir slipaj
Havuz:x = 1_000_000, y = 2_000_000, k = 2·10^12. Ücret f = 0.0025.
İşlem Δx = 1_000:
1000 / 1993.01 ≈ 0.5018. Önceki spot: 0.5. Spot’a karşı slipaj: ~%0.35. Fiyat etkisi — yukarıdaki tanıma göre havuzun spot fiyatının hareketi — ~%0.20’dir.
Örnek 2 — orta ölçekli işlem, görünür slipaj
Aynı havuz,Δx = 100_000 (x’in %10’u):
100_000 / 181_405 ≈ 0.5513. Spot’a karşı slipaj: ~%10.3. Fiyat etkisi: ~%17.3 — 2 · 10% = 20% temel kuralına yakın, işlem ücreti ve eğri ters çevirme biraz aşağı çeker. İki sayı sık sık karıştırılır: slipaj, swapçının spot’a göre ödediği şeydir, fiyat etkisi havuzun kendi teklifinin ne kadar hareket ettiğidir.
İşaretçiler
products/cpmm/math— CPMM’nin spesifik yuvarlama + ücret-payda seçimleri.products/amm-v4/math— AMM v4’ün OpenBook entegreli rezervlerinin bu modeli nasıl genişlettiği.algorithms/slippage-and-price-impact— UI’lar için slipaj toleransı boyutlandırması hakkında ayrılmış sayfa.
- Uniswap v2 teknik raporu —
x · y = k’nin kanonik ifadesi. - Raydium CPMM program kaynağı.
- Raydium AMM v4 program kaynağı.

