メインコンテンツへスキップ

Documentation Index

Fetch the complete documentation index at: https://docs.raydium.io/llms.txt

Use this file to discover all available pages before exploring further.

このページは AI による自動翻訳です。すべての内容は英語版を正とします。英語版を表示 →

Perps API とは

Raydium Perps API(V1)は、Raydium Perpetual Futures フロントエンドおよび連携システム向けの設定およびメタデータサービスです。以下を提供します:
  • UI 設定 – 現在のバージョン、最小バージョンサポート
  • RPC エンドポイント – ホワイトリストに登録された Solana RPC エンドポイント
  • マーケット統計 – 24h/7d/30d の取引量とオープンインタレスト
  • 地域制限 – 国ごとの利用可能性チェック
  • プールメタデータ – アクティブなパープマーケットと取引量データ
  • キャンペーンデータ – リーダーボード、ユーザー統計、報酬
  • P&L シェアリング – シェア可能なポジションスクリーンショットの生成
重要: 注文の発注自体は Orderly Network の API で処理されます。このサービスはフロントエンドのサポートとメタデータに焦点を当てています。

アーキテクチャの概要

Perps システムは 2 つの独立したコンポーネントで構成されます:
  1. Raydium Perp API(このサービス) – 設定を読み込み、UI データを提供し、画像を生成します
  2. Orderly Network – 注文を実行し、ポジションと決済を管理します
ユーザーが Raydium UI を通じてパープ注文を発注する場合:
  1. UI はこの API からマーケット設定(プール、RPC、利用可能性)をフェッチします
  2. UI は注文を Orderly Network の API に送信します
  3. Orderly は注文を実行し、ポジション状態を保持します
  4. UI は Orderly の API またはキャンペーンエンドポイントからポジションデータと統計を取得します
この分離により、Raydium はメタデータとブランディングを管理でき、Orderly は注文マッチングと決済の重い処理を担当します。

カテゴリ別 API エンドポイント

メインエンドポイント

コアサービス情報と利用可能性チェック。

GET /main/version

現在の安定 UI バージョンと最小サポートバージョンを返します。 用途: クライアント側 UI バージョンがまだサポートされているかを確認します。 レスポンス:
{
  "id": "...",
  "success": true,
  "data": {
    "latest": "1.2.0",
    "least": "1.0.0"
  }
}

GET /main/rpcs

UI が使用するホワイトリスト登録済みの Solana RPC エンドポイントを返します。 用途: UI の RPC セレクタを入力します。クライアントが安定した Raydium 承認エンドポイントに接続することを保証します。

GET /main/info

マーケット全体の統計を返します。 用途: ダッシュボード上の 24h 取引量、7d 取引量、30d 取引量、および総オープンインタレスト/ロングオープンインタレスト/ショートオープンインタレストを表示します。 レスポンス:
{
  "id": "...",
  "success": true,
  "data": {
    "volume": {
      "24h": 1234567,
      "7d": 9876543,
      "30d": 50000000
    },
    "openInterest": {
      "long": 5000000,
      "short": 3000000,
      "all": 8000000
    }
  }
}

GET /main/availability-check

ユーザーの地域でパープ取引が利用可能かどうかをチェックします。 用途: 制限地域(例:USA)でのアクセスを警告または制限します。 仕組み:
  • Cloudflare の cf-ipcountry ヘッダーを読み込みます(Cloudflare の背後にある場合)
  • ヘッダーがない場合はデフォルト設定にフォールバックします
  • 地域ごとの利用可能性状態を返します
レスポンス:
{
  "id": "...",
  "success": true,
  "data": {
    "available": true,
    "country": "US"
  }
}

GET /main/temp-key?wallet=...

初期認証または一時的な署名用の一時 Ed25519 キーペアを生成します。 用途: 特定の認証フロー向けの非カストディアル一時キー生成。 レスポンス:
{
  "id": "...",
  "success": true,
  "data": {
    "key": "ed25519:AAAA..."
  }
}

プールエンドポイント

パープマーケット設定。

GET /pool/default-list

