Skip to main content
Эта страница переведена с помощью ИИ. За эталон принимается английская версия.Открыть английскую версию →
Raydium Perps — это белый лейбл на базе Orderly Network. Биржевой стакан, механизм маршрутизации заявок и состояние счета полностью размещены в Orderly. SDK Raydium v2 (@raydium-io/raydium-sdk-v2) не покрывает perps — для программного доступа используйте REST и WebSocket API Orderly напрямую. Приведённые ниже примеры показывают наиболее распространённые сценарии; полная справка находится на сайте orderly.network/docs.
Информация о версии.
  • Бэкенд: Orderly Network REST + WebSocket API
  • Примеры кода проверены относительно API Orderly на апрель 2026 г.
  • Кластер Solana для внесения депозитов: mainnet-beta
  • Подпись: ed25519 Solana над полезной нагрузкой в стиле EIP-712 Orderly (Orderly использует схему EIP-712 даже для немейнетов; см. документацию Orderly для актуального списка полей)
API-поверхность Orderly эволюционирует; перед использованием этих примеров в боевом коде проверьте orderly.network/docs.

Содержание страницы

Приведённые ниже сценарии охватывают основные этапы жизненного цикла:
  1. Настройка счета — внесение USDC и регистрация счета в Orderly.
  2. Аутентифицированные REST-запросы — запрос подписей для размещения ордеров, отмены и запросов состояния счета.
  3. Торговля — размещение рыночных / лимитных ордеров, отмена, получение позиций и истории сделок.
  4. Данные рынка — подписка на WebSocket стакана и сделок.
  5. Вывод — инициирование вывода средств в кошелёк.
Эти примеры предназначены для Node.js + TypeScript с @solana/web3.js и tweetnacl для подписи Ed25519. Это отправные точки — API-поверхность Orderly обширна и изменяется быстрее, чем эта страница; перед выпуском боевого кода всегда проверяйте живую документацию Orderly.

Настройка

Ключ торговли Orderly — это не ваша пара ключей кошелька. Это ключ для подписи запросов, который вы регистрируете по отношению к вашему кошельку при первом использовании; вы можете ротировать его без изменения средств. Обращайтесь с ним как с учётными данными сеанса.

Регистрация счета

Перед размещением каких-либо ордеров зарегистрируйте кошелёк в Orderly:
ID счетов детерминированы для каждой пары (broker_id, wallet_address) — регистрация идемпотентна. Если кошелёк уже зарегистрирован с брокером Raydium, вызов вернёт тот же ID счета без создания нового.

Внесение USDC

Депозиты переводят USDC из ATA кошелька в хранилище расчётов Orderly. Это транзакции на Solana:
Через ~30 секунд реле Orderly индексирует депозит и баланс появляется в свободной маржа счета. Запросите /v1/client/holding для подтверждения:
(orderlyAuthGet определён ниже — каждый аутентифицированный вызов проходит через него.)

Вспомогательный для подписи запросов

Каждый аутентифицированный REST-вызов к Orderly содержит подпись Ed25519 над (timestamp + method + path + body):
Защита от повтора: запросы с timestamp отличающимся более чем на 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-вызовы ограничены по скорости уровня на счёт. Используйте cancel_all для массовой отмены, а не цикл cancel-по-id при наличии >5 ордеров на отмену.
  • Направление позиции неявно. Ордер BUY на PERP_SOL_USDC открывает или расширяет длинную позицию; SELL открывает или расширяет короткую позицию — но если вы уже длинны, SELL сокращает (и может развернуть) позицию, потому что Raydium Perps находится в одностороннем режиме. Всегда проверяйте текущую позицию перед размещением ордера, если направление имеет значение.
  • Финансирование и ликвидации отделены от потока ордеров. Платежи финансирования и ликвидации отображаются как отдельные потоки событий; они не являются “ордерами”. Подпишитесь на соответствующие приватные WS-темы, если вам нужно их наблюдать.

Что дальше

Источники:
  • Документация разработчика Orderly Network — каноническая справка для API-поверхности, используемой выше. Raydium Perps потребляет это напрямую.
  • TypeScript SDK Orderly — обёртывает тот же уровень REST/WebSocket с типизированными помощниками; полезно, если вы хотите пропустить написание самого уровня подписи.