Ana içeriğe atla

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 →

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

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ı).