24h/7d/30d 取引量付きのデフォルトパープマーケットのリストを返します。 用途: マーケットセレクタまたはダッシュボードウィジェットに利用可能なパープペアを入力します。 レスポンス:
{
  "id": "...",
  "success": true,
  "data": [
    {
      "symbol": "BTC/USDC",
      "volume24h": "1000000",
      "volume7d": "7000000",
      "volume30d": "30000000"
    }
  ]
}

キャンペーンエンドポイント

リーダーボード、ユーザー統計、報酬データ。

GET /campaign/configs

アクティブなキャンペーンパラメータとルールを返します。 用途: キャンペーン条件と参加要件を UI に表示します。

GET /campaign/user?wallet=...&index=0

ユーザーのキャンペーン統計(取引量、P&L、スコア、獲得報酬)を返します。 用途: ユーザーのプロフィールまたはアカウントダッシュボードに表示します。 レスポンス(履歴なしのユーザーはゼロデータにデフォルト):
{
  "id": "...",
  "success": true,
  "data": {
    "userInfo": {
      "index": "42",
      "walletAddress": "11111...1111",
      "volume": 500000,
      "pnl": 25000,
      "pnlW": 22500,
      "score": 850,
      "rewards": [...]
    }
  }
}

GET /campaign/list?index=0

与えられたキャンペーン インデックス(ページ分割)のリーダーボードを返します。 用途: トップトレーダーとランキングを表示します。 レスポンス:
{
  "id": "...",
  "success": true,
  "data": {
    "updateTime": 1699999999000,
    "rows": [
      {
        "rank": 1,
        "wallet": "11111...1111",
        "volume": 5000000,
        "pnl": 250000,
        "score": 9500
      }
    ]
  }
}

シェアエンドポイント

シェア可能なポジションスクリーンショットを生成します。

POST /share/position

ユーザーの現在のパープポジションのシェア可能な画像を生成します。 用途: ライブポジションのソーシャル共有(Twitter、Discord)。 リクエスト:
{
  "symbol": "BTC/USDC",
  "side": "long",
  "size": "0.5",
  "entryPrice": "45000",
  "markPrice": "46000",
  "pnl": "500",
  "leverage": "5x"
}
レスポンス:
{
  "id": "...",
  "success": true,
  "data": {
    "imgFileName": "abc123def456",
    "msg": "Position image generated"
  }
}

POST /share/history-position

実現 P&L 付きのクローズドポジションのシェア可能な画像を生成します。 用途: 利益/損失詳細付きのクローズドトレードをシェアします。 リクエスト:
{
  "symbol": "ETH/USDC",
  "side": "short",
  "size": "10",
  "entryPrice": "2500",
  "exitPrice": "2450",
  "realizedPnl": "500"
}
レスポンス: /share/position と同じです。

レスポンスエンベロープ

すべてのエンドポイントは標準エンベロップを返します:
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "success": true,
  "data": { ... }
}
エラー時:
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "success": false,
  "msg": "Error message or code"
}

キャッシング

ほとんどのエンドポイントは cache-control: max-age=60 ヘッダーを返します。これは以下を意味します:
  • 結果はサーバー側でキャッシュされ、60 秒ごとに更新されます
  • クライアントは負荷を軽減するために 60 秒間キャッシュすることもできます
  • リアルタイムデータは保証されません。0~60 秒の遅延を想定してください

地域ごとの利用可能性

地域制限は cf-ipcountry ヘッダー(Cloudflare)で処理されます。サポートされている地域と制限はサーバー側で設定され、定期的に更新されます。

ネットワークエンドポイント

環境ホスト
Productionapi-perp-v1.raydium.io
devnet バージョンはなく、パープ取引はメインネットのみです。

Orderly Network との連携

注文を発注するには:
  1. /campaign/user または /main/info を呼び出して、メタデータをフェッチしてユーザーに表示します
  2. Orderly Network の API(このサービスではなく)に注文を送信します
  3. Orderly は取引確認とポジション状態を返します
  4. 後で /campaign/user を再度呼び出して、更新された統計を確認します
Raydium のパープ API は注文発注を処理しません。これは純粋に読み取り専用のメタデータと設定です。

関連項目