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.
Halaman ini diterjemahkan secara otomatis oleh AI. Versi bahasa Inggris adalah acuan resmi.Lihat versi bahasa Inggris →
Informasi versi
- SDK:
@raydium-io/raydium-sdk-v2@0.2.42-alpha - Jaringan: mainnet-beta
- ID program router:
routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS - Terverifikasi: April 2026
Contoh 1: Routing berbasis SDK
Sumber:src/trade/routeSwap.ts
SDK Raydium mengabstraksi pembangunan route. Gunakan fungsi trade SDK untuk menyusun route multi-hop dan menjalankannya melalui router secara otomatis.
Pengaturan
Bangun swap multi-hop
Routing dalam@raydium-io/raydium-sdk-v2 tersedia di raydium.tradeV2. Bentuk end-to-end — mengambil data pool, menghitung route, memberi peringkat berdasarkan output, dan membangun transaksi swap — ditampilkan di bawah; ini sesuai dengan contoh kanonik dalam raydium-sdk-V2-demo/src/trade/routeSwap.ts.
Perilaku yang diharapkan
SDK menangani:- Penemuan route di seluruh AMM v4, CPMM, CLMM, dan Stable AMM.
- Derivasi akun (status pool, vault, akun observasi, pre-creation ATA).
- Packing instruksi untuk program router (
Router) ketika route multi-hop, atau swap pool langsung ketika satu pool sudah memberikan harga terbaik. - Penegakan slippage melalui parameter
slippagepadagetAllRouteComputeAmountOut.
raydium.tradeV2.swap dapat mengembalikan lebih dari satu transaction — yang pertama umumnya menginisialisasi ATA menengah dan yang kedua melakukan swap itu sendiri. Selalu berikan sequentially: true ke execute() agar mereka dikonfirmasi secara berurutan.
Contoh 2: Pembangunan instruksi mentah (pseudocode mirip Rust)
Jika Anda memerlukan kontrol yang lebih baik atau membangun program yang CPI ke router, konstruksikan instruksi secara manual. Contoh di bawah menggunakan tag 8 (SwapBaseIn) — varian Current yang direkomendasikan — dan merutekan melalui ATA milik pengguna dari ujung ke ujung.
Skenario: USDC → SOL (CPMM) → mSOL (CPMM)
Langkah 1: Turunkan ATA pengguna
Langkah 2: Kumpulkan akun untuk setiap hop
Hop 1 adalah USDC/SOL pada CPMM. Hop 2 adalah SOL/mSOL pada CPMM.Langkah 3: Bangun instruksi
Langkah 4: Kirim transaksi
Contoh 3: Penanganan kesalahan
Kesalahan umum dan cara untuk memulihkan:ExceededSlippage
Output lebih kecil dariminimum_amount_out. Coba lagi dengan toleransi slippage yang lebih tinggi atau minta ulang route.
SqrtPriceX64 (CLMM)
Harga hop CLMM bergeser di luar bataslimit_prices. Perbarui batas dan coba lagi.
InvalidOwner
ATA menengah atau output tidak dimiliki oleh pemanggil. Router memvalidasi kepemilikan di setiap slot; pastikan setiap ATA yang Anda berikan diturunkan dari dompet pengguna (bukan dari otoritas lain manapun).Tips dan praktik terbaik
Pre-create ATA menengah
Sebelum merutekan melalui token menengah baru untuk pertama kalinya, buat ATA pengguna sehingga route tidak gagal validasi:CreateSyncNative (tag 5) — itu membuat ATA, mentransfer SOL, dan menyinkronkan dalam satu instruksi.
Minta kutipan sebelum mengeksekusi
Selalu lakukan query pool dan hitung output yang diharapkan sebelum membangun instruksi:Gunakan varian instruksi yang lebih baru (8–9)
Tag 8 dan 9 (SwapBaseIn dan SwapBaseOut) lebih toleran dengan limit_prices. Lebih suka keduanya daripada varian legacy jika Anda tidak memerlukan validasi harga CLMM.
Ke mana selanjutnya
products/routing/instructions— referensi instruksi lengkap.products/routing/accounts— detail derivasi akun.products/cpmm/code-demos— contoh swap CPMM untuk perbandingan.reference/program-addresses— ID program kanonik dan alamat devnet.
@raydium-io/raydium-sdk-v2di npmraydium-io/raydium-sdk-V2(open source)raydium-io/raydium-sdk-V2-demo— demo end-to-end resmi termasukrouteSwap.ts- Sumber program AMM Routing tidak tersedia untuk publik; verifikasi ID program terhadap API langsung dan bytecode on-chain


