> ## 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.

# Perps API の概要

> Raydium Perpetual Futures の設定およびメタデータサービス。

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

  [英語版を表示 →](/api-reference/perp-api-v1/overview)
</Info>

## 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 バージョンがまだサポートされているかを確認します。

**レスポンス**:

```json theme={null}
{
  "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 取引量、および総オープンインタレスト/ロングオープンインタレスト/ショートオープンインタレストを表示します。

**レスポンス**:

```json theme={null}
{
  "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 の背後にある場合）
* ヘッダーがない場合はデフォルト設定にフォールバックします
* 地域ごとの利用可能性状態を返します

**レスポンス**:

```json theme={null}
{
  "id": "...",
  "success": true,
  "data": {
    "available": true,
    "country": "US"
  }
}
```

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

初期認証または一時的な署名用の一時 Ed25519 キーペアを生成します。

**用途**: 特定の認証フロー向けの非カストディアル一時キー生成。

**レスポンス**:

```json theme={null}
{
  "id": "...",
  "success": true,
  "data": {
    "key": "ed25519:AAAA..."
  }
}
```

### プールエンドポイント

パープマーケット設定。

#### `GET /pool/default-list`

24h/7d/30d 取引量付きのデフォルトパープマーケットのリストを返します。

**用途**: マーケットセレクタまたはダッシュボードウィジェットに利用可能なパープペアを入力します。

**レスポンス**:

```json theme={null}
{
  "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、スコア、獲得報酬）を返します。

**用途**: ユーザーのプロフィールまたはアカウントダッシュボードに表示します。

**レスポンス**（履歴なしのユーザーはゼロデータにデフォルト）:

```json theme={null}
{
  "id": "...",
  "success": true,
  "data": {
    "userInfo": {
      "index": "42",
      "walletAddress": "11111...1111",
      "volume": 500000,
      "pnl": 25000,
      "pnlW": 22500,
      "score": 850,
      "rewards": [...]
    }
  }
}
```

#### `GET /campaign/list?index=0`

与えられたキャンペーン インデックス（ページ分割）のリーダーボードを返します。

**用途**: トップトレーダーとランキングを表示します。

**レスポンス**:

```json theme={null}
{
  "id": "...",
  "success": true,
  "data": {
    "updateTime": 1699999999000,
    "rows": [
      {
        "rank": 1,
        "wallet": "11111...1111",
        "volume": 5000000,
        "pnl": 250000,
        "score": 9500
      }
    ]
  }
}
```

### シェアエンドポイント

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

#### `POST /share/position`

ユーザーの現在のパープポジションのシェア可能な画像を生成します。

**用途**: ライブポジションのソーシャル共有（Twitter、Discord）。

**リクエスト**:

```json theme={null}
{
  "symbol": "BTC/USDC",
  "side": "long",
  "size": "0.5",
  "entryPrice": "45000",
  "markPrice": "46000",
  "pnl": "500",
  "leverage": "5x"
}
```

**レスポンス**:

```json theme={null}
{
  "id": "...",
  "success": true,
  "data": {
    "imgFileName": "abc123def456",
    "msg": "Position image generated"
  }
}
```

#### `POST /share/history-position`

実現 P\&L 付きのクローズドポジションのシェア可能な画像を生成します。

**用途**: 利益/損失詳細付きのクローズドトレードをシェアします。

**リクエスト**:

```json theme={null}
{
  "symbol": "ETH/USDC",
  "side": "short",
  "size": "10",
  "entryPrice": "2500",
  "exitPrice": "2450",
  "realizedPnl": "500"
}
```

**レスポンス**: `/share/position` と同じです。

## レスポンスエンベロープ

すべてのエンドポイントは標準エンベロップを返します：

```json theme={null}
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "success": true,
  "data": { ... }
}
```

エラー時：

```json theme={null}
{
  "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）で処理されます。サポートされている地域と制限はサーバー側で設定され、定期的に更新されます。

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

| 環境         | ホスト                      |
| ---------- | ------------------------ |
| Production | `api-perp-v1.raydium.io` |

devnet バージョンはなく、パープ取引はメインネットのみです。

## Orderly Network との連携

注文を発注するには：

1. `/campaign/user` または `/main/info` を呼び出して、メタデータをフェッチしてユーザーに表示します
2. **Orderly Network の API**（このサービスではなく）に注文を送信します
3. Orderly は取引確認とポジション状態を返します
4. 後で `/campaign/user` を再度呼び出して、更新された統計を確認します

Raydium のパープ API は注文発注を処理しません。これは純粋に読み取り専用のメタデータと設定です。

## 関連項目

* [OpenAPI 仕様](/ja/api-reference/openapi/perp-api-v1.yaml)
* [Raydium Perpetual Futures](/ja/products/perps)
* [Orderly Network](https://orderly.network)
