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 →
Değişmez
Havuzcoin_reserve × pc_reserve = k ilişkisini korur; burada:
- Rezervler, OpenBook’ta kayıtlı tutulan miktarları içerir. AMM’nin limit emirleri havuzun bir parçası olmaya devam eder — sipariş defterine “kaybedilmez”, sadece orada emanete verilir.
khesaplaması yapılırken sadece on-chain kasa bakiyelerine bakılırsa, rezervler düşük hesaplanır. - PnL birikimi (
need_take_pnl_*) çıkartılır, böylece admin ücretleri aldığında eğri korunur. CPMM’ninprotocol_fees_*istisna konseptiyle aynı ilkedir.
Swap* işlemi, LP’nin ücret payını rezervlere geri ekledikten sonra k' ≥ k koşulunu zorunlu kılar.
Ücret kuralı
AMM v4, CPMM / CLMM’nin1/1_000_000 kuralı yerine oran ücretleri (pay/payda çiftleri) kullanır. On-chain Fees yapısı (program kaynağında Fees::initialize bölümüne bakınız) varsayılan olarak:
- Toplam swap ücreti:
swap_fee = amount_in × 25 / 10_000 = 0.25%girişin brütü. - Protokol payı:
pnl_numerator / pnl_denominator = 12 / 100 = 12%swap ücretinin, yani0.25% × 12% = 0.03%hacim. Bu pay PnL sayaçlarında birikir veWithdrawPnltarafından çekilir. - LP payı: swap ücretinin kalan
88%, yani0.25% × 88% = 0.22%hacim. Havuzda kalır vek’yi yükseltir. - Fon payı yok. AMM v4’te CPMM/CLMM’nin fon-ücret bölümü yoktur.
pnl_numerator / pnl_denominator işlem hacminin değil, ücretin bir kesridir — bu alan adlarının yaygın yanlış yorumudur.
trade_fee_numerator / trade_fee_denominator (ayrıca 25 / 10_000), AMM’nin ızgara limit emirlerinin ücret-dahil fiyatlarını hesaplarken OpenBook entegrasyonu tarafından kullanılan ayrı bir alandır; varsayılan olarak swap_fee’ye eşittir ancak farklı bir kod yolundan okunur.
Bu varsayılanlardan sapmalar nadir olmakla beraber az sayıda eski havuzda mevcuttur; her zaman AmmInfo.fees’ten ücretleri okuyunuz.
Doğrudan swap matematisi (AMM yolu)
En basit durum: kullanıcı OpenBook’la etkileşim kurmaksızın havuzun kasalarına karşı swap yapar. Havuzun iç rezervleri (on-book tahsisatları dahil) paydadır. SwapBaseIn (tam girişi):coin_vault_balance + coin_posted_on_openbook + ... idi (AMM’nin kasası artı OpenBook emirlerine kilitlenmiş jetonlar). OpenBook deaktivasyonundan bu yana, on-book bakiye sıfırdır, bu nedenle etkin rezervler ham kasa bakiyelerine eşittir. OpenBook tarafını yenilemek için kullanılan MonitorStep / örtük-kapatma yolu artık pratikte gerekli değildir.
SwapBaseOut (tam çıkışı):
Sipariş defteri etkileşimi (tarihsel)
Artık aktif değildir. Bu bölümde tanımlanan ızgara inşası, AMM v4’ün orijinal olarak eğriyi OpenBook pazarına nasıl yansıttığını gösterir. OpenBook entegrasyonu deaktive edilmiştir; havuzlar artık OpenBook’ta sipariş göndermesiniz veya korumaz. Aşağıdaki matematik bağlam için korunmuştur — on-chain
target_orders / amm_open_orders hesaplarının neden bu şekilde boyutlandırıldığını ve program neden keeper artık onları hareketlendirmese de MonitorStep ile ilgili parametreleri doğrulamaya devam ettiğini açıklar.AmmInfo parametrelerinden hesaplanırdı:
depth— her taraf başına fiyat seviyeleri sayısı.amount_wave— seviyelik başına boyut temel birimi.min_size,coin_lot_size,pc_lot_size— OpenBook pazarı kısıtlamaları.state_data.swap_acc_coin_fee,swap_acc_pc_fee— sonTakePnl’den bu yana kümülatif ücret sayaçları.
build_orders’ta hesaplanan ve her MonitorStep’te amm_open_orders ile karşılaştırılan target_orders tarafından belirlenir. Herhangi bir sapma, iptal ve yeni gönderiler ile sonuçlanır. OpenBook’ta yeni doldurulmuş emirler, OpenBook tarafını yenilemek havuzun kasalarına sonraki işlemde kapanır.
Entegratörler nadiren ızgarayı hesaplamak zorunda değildir — Raydium keeper bunu tutar — fakat şunu bilmek faydalıdır:
- Önemli on-book likiditeye sahip bir havuz, bu likiditenin
k’ye katkıda bulunduğu anlamına gelir, boşta oturmaz. - Bayat bir OpenBook pazarı (olay kuyruğu dolu, cranklar bloklanmış), ızgara güncellemelerini engeller; AMM daha sonra bir sonraki cranktaki kadar sipariş defterinde görülenlerden farklı fiyatlar iddia edebilir.
Kapatma adımı (PnL)
%0,03 protokol payı,state_data.need_take_pnl_coin ve state_data.need_take_pnl_pc’ye birikir. TakePnl, bu tutarları kasalardan admin tarafından belirtilen hedefe çıkarır, ardından sayaçları sıfırlar.
Kritik özellik: değişmezteki rezervler her zaman biriken PnL eksi olarak hesaplanır, böylece TakePnl eğriyi hareket ettirmez. Bu, CPMM kuralını eşleştirir.
Çalışılmış örnek
Havuz durumu:coin_reserve = 1_000_000_000_000(1.000.000 coin-tarafı; 6 ondalık)pc_reserve = 2_000_000_000_000(2.000.000 pc-tarafı; 6 ondalık)- Ücretler: varsayılan
swap = 25/10_000,pnl = 3/10_000.
SwapBaseIn tam-girişi 1_000_000_000 coin (1.000 coin).
2_200_000) hiçbir yerde ayrı olarak yazılmaz — k’yi yükselten kalıntı olarak basitçe hesaplanır.
Duyarlılık kuralları
- Rezerv çarpımları
u128kullanır; son bölüşler sıfıra doğru yuvarlama. swap_feeyukarı yuvarlanır (havuz az ücret almaz).SwapBaseOutiçinamount_inyukarı yuvarlanır (kullanıcı az ödeme yapmaz).- Aşırı rezerv oranlarına sahip havuzlar çok küçük girişlerde
ZeroTradingTokensile karşılaşabilir; CPMM kuralı ile aynı.
CPMM’ye karşı sınırlamalar
- AMM v4’ün rezervleri OpenBook-emanet kısmını içerir, bu nedenle entegratör
getTokenAccountBalance’den yalnızca doğru bir şekilde alıntı yapamaz. Her zaman tam durumu (kasalar +open_orders.free+open_orders.locked) alınız veya SDK / API alıntısını kullanınız. - AMM v4, yapılandırılmış on-chain TWAP’ı açığa çıkarmaz. AMM v4 destekli fiyat isteyen harici tüketiciler bunu ticaret günlüklerinden kendileri hesaplamalıdır.
- Token-2022 desteklenmiyor.
Sonra nereye gidilir
/tr/products/amm-v4/instructions—SwapBaseIn,Depositvb. nereye girer./tr/products/amm-v4/fees— tam ücret mekanikleri,TakePnldetayları./tr/algorithms/constant-product— paylaşılan türev.
- Raydium AMM program kaynağı —
raydium-io/raydium-amm - Raydium SDK v2
Liquiditymodülü


