Skip to main content
本頁內容由 AI 自動翻譯,所有內容以英文版本為準。查看英文版 →
交易 API 是在 transaction-v1.raydium.io(以及 api-v3.raydium.io 上的某些鏡像路徑)上的一套端點集合,可在一個往返中報價交換、建構已簽署的 Solana 交易,並將其返回。這是 Raydium UI 使用的相同介面。當你想使用 Raydium 路由但不需搭載 TS SDK 時使用 — 適用於後端、Blinks 處理程式、Telegram 機器人、第三方應用程式。

何時使用交易 API vs SDK

SDK 功能更豐富;交易 API 更簡單。兩者都包裝相同的底層 CPMM/CLMM/AMM v4 程式,因此產生的鏈上交換是相同的。

三個端點

1. GET /compute/swap-base-in

給定輸入金額,選擇路由並返回報價。
回應:
id 欄位是傳遞給下一個端點的不透明報價控制代碼。報價在約 30 秒內穩定;超過該時間後,重新報價。

2. GET /compute/swap-base-out

反向形式:「我想精確接收 N 個輸出;報價我所需的輸入。」
回應形狀與 swap-base-in 對稱;amount 欄位語義互換。

3. POST /transaction/swap-base-in/transaction/swap-base-out

從第 1 步獲取報價並返回已簽署的版本化交易:
回應:
如果交換需要設定(例如建立 ATA、包裝 SOL),可能返回多個交易。按順序簽署並發送。

最小端對端範例(Python)

這大約 20 行。使用 TS SDK 的等效程式碼約 30 行,但可讓你獲得更豐富的控制權(自訂路由選擇、每個池的計算單位預算、詳細錯誤中繼資料)。

路由和池選擇

交易 API 跨越所有 Raydium 程式(CPMM、CLMM、AMM v4)路由,並為報價的規模選擇最佳執行。特徵:
  • 支援多跳。 SOL→USDC 交換可以透過 wSOL→JUP→USDC 路由,如果這樣更便宜的話。
  • 不支援同一程式內的多池拆分。 單個報價恰好經過一個路徑;如果你想跨池拆分規模,請在客戶端進行(兩個報價、兩個交易)。
  • 穩定 vs 集中。 路由器優先使用 CLMM(當應有的流動性足夠時),對於長尾交易對則退回到 CPMM。
  • AMM v4 包含。 AMM v4 池包含在路由中,但僅在提供比 CPMM/CLMM 替代方案更好的定價時選擇。
要強制透過特定池路由,請改用 SDK — 交易 API 不公開池指定參數。

推薦者參數

附加 &referrer=<wallet_pubkey> 到計算端點以在交換中獲取 1% 推薦費。請參閱 user-flows/referrals-and-blinks 了解語義。當存在時:
  • 報價回應中的 referrerAmount 是將路由到推薦者的絕對金額(以輸入 mint 計)。
  • 最終交易包含到推薦者 ATA 的額外 SPL 代幣轉移。

優先費用

建構請求中的 computeUnitPriceMicroLamports 設定返回的交易的優先費用。經驗法則:
  • 50_000(0.00005 lamports/CU × 200k CU ≈ 0.00001 SOL):最少,適合非擁塞時刻。
  • 200_000:中等擁塞。
  • 1_000_000:嚴重擁塞。
適應性調整,先在 RPC 上呼叫 getRecentPrioritizationFees 並傳遞中位數。請參閱 integration-guides/priority-fee-tuning

交易版本

  • "V0" 返回具有常見帳戶查詢表的版本化(MessageV0)交易。更小、更快。推薦。
  • "LEGACY" 返回舊版交易。更大;僅當你的錢包/基礎設施不處理 V0 時使用。

錯誤形狀

API 返回 HTTP 200 且 success: false 代表邏輯錯誤,HTTP 4xx/5xx 代表傳輸/基礎設施錯誤。 常見邏輯錯誤:
  • "No route found" — 此規模下這兩個 mint 之間無路徑。減少 amount 或重新考慮交易對。
  • "Insufficient liquidity" — 路由存在但會超過 slippageBps。擴大滑點。
  • "Quote expired"swapResponse 超過 30 秒。重新報價。
  • "Unsupported mint" — mint 不在 Raydium 的範圍內(未上市或在已棄用程式上)。

速率限制

  • 報價端點: 每個 IP 每分鐘 120 個請求。
  • 建構端點: 每個 IP 每分鐘 60 個請求(伺服器成本更高)。
  • 超過限制返回 HTTP 429 且帶有 Retry-After 標頭。
如需更高吞吐量,請聯絡 Raydium 開發者關係;提供聚合器層級金鑰。

整合商的架構模式

一切都無狀態 — 你需要在報價呼叫和建構呼叫之間傳遞的唯一東西是報價回應體本身。

下一步

來源:
  • transaction-v1.raydium.io 實時端點。
  • Raydium UI 網路標籤檢查(相同介面消費)。