> ## 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.

# Kaymma ve fiyat etkisi

> Kaymma ve fiyat etkisinin kesin tanımları, Raydium SDK'sının minAmountOut ve maxAmountIn'i nasıl boyutlandırdığı, AMM türleri arasındaki farklar ve üretim yönlendirilmesi için MEV hususları.

<Info>
  **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 →](/algorithms/slippage-and-price-impact)
</Info>

## İki farklı kavram

**Fiyat etkisi** ve **kaymma** sıklıkla arayüzlerde karıştırılsa da farklı şeyleri ifade ederler.

* **Fiyat etkisi**, belirli bir pool durumuna karşı yapılan işlemin deterministik bir özelliğidir. `(Δin, reserves)` verildiğinde, fiyat etkisi işlem gönderilmeden önce tam olarak hesaplanabilir.

* **Kaymma**, alıntı anındaki *beklediğiniz* fiyat ile yürütme anında *gerçekten elde ettiğiniz* fiyat arasındaki gerçekleşen farktır. Bu, gecikme, eş zamanlı işlemler ve blok dahil etme sırasının bir fonksiyonudur — pool matematiğinin değil.

Aksi halde boş bir havuza karşı %1'lik bir alıntı, bir sonraki blokta giriş yapılırsa %0 kaymma'ya sahiptir; %1 fiyat etkisiydi. Başka bir işlem havuzu ilk vurursa, aynı alıntı %0,2 daha kötü giriş yapar — ek %0,2'si kaymma'dır.

## Resmi tanımlar

### Fiyat etkisi

```
p_before = pool.spot_price()
p_after  = pool.spot_price_if_trade(Δin) uygulandıktan sonra
impact   = (p_before − p_after) / p_before       // işaretli olabilir
```

CPMM için: küçük işlemler için `impact ≈ 2 · Δin / reserve_in`. CLMM için: işlemin kaç tick geçtiğine bağlıdır; genellikle mevcut tick aralığında düz, her tick geçişinde sıçrar.

### Gerçekleşen kaymma

```
quoted_out = alıntı anında hesaplanan çıkış tutarı
actual_out = zincir üstünde gözlemlenen çıkış tutarı
slippage   = (quoted_out − actual_out) / quoted_out
```

Kaymma her zaman negatif olmayan (veya sıfır), alıntının dürüst olduğu varsayılarak. Negatif bir değer *daha fazla* çıktı aldığınız anlamına gelir — alıntı ve yürütme arasında havuz durumu sizin lehinize değişirse mümkün.

## `minAmountOut` ve `maxAmountIn` boyutlandırması

Her Raydium swap'ı kaymma-koruma sınırı alır:

* `SwapBaseInput(amount_in, min_amount_out)` — kesin giriş, çıkışın alt sınırı.
* `SwapBaseOutput(max_amount_in, amount_out)` — kesin çıkış, girişin üst sınırı.

SDK bunları şöyle hesaplar:

```ts theme={null}
const computed = raydium.<pool_type>.computeAmountOut({
  poolInfo,
  amountIn,
  mintIn,
  mintOut,
  slippage: 0.005,     // %0.5 tolerans
});

// computed.amountOut         — "beklenen" alıntı
// computed.minAmountOut      — amountOut × (1 − slippage), zincir üstü sınır olarak kullanılan
// computed.priceImpact       — deterministik, sadece pool-durum
// computed.fee               — alınan toplam ücret (tüm bileşenlerin toplamı)
```

Kaymma toleransı, fiyat etkisinin etrafında bir **tampondur**, fiyat etkisinin kendisi değil. %0.5 toleransı "alıntımdan en fazla %0.5 daha kötü olanı kabul et" anlamına gelir — fiyat etkisinin %0.01 (küçük işlem) veya %2 (büyük işlem) olmasından bağımsız. %2 fiyat-etkili işlem ile %0.5 tolerans için, `minAmountOut` işlem öncesi spot'ın %2.5 aşağısıdır — temelde etkinin ve toleransın toplamı.

