Skip to main content
Trang này được dịch tự động bằng AI. Phiên bản tiếng Anh là bản chính thức.Xem bản tiếng Anh →
Raydium Perps là một triển khai được gắn nhãn trắng trên Orderly Network. Sổ lệnh, công cụ khớp lệnh và trạng thái tài khoản đều nằm trên Orderly. SDK v2 của Raydium (@raydium-io/raydium-sdk-v2) không hỗ trợ perps — để truy cập lập trình, hãy sử dụng trực tiếp API REST + WebSocket của Orderly. Các đoạn mã dưới đây minh họa các luồng phổ biến nhất; tài liệu tham khảo chính thức là giới thiệu API Orderly, với các điểm cuối REST và các luồng WebSocket được ghi chép dưới đó.
Biểu ngữ phiên bản.
  • Backend: Orderly Network REST + WebSocket API
  • Lược đồ đoạn mã được xác minh với API của Orderly tính đến 2026-04
  • Cụm Solana cho các khoản gửi trên chuỗi: mainnet-beta
  • Ký: Solana ed25519 trên tải trọng kiểu EIP-712 của Orderly (Orderly sử dụng lược đồ EIP-712 ngay cả cho các chuỗi không phải EVM; xem tài liệu Orderly để biết danh sách trường mới nhất)
Bề mặt API của Orderly phát triển; hãy kiểm tra tài liệu API Orderly trước khi sao chép các đoạn mã này vào sản xuất.

Nội dung trang này

Các luồng dưới đây bao gồm vòng đời liên quan đến nhà tích hợp:
  1. Thiết lập tài khoản — gửi USDC và đăng ký tài khoản với Orderly.
  2. Các cuộc gọi REST được xác thực — yêu cầu ký để đặt lệnh, hủy lệnh và truy vấn tài khoản.
  3. Giao dịch — đặt lệnh thị trường/giới hạn, hủy, lấy vị thế và lệnh điền.
  4. Dữ liệu thị trường — đăng ký sổ lệnh và WebSocket giao dịch.
  5. Rút tiền — bắt đầu rút tiền trở lại ví.
Các đoạn mã này nhắm mục tiêu Node.js + TypeScript với @solana/web3.js và tweetnacl để ký Ed25519. Chúng là điểm khởi đầu — bề mặt API của Orderly rộng lớn và thay đổi nhanh hơn trang này; luôn kiểm tra tài liệu trực tiếp của Orderly trước khi triển khai mã sản xuất.

Thiết lập

Khóa giao dịch Orderly không phải là cặp khóa ví của bạn. Đó là một khóa ký yêu cầu mà bạn đăng ký với ví của mình khi sử dụng lần đầu; bạn có thể xoay nó mà không cần chạm vào quỹ. Coi nó như một thông tin xác thực phiên.

Đăng ký tài khoản

Trước khi đặt bất kỳ lệnh nào, hãy đăng ký ví với Orderly:
ID tài khoản là xác định cho mỗi cặp (broker_id, wallet_address) — đăng ký là idempotent. Nếu ví đã đăng ký với broker của Raydium, cuộc gọi sẽ trả về cùng một ID tài khoản mà không tạo cái mới.

Gửi USDC

Các khoản gửi di chuyển USDC từ ATA ví đến kho lưu trữ thanh toán của Orderly. Chúng là các giao dịch Solana trên chuỗi:
Sau ~30 giây, relayer của Orderly lập chỉ mục khoản gửi và số dư xuất hiện dưới lợi nhuận tự do của tài khoản. Truy vấn /v1/client/holding để xác nhận:
(orderlyAuthGet được định nghĩa dưới đây — mọi cuộc gọi được xác thực đều đi qua nó.)

Trợ giúp ký yêu cầu

Mọi cuộc gọi REST được xác thực tới Orderly đều mang chữ ký Ed25519 trên (timestamp + method + path + body):
Bảo vệ phát lại: các yêu cầu có timestamp lệch hơn 5 giây so với đồng hồ máy chủ sẽ bị từ chối. Đồng bộ hóa đồng hồ của bạn (NTP) và tránh ký các yêu cầu trước.

Đặt lệnh thị trường

Các lệnh thị trường được thực hiện ngay lập tức. Phản hồi trả về order_id kết quả cộng với trạng thái. Các lệnh điền đến qua WebSocket (xem dưới); phản hồi REST chính nó không chặn cho đến khi được điền đầy đủ.

Đặt lệnh giới hạn với Post-Only

