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

# Bonding curves

> Token çıkarma eğrilerinin matematiği — ikinci dereceden, doğrusal ve sanal-rezerv CPMM varyantları — maliyet / gelir / spot fiyat türetmeleri ve LaunchLab tarafından kullanılan mezuniyet eşiği matematiği.

<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/bonding-curves)
</Info>

## Bonding curve nedir

**Bonding curve**, token fiyatını şu anda dolaşımda olan miktarla (`s` için "satılan arz") ilişkilendiren belirleyici bir fiyat fonksiyonu `p(s)`'dir. Alıcılar sözleşmeye teminat göndererek satın alırlar; sözleşme yeni token birimlerini eğri tarafından belirlenen marjinal fiyattan çıkarır. Satıcılar token birimlerini iade eder ve entegre geri ödeme alırlar.

CPMM havuzuyla karşılaştırıldığında iki önemli özellik:

* **Karşı taraf gerekmez.** Veren sözleşme pazar yapıcısıdır; likidite kanunen mevcuttur.
* **Monoton fiyat.** Her net-satın almada fiyat yükselir ve her net-satışta düşer.

Bonding eğrileri, veren kuruluş AMM havuzunu teminatla ön-tohumlama istemeyen standart başlatma mekanizmasıdır.

## Genel fiyatlandırma formülleri

Herhangi bir sürekli fiyat fonksiyonu `p(s)` için:

**Spot fiyat** `s` arzında:

```
p(s) = the curve formula
```

**`s_0`'dan `s_1`'e arz satın almak için maliyet** (`s_1 > s_0` ile):

```
cost(s_0, s_1) = ∫_{s_0}^{s_1} p(s) ds = P(s_1) − P(s_0)
```

burada `P(s) = ∫ p(s) ds` eğrinin antitürevi. Geometrik olarak, `cost` `p`'nin `s_0` ve `s_1` arasında eğri altındaki alandır.

**Arz'ı `s_1`'den `s_0`'a satmaktan elde edilen gelir**:

```
proceeds(s_1, s_0) = cost(s_0, s_1)
```

(Simetri: aynı aralıkta satın almak ve satmak aynı teminatı değiştirir — ücretler hariç.)

**Satın alma için ortalama fiyat**:

```
avg = cost(s_0, s_1) / (s_1 − s_0)
```

## Yaygın eğri aileleri

### Doğrusal

```
p(s) = a + b · s
```

```
P(s)            = a·s + (b/2)·s²
cost(s_0, s_1)  = a·(s_1 − s_0) + (b/2)·(s_1² − s_0²)
```

Fiyat arz ile orantılı olarak yükselir. İhraç edecinin ömrü boyunca öngörülebilir, ılımlı bir marjinal istediği "sabit" başlatmalar için kullanılır.

### İkinci dereceden

```
p(s) = k · s²                      // or  k · (s / S_max)² for a normalized form
```

```
P(s)            = (k / 3) · s³
cost(s_0, s_1)  = (k / 3) · (s_1³ − s_0³)
```

Fiyat ikinci dereceli olarak yükselir. Erken alıcılar neredeyse sıfır fiyat alırlar (düz başlangıç bölgesi); geç alıcılar daha dik bir prim öderler. Bu, LaunchLab'ın varsayılan olarak kullandığı eğri türüdür (`curve_type = 0`).

### Sanal-rezerv CPMM (Pump-stili)

Eğri, taklit edilen bir başlangıç quote rezervi `V_q`'ya sahip standart bir CPMM'dir:

```
effective_y = V_q + collateral_received
effective_x = S_max − s
(effective_x) · (effective_y) = V_q · S_max      // invariant
```

Spot fiyat:

```
p(s) = effective_y / effective_x
     = V_q · S_max / (S_max − s)² · ... (implicit differentiation ile türetilebilir)
```

`s_0`'dan `s_1`'e hareket için maliyet:

```
cost(s_0, s_1) = V_q · S_max / (S_max − s_1) − V_q · S_max / (S_max − s_0)
              = V_q · (s_1 − s_0) · S_max / ((S_max − s_0) · (S_max − s_1))
```

Bu varyant, mezuniyet noktasında (`s = S_graduate`), marjinal fiyatın aşağı akış CPMM havuzunun açılış fiyatına eşit olması bakımından zarif bir özelliğe sahiptir ve bu havuz `(S_max − S_graduate, V_q + cost(0, S_graduate))` rezervleriyle tohumlanır. Devir sorunsuz. LaunchLab bunu `curve_type = 1` olarak ortaya koymaktadır.

## Ayrık uygulama

Zincir üzerinde, hem `s` hem de `cost` tam sayıdır (en küçük-birim boyutlandırılması). Sürekli integral `cost(s_0, s_1)`, bir kapalı form var olduğunda (doğrusal, ikinci dereceden) doğrudan kapalı formdan hesaplanır. Kapalı-form tersi olmayan eğriler için (ikinci dereceden, `cost` verildiğinde `s_1` bulun), Newton yinelemesi kullanılır:

```
# Solve quadratic: (k/3)·s_1³ = (k/3)·s_0³ + cost
# Initialize with s_guess ≈ cbrt(3·cost/k + s_0³)
for i in 0..MAX_ITER:
    f    = (k/3)·s_guess³ − (k/3)·s_0³ − cost
    f'   = k·s_guess²
    step = f / f'
    s_guess -= step
    if |step| < precision_floor: break
```

