Skip to main content
本頁內容由 AI 自動翻譯,所有內容以英文版本為準。查看英文版 →
Raydium Perps 是 Orderly Network 上的白標部署。 訂單簿、撮合引擎和帳戶狀態都存在於 Orderly。Raydium SDK v2(@raydium-io/raydium-sdk-v2)不涵蓋 Perps — 若要以程式方式存取,請直接使用 Orderly 的 REST + WebSocket API。下方的程式碼片段展示最常見的流程;規範參考是 Orderly API 介紹,其中包含 REST 端點和 WebSocket 串流的文件。
版本資訊。
  • 後端:Orderly Network REST + WebSocket API
  • 程式碼片段架構已根據 Orderly 的 API(截至 2026-04)驗證
  • 鏈上存入的 Solana 叢集:mainnet-beta
  • 簽署:Solana ed25519 簽署 Orderly EIP-712 風格的承載(Orderly 即使在非 EVM 鏈上也使用 EIP-712 架構;請查看 Orderly 文件以取得最新欄位清單)
Orderly 的 API 表面在不斷演進;在將這些程式碼片段複製到生產環境之前,請檢查 Orderly API 文件。

本頁內容

下方的流程涵蓋整合者相關的生命週期:
  1. 帳戶設定 — 存入 USDC 並向 Orderly 註冊帳戶。
  2. 已驗證的 REST 呼叫 — 請求簽署以進行訂單下單、取消和帳戶查詢。
  3. 交易 — 下市場/限價單、取消、取得部位和成交。
  4. 市場資料 — 訂閱訂單簿和交易 WebSocket。
  5. 提領 — 啟動提領回錢包。
這些程式碼片段針對 Node.js + TypeScript,使用 @solana/web3.js 和 tweetnacl 進行 Ed25519 簽署。它們是起點 — Orderly 的 API 表面很廣泛且變化速度比本頁快;在發佈生產程式碼之前,務必檢查 Orderly 的最新文件。

設定

Orderly 交易金鑰不是你的錢包金鑰對。它是一個請求簽署金鑰,你在首次使用時向錢包註冊;你可以在不觸及資金的情況下輪換它。將其視為工作階段憑證。

帳戶註冊

在下任何訂單之前,向 Orderly 註冊錢包:
帳戶 ID 對於每個 (broker_id, wallet_address) 對都是確定性的 — 註冊是冪等的。如果錢包已經向 Raydium 的代理註冊,呼叫會返回相同的帳戶 ID,而不會建立新帳戶。

存入 USDC

存入會將 USDC 從錢包 ATA 移至 Orderly 的結算保管庫。它們是鏈上 Solana 交易:
約 30 秒後,Orderly 的中繼器會索引存入,餘額會顯示在帳戶的可用保證金下。查詢 /v1/client/holding 以確認:
(orderlyAuthGet 定義如下 — 每個已驗證的呼叫都通過它。)

請求簽署輔助函式

每個對 Orderly 的已驗證 REST 呼叫都帶有 Ed25519 簽署,簽署內容為 (timestamp + method + path + body):
重放保護:時間戳記與伺服器時鐘相差超過 5 秒的請求會被拒絕。同步你的時鐘(NTP)並避免提前簽署請求。

下市場單

市場單立即執行。回應返回結果的 order_id 加上狀態。成交通過 WebSocket 傳來(見下方);REST 回應本身不會阻塞直到完全成交。

下限價單(Post-Only)

對於 IOC / FOK,設定 time_in_force: "IOC" 或 "FOK"。查看 products/perps/order-types 以了解每個旗標的語義。

取消訂單

取消會同步確認,但實際取消可能與成交競爭。始終通過輪詢 /v1/orders 或監視 WebSocket 進行協調 — 假設取消成功而不確認可能導致重複或意外部位。

取得開放部位

負的 position_qty 是空頭,正的是多頭。position_qty == 0 表示部位已平倉,但該列可能會保留到下次清理。

取得成交歷史

時間引數是毫秒 Unix 時間戳記。預設頁面大小為 25 列;使用 page 和 size 查詢參數進行分頁。

WebSocket:市場資料

對於私有串流(你的成交、部位更新、餘額變化),WebSocket 必須經過驗證。發送一個簽署的 subscribe 承載,簽署方式與 REST 請求相同,範圍限於你的帳戶 ID。Orderly 的文件有確切的承載形狀;它偶爾會變化,所以不要在這裡硬編碼特定的架構。

提領 USDC

Orderly 將提領中繼到鏈上的接收者地址。有一筆固定的 1 USDC 提領費用(見 products/perps/fees)。鏈上轉帳在正常情況下在 1–2 分鐘內進行;在擁塞期間預期更長。

陷阱

  • 不要在環境之間重複使用交易金鑰。 針對你的錢包註冊的單個 Orderly 交易金鑰與一個 Solana 主網帳戶相關聯。如果你還需要 devnet 或 staging,為每個環境生成一個獨立的金鑰。
  • 時間同步。 Orderly 的時鐘偏差容限很緊(±5 秒)。在長時間執行的服務上,NTP 漂移最終會破壞簽署。定期重新同步。
  • WebSocket 重新連接。 公開 WS 在 Orderly 升級期間偶爾會斷開連接。實現指數退避並在重新開啟時重新訂閱。
  • 速率限制。 REST 呼叫按帳戶進行分層速率限制。當你有超過 5 個訂單要取消時,通過 cancel_all 進行批量取消,而不是迴圈 cancel-by-id。
  • 部位方向是隱含的。 在 PERP_SOL_USDC 上的 BUY 訂單開啟或延伸多頭;SELL 開啟或延伸空頭 — 但如果你已經是多頭,SELL 減少(並可能翻轉)部位,因為 Raydium Perps 是單向模式。在下訂單前始終檢查當前部位,如果方向很重要。
  • 融資和清算與訂單流分開。 融資支付和清算顯示為單獨的事件串流;它們不是「訂單」。如果你需要觀察它們,訂閱相關的私有 WS 主題。

後續步驟

來源:
  • Orderly Network 開發者文件 — 上述 API 表面的規範參考。Raydium Perps 直接使用此。
  • Orderly 支援的鏈 — 確認 Solana 的狀態和每條鏈的結算保管庫地址。
  • OrderlyNetwork/orderly-sdk-js — 同一 REST 層上的社群可見 JS 包裝器。它沒有已發佈的版本且沒有聲明的維護政策,所以將其視為參考程式碼而不是依賴;上面的簽署層足夠小,可以自己擁有。