Đối với IOC / FOK, hãy đặt time_in_force: "IOC" hoặc "FOK". Xem products/perps/order-types để biết ngữ nghĩa của mỗi cờ.

Hủy lệnh

Hủy được xác nhận đồng bộ nhưng hủy thực tế có thể chạy đua với lệnh điền. Luôn điều hòa bằng cách thăm dò /v1/orders hoặc xem WebSocket — giả định hủy thành công mà không có xác nhận có thể dẫn đến vị thế trùng lặp hoặc không mong muốn.

Lấy vị thế mở

position_qty âm là short, dương là long. position_qty == 0 có nghĩa là vị thế đã đóng nhưng hàng có thể vẫn hiển thị cho đến lần dọn dẹp tiếp theo.

Lấy lịch sử lệnh điền

Các đối số thời gian là dấu thời gian Unix tính bằng mili giây. Kích thước trang mặc định là 25 hàng; sử dụng các tham số truy vấn page và size để phân trang.

WebSocket: dữ liệu thị trường

Đối với luồng riêng tư (các lệnh điền, cập nhật vị thế, thay đổi số dư của bạn), WebSocket phải được xác thực. Gửi tải trọng subscribe được ký theo cách tương tự như các yêu cầu REST, được phạm vi cho ID tài khoản của bạn. Tài liệu của Orderly có hình dạng tải trọng chính xác; nó thay đổi thỉnh thoảng, vì vậy đừng mã hóa cứng một lược đồ cụ thể ở đây.

Rút USDC

Orderly chuyển tiếp rút tiền trên chuỗi cho địa chỉ nhận. Có phí rút tiền cố định 1 USDC (xem products/perps/fees). Chuyển giao trên chuỗi xảy ra trong vòng 1–2 phút trong điều kiện bình thường; mong đợi lâu hơn trong tình trạng tắc nghẽn.

Những cạm bẫy

  • Đừng tái sử dụng khóa giao dịch trên các môi trường. Một khóa giao dịch Orderly duy nhất được đăng ký với ví của bạn được liên kết với một tài khoản mainnet Solana. Nếu bạn cũng cần devnet hoặc staging, hãy tạo một khóa riêng cho mỗi khóa.
  • Đồng bộ hóa thời gian. Dung sai lệch đồng hồ của Orderly rất chặt (±5s). Trên các dịch vụ chạy lâu dài, độ trôi NTP cuối cùng sẽ phá vỡ ký. Đồng bộ hóa lại định kỳ.
  • Kết nối lại WebSocket. WS công khai thỉnh thoảng bỏ kết nối trong quá trình nâng cấp Orderly. Triển khai backoff theo cấp số nhân và đăng ký lại khi mở lại.
  • Giới hạn tốc độ. Các cuộc gọi REST được giới hạn tốc độ theo cấp độ cho mỗi tài khoản. Hủy hàng loạt thông qua cancel_all thay vì vòng lặp cancel-by-id khi bạn có >5 lệnh để hủy.
  • Hướng vị thế là ngầm. Lệnh BUY trên PERP_SOL_USDC mở hoặc mở rộng long; SELL mở hoặc mở rộng short — nhưng nếu bạn đã long, SELL giảm (và có thể lật) vị thế vì Raydium Perps ở chế độ một chiều. Luôn kiểm tra vị thế hiện tại trước khi đặt lệnh nếu hướng quan trọng.
  • Tài trợ và thanh lý tách biệt với luồng lệnh. Các khoản thanh toán tài trợ và thanh lý xuất hiện dưới dạng các luồng sự kiện riêng biệt; chúng không phải là “lệnh”. Đăng ký các chủ đề WS riêng tư liên quan nếu bạn cần quan sát chúng.

Tiếp theo

Nguồn:
  • Tài liệu nhà phát triển Orderly Network — tài liệu tham khảo chính thức cho bề mặt API được sử dụng ở trên. Raydium Perps tiêu thụ điều này trực tiếp.
  • Các chuỗi được hỗ trợ bởi Orderly — xác nhận trạng thái của Solana và các địa chỉ kho lưu trữ thanh toán trên mỗi chuỗi.
  • OrderlyNetwork/orderly-sdk-js — một trình bao bọc JS nhìn thấy cộng đồng trên cùng một lớp REST. Nó không có bản phát hành được công bố và không có chính sách bảo trì được nêu rõ, vì vậy hãy coi nó là mã tham khảo thay vì phụ thuộc; lớp ký ở trên đủ nhỏ để sở hữu.