LaunchLab yinelemeleri \~10'da sınırlandırır ve kalıntı hâlâ toleransın üstündeyse `NotConverged` ile geri döner. Pratikte bu yalnızca alanın uç noktalarının yakınında tetiklenir; üretim swapleri 2–3 yinelemede yakınsar.

## Ücret entegrasyonu

Ücretler eğri maliyetinin üzerine uygulanır, içine değil. Satın almada:

```
cost_curve  = cost(base_sold, base_sold + base_out)
fee         = ceil(cost_curve · buy_numerator / buy_denominator)
quote_in    = cost_curve + fee
```

Satışta:

```
proceeds_curve = cost(base_sold − base_in, base_sold)
fee            = ceil(proceeds_curve · sell_numerator / sell_denominator)
quote_out      = proceeds_curve − fee
```

Ücretin LP kısmı `quote_vault`'ta tutulur ve etkili olarak eğriyi sonraki alıcılar için daha sert hale getirir — rezerv daha fazla arz çıkarmadan büyür. Protokol ve yaratıcı kısımları daha sonra süpürme için ayrı sayaçlarda izlenir.

## Mezuniyet eşiği

Bir eğri, geçerli eğri fiyatıyla eşleşen bir fiyatla harici bir AMM havuzunu oluşturmak için yeterli teminat aldığında "mezun olur". İkinci dereceden eğri için `(k, S_max, S_graduate)` parametreleriyle:

```
quote_to_graduate = cost(0, S_graduate) · (1 + buy_fee_rate)
                  = (k / 3) · S_graduate³ · (1 + f_buy)
```

`quote_vault ≥ quote_to_graduate` olduğunda, `Graduate` komutu şöyle CPMM havuzu oluşturur:

```
cpmm_base_reserve  = S_max − S_graduate        // unsold curve supply
cpmm_quote_reserve = quote_vault − accrued_fee_counters
cpmm_initial_price = cpmm_quote_reserve / cpmm_base_reserve
```

Sanal-rezerv eğrisi için, yapısına göre:

```
cpmm_initial_price == p(S_graduate)           // exact equality
```

İkinci dereceden için, eşitlik yaklaşık; "boşluk" `S_graduate` yuvarlaması (tipik olarak `0.8 · S_max`) ve nihai eşik-geçen satın almanın fazla teminatında çerçeve içine alınır.

## CPMM havuzuna karşı kalıcılığın etkilenmesi

Saf bir bonding-curve başlatması Uniswap anlamında **kalıcılık etkisine sahip değildir**: piyasanın "diğer tarafında" yeniden dengelenecek şey yoktur. Eğri isteğe bağlı olarak arz çıkarır ve tek "LP" sözleşmenin kendisidir.

Mezuniyet sonrası, elde edilen CPMM havuzu başka herhangi bir CPMM havuzu gibi davranır — LP yakılmadıysa, olağan impermanent-loss dinamiklerine tabidir. Bu, **mezuniyet sonrası politikada** yazılı yaşayan neden baskın: havuzu kalıcı tutar ve LP-geri-çekme tarafından sürülen herhangi bir fiyat şokunu ortadan kaldırır.

## Çalışılmış örnek

Eğri: ikinci dereceden, `k = 40`, `S_max = 1e9`, `S_graduate = 0.8 · S_max = 8e8`. Satın alma ücreti %1.

### `s = 5e8` sırasında fiyat

```
p(5e8) = 40 · (5e8 / 1e9)² = 40 · 0.25 = 10
```

Taban birimi başına 10 quote birim.

### İlk 1e6 taban satın alma maliyeti

```
cost(0, 1e6) = (40/3) · (1e6)³
             = (40/3) · 1e18
             ≈ 1.333e19     (smallest quote units)
```

%1 ücret ile:

```
quote_in = 1.333e19 · 1.01 ≈ 1.347e19
```

### Mezuniyet eşiği

```
cost(0, 8e8) = (40/3) · (8e8)³
             = (40/3) · 5.12e26
             ≈ 6.827e27
quote_to_graduate ≈ 6.827e27 · 1.01 ≈ 6.895e27
```

### Mezuniyet sırasında fiyat

```
p(8e8) = 40 · 0.64 = 25.6
```

### Mezuniyet sonrası CPMM rezervleri

```
cpmm_base  = 1e9 − 8e8 = 2e8
cpmm_quote ≈ 6.827e27  (ücret sayacı kesintileri hariç)
cpmm_price ≈ 3.41e19 per base — which matches p(8e8) after units are accounted for
```

(Birimler: ondalıklar dikkatle izlenmelidir; örnek açıklayıcıdır.)

## Göstergeler

* [`products/launchlab/bonding-curve`](/tr/products/launchlab/bonding-curve) — bu formüllerin zincir üzerinde LaunchLab uygulaması.
* [`products/launchlab/instructions`](/tr/products/launchlab/instructions) — `Buy`, `Sell`, `Graduate` hesap düzeyinde özellikleri.
* [`algorithms/constant-product`](/tr/algorithms/constant-product) — mezuniyet sonrası CPMM'nin rezervlerle yaptığı.

Kaynaklar:

* Raydium LaunchLab program kaynağı (ikinci dereceden + sanal-rezerv eğri uygulamaları).
* Bancor teknik inceleme (doğrusal bonding eğrileri, tarihsel).
* Pump.fun genel post-mortems (sanal-rezerv varyantı).
