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 →
Bir aggregatörün görevi, kullanıcıya birçok havuz arasında mümkün olan en iyi fiyatı sunmak, tek bir girdişi birden fazla havuz rotası arasında bölmek ve bunu atomik olarak yürütmektir. Bu sayfa bu işin Raydium’a özgü kısımlarını belgelemektedir: keşif, fiyat teklifi ve işlem oluşturma.
Keşif
Havuz envanteri
Her ürün için canlı Raydium havuzlarının tam listesine ihtiyacınız vardır. Üç seçenek:- REST API (en basit):
GET https://api-v3.raydium.io/pools/info/list?poolType=all&pageSize=1000&page=1havuzları 1000’lik gruplar halinde döndürür. Tümünü elde edene kadar sayfalandırın. 1–5 dakika için önbelleğe alın. - Zincir üstü tarama: CPMM, CLMM ve AMM v4 program kimliklerinde
getProgramAccountsçalıştırın, durum hesabı ayırıcısı tarafından filtrelenmiş. ~10 saniye RPC zamanı ile ~her canlı havuzu verir. API’nin kapalı olduğu veya hız sınırlandırıldığı durumlarda kullanışlıdır. - Hibrit: API’yi birincil kaynak olarak kullanın; günlük bir zincir üstü tarama sanity kontrolü olarak çalıştırın. Takım API’nin kapsamlı tutulmasına taahhüt eder, ancak doğrudan CPI aracılığıyla oluşturulan havuzlar (ön uç yok) bazen geride kalabilir.
Mint-çifti araması
Belirli bir(mintA, mintB) çifti için GET /pools/info/mint?mint1=...&mint2=...&poolType=all&sort=liquidity kullanın. Herhangi bir ücret katmanında ve ürün türünde her havuzu döndürür. İyi trafiği olan mintler için çifti başına ~10 sonuç yaygındır; TVL’ye göre sıralayın ve yönlendirme için en iyi birkaçını alın.
Fiyat teklifi
Fiyat teklifi matematiği ürüne göre farklılık gösterir. Yeniden uygulamak zorunda kalmamanız için SDK’nın saf matematik işlevlerini kullanın:amountOut (slippage öncesi) kullanın.
Önbellek tazeliği
Havuz durumu hızlı bir şekilde eski hale gelir. Önerilen tazelik hedefleri:
İnteraktif gecikme ile fiyat teklifi alan bir aggregatör için, her ilgili havuz durumunda WebSocket hesap güncellemelerine (
accountSubscribe) abone olun. Bu modeli yoklamadan itmeye çevirir.
Token-2022 ayarlamaları
Rotadaki herhangi bir mint’in Token-2022 transfer ücreti varsa, fiyat teklifi matematiğialgorithms/token-2022-transfer-fees başına girdileri ve çıktıları ayarlamalıdır. SDK bunu poolInfo.mintA.extensions.transferFeeConfig doldurulmuşsa işler. Fiyat teklifine güvenmeden önce .extensions alanına bakarak onaylayın.
Yönlendirme
Tek havuz rotaları
Çoğu rota tek havuzdur.amountOut’u en yüksek olan havuzu seçin. Birden fazla yakınsa, ücret katmanına göre bağlantıyı kırın (düşük daha iyidir), ardından TVL’ye göre (daha fazla daha güvenlidir).
Bölünmüş yönlendirme
Tek bir havuzun >5% fiyat etkisine sahip olduğu büyük işlemler için havuzlar arasında bölün. Basit bir açgözlü algoritma:[(pool_A, 0.6), (pool_B, 0.3), (pool_C, 0.1)] üretir. Uygun bir dışbükey optimizasyon çözümü (örn. havuzlar arasında marjinal fiyatları eşitleme) pratikte açgözlü sonucun ~1% içindedir.
Çok atlamalı rotalar
USDC → RAY → SOL iki ayrı havuz aracılığıyla, hiçbir doğrudan USDC-SOL havuzu iyi bir fiyat teklifi vermediğinde yaygındır (nadir). Atlamalı slippage sınırları uygulayın; her atlama kendi minAmountOut’unu uygular. algorithms/slippage-and-price-impact bölümüne bakın.
Aynı havuz üzerinde çok atlamalı (SOL-USDC üzerinde iki CLMM atlaması gibi) her zaman tek atlamaya kıyasla suboptimaldir — bu tür rotalar oluşturmayın.
İşlem oluşturma
Tek atlama, tek havuz
Tek bir havuz için, o havuz türünün kendi swap oluşturucusunu çağırın —raydium.liquidity.swap, raydium.cpmm.swap veya raydium.clmm.swap. raydium.tradeV2.swap çok atlamalı rota yürütücüsüdür ve tamamen farklı bir şekil alır ({ swapInfo, swapPoolKeys, routeProgram, ownerInfo, txVersion }); raydium.trade yoktur.
Bölünmüş ve çok atlamalı
ATA’ları + talimatları manuel olarak oluşturun. Desen:Atomiklik
Aggregatörler atomikliği garantilemek zorundadır: tam rota iner veya hiçbiri inmez. Raydium’un swap talimatlarıExceededSlippage üzerinde geri döner, bu nedenle bir atlaması başarısız olan çok havuz rotası tüm işlemin geri dönmesine neden olur. Ücretsiz.
Tek istisna: rotanız Raydium + üçüncü taraf DEX’ten geçerse, o DEX’in de slippage’a geri dönme modeli olduğundan emin olun. Bazı programlar slippage sınırlarını yok sayar (nadir).
Tuzaklar
1. Eski fiyat teklifleri
Kullanıcı “125.43 RAY alacaksınız” gördüğü ile işlem iner arasında rezervler değişebilir. Gönderimden hemen önce havuz durumunu yeniden getirin; yeniden fiyat teklifi alın; yeni fiyat teklifi >1% daha kötüyse, duraklatın ve kullanıcıyla yeniden onaylayın.2. Havuz kara listeleri
Bazı Raydium havuzları, transfer ücretleri %99’a ayarlanmış veya aktarılamayan uzantılara sahip dolandırıcı jetonlardır. REST API bunları etiketler (tags alanına bakın); scam veya honeypot olarak etiketlenen herhangi bir havuzu atlayın. Raydium’un etiketlerinin üstüne kendi güvenlik kontrollerinizi çalıştırmak ihtiyatlıdır.
3. CLMM’de gözlem durumu gereksinimi
CLMMSwapV2 bir observation_state hesabı alır. SDK bunu sizin için doldurur; elle oluşturulan talimatlar sık sık unutur, bu da programın AccountNotFound ile geri dönmesine neden olur. Her zaman bunu ekleyin.
4. Adres arama tabloları
Raydium, en çok kullanılan hesapları (ana mintler, program kimlikler, AmmConfigs) için genel arama tabloları tutar. Aggregatörler bunları tüketmelidir — işlem başına ~100 bayt tasarruf sağlar ve daha büyük rotaların V0’a sığmasını sağlar. LUT adreslerini çekme:5. Tıkanıklığı işleme
Yüksek hacimli pencereler sırasında, işlemler mempool’da birden fazla blok için oturabilir. TX süresi dolması üzerinde agresif yeniden deneme (geri dönüş üzerinde değil — geri dönüşler deterministiktir) önerilir. SDK’nınsendAndConfirm seçeneği temel yeniden denemeler yapar; üretim aggregatörleri bunun üstüne kendi mantıklarını katmanlar (Jito paketleri, çok RPC yayını).
Kontrol listesi
Canlı olmadan önce doğrulayın:- Havuz keşfi CPMM + CLMM + AMM v4’ü kapsamlı olarak kapsar.
- Fiyat teklifleri bir avuç test işleminde Raydium’un kendi arayüzü fiyat teklifinin 1 baz puan içinde eşleşir.
- Bölünmüş yönlendirme herhangi bir tek havuzda >5% etkili işlemler için başlar.
- Öncelik ücretleri son havuz programı ücretlerine karşı boyutlandırılır (bkz.
integration-guides/priority-fee-tuning). - Token-2022 transfer ücretleri hesaplanır ve kullanıcıya görüntülenir.
- İşlemler slippage aşıldığında temiz bir şekilde geri döner.
- Yeniden deneme mantığı tx süresi dolması (yeniden dene) ile geri dönüş (yeniden denemeyin) arasında ayrım yapar.
İşaretçiler
integration-guides/routing-and-mev— sandwich direnci, paketler.integration-guides/priority-fee-tuning— işlem bütçesi talimatlarını boyutlandırma.sdk-api/rest-api— havuz listesi uç noktaları.

