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.
هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
ما هو Transaction API؟
Raydium Transaction API (Route V2) هي خدمة من جهة الخادم تقوم ببناء معاملات مبادلة Solana المسلسلة دون الحاجة للعملاء إلى الاحتفاظ باتصال RPC أو دمج Raydium SDK بالكامل. وهذا يبسط التكامل بشكل كبير لـ:- واجهات الويب التي لا تستطيع تشغيل عميل RPC محلي
- تطبيقات الهاتف المحمول ذات الموارد المحدودة
- بوتات التداول بدون واجهة مستخدم
- المجمعات وموفرو المحافظ
نظرة عامة على سير العمل
يفصل Transaction API العمليات إلى مرحلتين:1. مرحلة الحساب: الحصول على عرض سعر
اتصل بـ/compute/swap-base-in أو /compute/swap-base-out للحصول على الإخراج المتوقع للمبادلة (أو الإدخال المطلوب) بناءً على حالات المجمع الحالية. هذا الـ endpoint هو للقراءة فقط ولا يتطلب أي توقيع:
- مقدار الإخراج المتوقع
- تفصيل المسار (أي المجمعات ومصادر السيولة المستخدمة)
- تأثير السعر
2. مرحلة المعاملة: البناء والتوقيع
بمجرد حصولك على استجابة الحساب، مررها (إلى جانب المحفظة والإعدادات) إلى/transaction/swap-base-in أو /transaction/swap-base-out:
- معاملة مرمزة بصيغة base64 جاهزة للتوقيع
- عناوين جدول البحث عن العناوين (إذا كان txVersion=V0)
- فك تشفير المعاملة
- توقيعها باستخدام مفتاح المستخدم الخاص
- بثها عبر أي RPC للـ Solana
- انتظار التأكيد
Compute Endpoints
GET /compute/swap-base-in
حالة الاستخدام: المستخدم يحدد مقدار الإدخال، ونحسب الإخراج.
معاملات الاستعلام المطلوبة:
inputMint– عنوان mint للرمز الذي تُرسلهoutputMint– عنوان mint للرمز الذي تريدهamount– مقدار الإدخال بالـ lamports (أصغر وحدة)slippageBps– الانزلاق الأقصى المقبول بالنقاط الأساسية (0–10000)txVersion–V0أوLEGACY
referrerBps– إذا كان لديك سلطة مرجع، نقاط أساسية من الإخراج لتحصيلها كرسم إحالة
GET /compute/swap-base-out
حالة الاستخدام: المستخدم يحدد الإخراج المطلوب، ونحسب الإدخال المطلوب.
معاملات الاستعلام المطلوبة:
inputMint،outputMint،amount(الإخراج المطلوب)،slippageBps،txVersion
Transaction Endpoints
POST /transaction/swap-base-in
يبني معاملة لمقدار إدخال ثابت.
النص المطلوب:
wallet– عنوان محفظتك الموقعةswapResponse– كائن استجابة الحساب بالكاملtxVersion– إصدار المعاملةcomputeUnitPriceMicroLamports– رسم الأولوية بالـ micro-lamports
wrapSol– إذا كانت true، يتم تغليف SOL الأصلي من أجل الإدخالunwrapSol– إذا كانت true، يتم فك تغليف WSOL إلى SOL في الإخراجinputAccount– حساب الرمز للإدخال (مطلوب إذا لم يتم تغليف SOL)outputAccount– حساب الرمز للإخراجnonceInfo– nonce دائم للتوقيع غير المتصلjitoInfo– معاملات Jito MEV protection bundlereferrerWallet– محفظة المرجع لتحصيل الرسوم
POST /transaction/swap-base-out
يبني معاملة لمقدار إخراج ثابت.
نفس معاملات base-in، باستثناء:
- حقل
referrerInfoمعلق حاليًا (لم يتم تطبيقه بعد)
Response Envelope
تعيد جميع endpoints غلاف قياسي:success هي false و msg تحتوي على رمز الخطأ (مثل REQ_WALLET_ERROR، REQ_SLIPPAGE_BPS_ERROR).
شكل استجابة المعاملة
تبدو استجابة معاملة ناجحة كالتالي:مثال على التكامل
إليك سير عمل نموذجي في شكل كود زائف:شرح المعاملات الرئيسية
txVersion
- V0: معاملة Solana حديثة مع جداول البحث عن العناوين (ALTs). حجم تسلسل أصغر، رسوم أقل.
- LEGACY: صيغة المعاملة السابقة للـ ALT. أكبر، لكنها تعمل مع جميع نقاط نهاية RPC.
computeUnitPriceMicroLamports
رسم الأولوية للإدراج في كتلة أسرع. اضبط على 0 بدون رسم أولوية، أو قيم أعلى (مثل 1000) للمنافسة في الشبكات المزدحمة. الوحدات بالـ micro-lamports لكل وحدة حساب.
slippageBps
الحد الأقصى لتحمل الانزلاق بالنقاط الأساسية. 100 = 1%، 50 = 0.5%.
- استخدم قيم أقل (مثل 25–50 bps) لمعظم المبادلات المستقرة
- زيادة للأزواج المتقلبة أو قليلة السيولة
wrapSol و unwrapSol
- wrapSol: إذا كانت
true، API تغلف SOL الأصلي في WSOL. لا حاجة إلىinputAccount. - unwrapSol: إذا كانت
true، API تفك تغليف الإخراج WSOL إلى SOL الأصلي. لا حاجة إلىoutputAccount.
false، يجب أن توفر حسابات رموز صريحة.
نقاط نهاية الشبكة
| الشبكة | Mainnet | Devnet |
|---|---|---|
| Host | transaction-v1.raydium.io | transaction-v1-devnet.raydium.io |
| Protocol | HTTPS | HTTPS |
رموز الخطأ
رسائل الخطأ الشائعة:| الرمز | المعنى |
|---|---|
REQ_SLIPPAGE_BPS_ERROR | الانزلاق غير صالح أو خارج النطاق |
REQ_INPUT_MINT_ERROR | عنوان mint الإدخال غير صالح |
REQ_OUTPUT_MINT_ERROR | عنوان mint الإخراج غير صالح |
REQ_AMOUNT_ERROR | المقدار ليس رقمًا صالحًا |
REQ_TX_VERSION_ERROR | txVersion يجب أن يكون V0 أو LEGACY |
REQ_WALLET_ERROR | عنوان المحفظة غير صالح |
REQ_INPUT_ACCOUT_ERROR | حساب الرمز للإدخال مفقود أو غير صالح |
REQ_OUTPUT_ACCOUT_ERROR | حساب الرمز للإخراج مفقود أو غير صالح |
UNKNOWN_ERROR | خطأ من جهة الخادم؛ تحقق من معاملات طلبك |