## Önerilen kaymma toleransları

Tek bir doğru sayı yoktur; doğru sınır şunlara bağlıdır:

1. **Çift istikrarı.** Stablecoin-stablecoin havuzları %0.1'i güvenle kullanabilir. Değişken meme-çifti havuzları güvenilir bir şekilde iniş için genellikle %3–5'e ihtiyaç duyar.
2. **İşlem boyutu.** Daha büyük işlemler daha büyük fiyat etkilerine sahiptir, bu nedenle tolerans dönüşü önlemek için bunlarla ölçeklenmelidir. SDK'nın otomatik-kaymma varsayılanları bu nedenle `max(0.5%, 2 × price_impact)` civarında.
3. **Blok dahil etme gecikmesi.** Mempool'da birden fazla blok için oturan işlemler daha fazla eş zamanlı işleme maruz kalır. Jito paketleri ve öncelik ücretleri bunu azaltır.

Deneyim kuralları (Raydium UI varsayılanları):

| Çift türü                                             | Varsayılan tolerans |
| ----------------------------------------------------- | ------------------- |
| İstikrarlı-istikrarlı (USDC-USDT, USDC-USDS)          | %0.1                |
| İstikrarlı-ana (USDC-SOL, USDC-BTC)                   | %0.5                |
| Ana-ana (SOL-BTC, SOL-ETH)                            | %1                  |
| Değişken (meme token'ları, likit olmayan uzun kuyruk) | %3–5                |

## AMM türleri arasındaki farklar

### CPMM

Fiyat etkisi düzgün ve sürekli (kapalı biçim `2 · Δin / reserve_in`). Kaymma toleransı işlem boyutuyla doğrusal olarak ölçeklenir.

### AMM v4

CPMM ile aynı eğri matematik, ancak "etkili rezervler" havuzun OpenBook'ta yayınlanan limit emirlerini içerir. Uygulamada bu şu anlama gelir:

* Ham vault bakiyeleri üzerinden alıntı almak rezervleri *hafife alır* ve dolayısıyla etkiyi *olduğundan fazla hesaplar*.
* SDK, `AmmInfo`'yu getirir ve doğru sayıyı almak için `vault + on_book.free + on_book.locked`'ı toplar.
* Eski OpenBook durumu (crank engeli) alıntılanmış etkinin zincir üstü gerçeklikten sapmasına neden olabilir. Toplayıcılar rutinli olarak büyük AMM-v4 işleminden önce (izinsiz `MonitorStep`) önceden crank uygularlar.

### CLMM

Fiyat etkisi **parçalıdır**. Mevcut tick aralığında etkisi yaklaşık `Δin / L`'de doğrusaldır. Bir tick sınırını geçmek `L`'yi ayrık olarak değiştirebilir ve marjinal fiyatta aniden sıçramaya neden olabilir. Seyrek doldurulmuş birkaç tick geçen bir işlem `2 · Δin / reserve` deneyim kuralından çok daha yüksek etkiye sahip olabilir.

SDK'nın CLMM alıntısı swap adımını deterministik olarak yineler ve tam beklenen `amountOut` döndürür, dolayısıyla `minAmountOut = amountOut · (1 − slippage)` doğrudur. Ancak **priceImpact** dönüş değeri "işlem öncesi spot ile işlem sonrası spot arasındaki fark" olarak yorumlanmalıdır, CLMM'de bu sadece `amount_out` ile ilgilenen bir kullanıcı için swap'ın etkili kaymmasından çok daha büyük olabilir.

### LaunchLab eğrisi

CPMM'ye benzer ancak asimetrik eğri (ikinci dereceden veya sanal rezervler). Eğri mezuniyete doğru dikleştikçe geç alıcılar için etkisi hızlı artar. Ön alıcı arayüzleri, bir satın almanın tek işlemde eğriyi `quote_reserve_target`'ın \~%5'inden fazla itecekse uyarmalıdır.

## MEV hususları

Solana'da, swap'lara karşı MEV ekstraksiyonu çoğunlukla **sandwich saldırıları** şeklini alır: bir bot, sizinkinin sonrasında ve önünde (aynı slot'ta) işlem yapan bir geri çalıştırma işlemi ve bir ön çalıştırma işlemi yerleştirir. İşleminiz sandwich olmadan olacağından daha kötü bir fiyatta doldurulur; geri çalıştırma farkı yakalar.

Hafifletmeler:

1. **Sıkı `minAmountOut`.** Agresif kaymma sınırları, kurban işleminin ağır kum viçlenmişse geri çekilmesine neden olarak fonları korur (ama gaz boşa harcar). Solana'da bu standart uygulama — reddetme ucuzdur.
2. **Jito paketleri.** Jito üzerinden paketlenmiş ipucu ile göndermek ara sunucuları işleminizi yeniden sıralamaktan hariç tutar. Paketler atomik blok olarak iner.
3. **Öncelik ücretleri.** Yüksek bir öncelik ücreti, işleminizin bir sandwicher'ın tepki verebilmesinden önce mevcut liderin bloğunda iniş şansını arttırır. Paketlerden daha az güçlü, daha standart.
4. **Özel RPC.** Özel bir RPC üzerinden (veya bir doğrulayıcının doğrudan uç noktası üzerinden) göndermek, bir mempool sandwicher'ın işleminizi gözlemleyebileceği pencereyi azaltır.

Raydium SDK paketlemez; integratörler tipik olarak üzerine Jito katmanı ekler. Desenler için [`integration-guides/routing-and-mev`](/tr/integration-guides/routing-and-mev) bakın.

## Çok atlamalı rotalar için kaymma

Bir swap birden fazla havuz aracılığıyla yönlendirildiğinde (örn. `USDC → SOL → RAY`), kaymma toleransı sadece uçtan uca değil, her atlama başına uygulanmalıdır:

```ts theme={null}
// Kötü: %0.5 sadece sonda uygulanır, bu nedenle herhangi bir ara atlama ikinci atlamada başarısız olur.
const finalMin = finalAmount * (1 - 0.005);

// Daha iyi: her atlama kendi sınırını uygular.
const hop1Min  = hop1Amount * (1 - 0.005);
const hop2Min  = hop2Amount * (1 - 0.005);
// Uçtan uca bu daha sıkı (bileşik), ama atomiktir — herhangi bir atlama bozulursa, işlem erken geri çekilir.
```

SDK'nın yönlendiricisi `raydium.trade.swap`'ı çağırdığınızda otomatik olarak atlama başına sınırlar uygular. Özel yönlendiriciler için deseni kopyalayın.

## Kullanıcılara raporlama

İyi bir swap arayüzü için deneyim kuralları:

* Beklenen fiyat etkisi **ve** kaymma toleransını ayrı olarak gösterin.
* Fiyat etkisi \~%2'yi aştığında vurgulayın — "yüksek etkili" uyarı.
* Fiyat etkisi toleransı aştığında vurgulayın — işlem hemen hemen kesinlikle geri çekilecek.
* Değişken çiftler için, sınırı gevşeten ve daha güçlü bir uyarı gösteren "yüksek kaymma modu" sunun.

## İşaretçiler

* [`products/cpmm/math`](/tr/products/cpmm/math), [`products/amm-v4/math`](/tr/products/amm-v4/math), [`products/clmm/math`](/tr/products/clmm/math) — havuz türü başına etkili derivasyonlar.
* [`integration-guides/routing-and-mev`](/tr/integration-guides/routing-and-mev) — çok atlamalı yönlendirme + MEV savunmaları.
* [`integration-guides/priority-fee-tuning`](/tr/integration-guides/priority-fee-tuning) — kaymmayı azaltmak için öncelik ücretlerini boyutlandırma.

Kaynaklar:

* Raydium SDK v2 kaymma / etkili uygulama.
* Solana'da Flashbots / Jito MEV.
