Skip to main content
Cette page est traduite automatiquement par IA. La version anglaise fait foi.Voir la version anglaise →
Raydium Perps est un déploiement white-label sur Orderly Network. Le carnet d’ordres, le moteur d’appairage et l’état du compte résident tous sur Orderly. Le SDK Raydium v2 (@raydium-io/raydium-sdk-v2) ne couvre pas les perps — pour un accès programmatique, utilisez directement l’API REST + WebSocket d’Orderly. Les extraits ci-dessous montrent les flux les plus courants ; la référence canonique est l’introduction à l’API Orderly, avec les points de terminaison REST et les flux WebSocket documentés sous celle-ci.
Banneau de version.
  • Backend : API REST + WebSocket d’Orderly Network
  • Schéma des extraits vérifié par rapport à l’API d’Orderly à partir d’avril 2026
  • Cluster Solana pour les dépôts on-chain : mainnet-beta
  • Signature : Ed25519 Solana sur la charge utile de style EIP-712 d’Orderly (Orderly utilise un schéma EIP-712 même pour les chaînes non-EVM ; consultez la documentation d’Orderly pour la dernière liste de champs)
La surface de l’API d’Orderly évolue ; consultez la documentation de l’API Orderly avant de copier ces extraits en production.

Ce qui se trouve sur cette page

Les flux ci-dessous couvrent le cycle de vie pertinent pour l’intégrateur :
  1. Configuration du compte — dépôt d’USDC et enregistrement du compte auprès d’Orderly.
  2. Appels REST authentifiés — demande de signature pour le placement d’ordres, l’annulation et les requêtes de compte.
  3. Trading — placement d’ordres au marché/limités, annulation, récupération des positions et des remplissages.
  4. Données de marché — souscription au carnet d’ordres et au WebSocket de trading.
  5. Retrait — initiation d’un retrait vers le portefeuille.
Ces extraits ciblent Node.js + TypeScript avec @solana/web3.js et tweetnacl pour la signature Ed25519. Ils sont des points de départ — la surface de l’API d’Orderly est large et change plus vite que cette page ; consultez toujours la documentation en direct d’Orderly avant de déployer du code en production.

Configuration

La clé de trading Orderly n’est pas votre paire de clés de portefeuille. C’est une clé de signature de requête que vous enregistrez auprès de votre portefeuille lors de la première utilisation ; vous pouvez la faire tourner sans toucher aux fonds. Traitez-la comme une credential de session.

Enregistrement du compte

Avant de placer des ordres, enregistrez le portefeuille auprès d’Orderly :
Les ID de compte sont déterministes par paire (broker_id, wallet_address) — l’enregistrement est idempotent. Si un portefeuille s’est déjà enregistré auprès du courtier Raydium, l’appel retourne le même ID de compte sans en créer un nouveau.

Dépôt d’USDC

Les dépôts déplacent l’USDC du portefeuille ATA vers le coffre de règlement d’Orderly. Ce sont des transactions Solana on-chain :
Après environ 30 secondes, le relayeur d’Orderly indexe le dépôt et le solde s’affiche sous la marge libre du compte. Interrogez /v1/client/holding pour confirmer :
(orderlyAuthGet est défini ci-dessous — chaque appel authentifié passe par lui.)

Aide à la signature de requête

Chaque appel REST authentifié à Orderly porte une signature Ed25519 sur (timestamp + method + path + body) :
Protection contre la relecture : les requêtes avec un timestamp décalé de plus de 5 secondes par rapport à l’horloge du serveur sont rejetées. Synchronisez votre horloge (NTP) et évitez de signer les requêtes à l’avance.

Placer un ordre au marché

Les ordres au marché s’exécutent immédiatement. La réponse retourne l’order_id résultant plus un statut. Les remplissages arrivent via le WebSocket (voir ci-dessous) ; la réponse REST elle-même ne bloque pas jusqu’à être complètement remplie.

Placer un ordre limité avec Post-Only

Pour IOC / FOK, définissez time_in_force: "IOC" ou "FOK". Consultez products/perps/order-types pour la sémantique de chaque drapeau.

Annuler un ordre

Une annulation est reconnue de manière synchrone mais l’annulation réelle peut être en concurrence avec un remplissage. Réconciliez toujours en interrogeant /v1/orders ou en regardant le WebSocket — supposer qu’une annulation a réussi sans confirmation peut entraîner des positions dupliquées ou involontaires.

Récupérer les positions ouvertes

Un position_qty négatif est une vente à découvert, positif est une position longue. position_qty == 0 signifie que la position est fermée mais la ligne peut toujours s’afficher jusqu’au prochain nettoyage.

Récupérer l’historique des remplissages

Les arguments de temps sont des timestamps Unix en millisecondes. La taille de page par défaut est 25 lignes ; utilisez les paramètres de requête page et size pour paginer.

WebSocket : données de marché

Pour le flux privé (vos remplissages, mises à jour de position, changements de solde), le WebSocket doit être authentifié. Envoyez une charge utile subscribe signée de la même manière que les requêtes REST, limitée à votre ID de compte. La documentation d’Orderly a la forme exacte de la charge utile ; elle change occasionnellement, donc ne codez pas en dur un schéma particulier ici.

Retrait d’USDC

Orderly relaye le retrait on-chain vers l’adresse du destinataire. Il y a des frais de retrait fixes de 1 USDC (consultez products/perps/fees). Le transfert on-chain se produit dans 1–2 minutes dans des conditions normales ; attendez-vous à plus long en cas de congestion.

Pièges

  • Ne réutilisez pas la clé de trading entre les environnements. Une seule clé de trading Orderly enregistrée auprès de votre portefeuille est associée à un compte mainnet Solana. Si vous avez également besoin de devnet ou de staging, générez une clé distincte pour chacun.
  • Synchronisation de l’horloge. La tolérance de décalage d’horloge d’Orderly est serrée (±5s). Sur les services de longue durée, la dérive NTP finira par casser la signature. Resynchronisez périodiquement.
  • Reconnexions WebSocket. Le WS public abandonne occasionnellement les connexions lors des mises à jour d’Orderly. Implémentez un backoff exponentiel et réabonnez-vous à la réouverture.
  • Limites de débit. Les appels REST sont limités par taux par compte. Annulez en masse via cancel_all plutôt que de boucler cancel-par-id quand vous avez >5 ordres à annuler.
  • La direction de la position est implicite. Un ordre BUY sur PERP_SOL_USDC ouvre ou prolonge une position longue ; un SELL ouvre ou prolonge une position courte — mais si vous êtes déjà long, un SELL réduit (et peut inverser) la position car Raydium Perps est en mode unidirectionnel. Vérifiez toujours la position actuelle avant de placer un ordre si la direction importe.
  • Le financement et les liquidations sont distincts du flux d’ordres. Les paiements de financement et les liquidations s’affichent comme des flux d’événements distincts ; ce ne sont pas des « ordres ». Abonnez-vous aux sujets WS privés pertinents si vous avez besoin de les observer.

Où aller ensuite

Sources :
  • Documentation pour développeurs d’Orderly Network — référence canonique pour la surface de l’API utilisée ci-dessus. Raydium Perps la consomme directement.
  • Chaînes prises en charge par Orderly — confirme le statut de Solana et les adresses du coffre de règlement par chaîne.
  • OrderlyNetwork/orderly-sdk-js — un wrapper JS visible par la communauté sur la même couche REST. Il n’a pas de versions publiées et aucune politique de maintenance déclarée, donc traitez-le comme du code de référence plutôt que comme une dépendance ; la couche de signature ci-dessus est assez petite pour être possédée.