> ## 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>
  **Эта страница переведена с помощью ИИ. За эталон принимается английская версия.**

  [Открыть английскую версию →](/api-reference/perp-api-v1/overview)
</Info>

## Что такое Perps API?

Raydium Perps API (V1) — это сервис конфигурации и метаданных для фронтенда и интеграций Raydium Perpetual Futures. Он предоставляет:

* **UI конфигурация** – текущая версия, поддержка минимальной версии
* **RPC endpoints** – одобренные Raydium Solana RPC endpoints для UI
* **Статистика рынков** – объём торговли и открытый интерес за 24ч/7д/30д
* **Региональные ограничения** – проверка доступности по странам
* **Метаданные пулов** – активные перп-маркеты и данные объёма
* **Данные кампаний** – лидерборд, статистика пользователей и вознаграждения
* **Обмен P\&L** – генерация скриншотов позиций для поделиться

**Важно**: размещение ордеров выполняется Orderly Network API. Этот сервис сосредоточен на поддержке фронтенда и метаданных.

## Обзор архитектуры

Система Perps состоит из двух независимых компонентов:

1. **Raydium Perp API (этот сервис)** – читает конфигурацию, предоставляет данные UI, генерирует изображения
2. **Orderly Network** – выполняет ордеры, управляет позициями и расчётом

Когда пользователь размещает перп-ордер через UI Raydium:

1. UI получает конфигурацию рынка из этого API (пулы, RPC, доступность)
2. UI отправляет ордер в Orderly Network API
3. Orderly выполняет ордер и ведёт состояние позиции
4. UI получает данные позиции и статистику из Orderly API или нашей конечной точки кампании

Такое разделение позволяет Raydium управлять метаданными и брендированием, а Orderly — обрабатывать сопоставление и расчёт ордеров.

## Endpoints API по категориям

### Main Endpoints

Основная информация сервиса и проверка доступности.

#### `GET /main/version`

Возвращает текущую стабильную версию UI и минимально поддерживаемую версию.

**Использование**: проверить, поддерживается ли версия UI клиента.

**Ответ**:

```json theme={null}
{
  "id": "...",
  "success": true,
  "data": {
    "latest": "1.2.0",
    "least": "1.0.0"
  }
}
```

#### `GET /main/rpcs`

Возвращает список одобренных Solana RPC endpoints для использования UI.

**Использование**: заполнить селектор RPC в UI; обеспечить подключение клиентов к стабильным, одобренным Raydium endpoints.

#### `GET /main/info`

Возвращает статистику рынка в целом.

**Использование**: отобразить объём за 24ч, 7д, 30д и общий/длинный/короткий открытый интерес на панели инструментов.

**Ответ**:

```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`

Проверяет, доступна ли торговля перп в регионе пользователя.

**Использование**: предупредить или ограничить доступ в ограниченных регионах (например, США).

**Как это работает**:

* Читает заголовок `cf-ipcountry` из Cloudflare (если находится за 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..."
  }
}
```

### Pool Endpoints

Конфигурация перп-маркетов.

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

Возвращает список перп-маркетов по умолчанию с объёмом за 24ч/7д/30д.

**Использование**: заполнить селектор маркетов или виджет панели доступными перп-парами.

**Ответ**:

```json theme={null}
{
  "id": "...",
  "success": true,
  "data": [
    {
      "symbol": "BTC/USDC",
      "volume24h": "1000000",
      "volume7d": "7000000",
      "volume30d": "30000000"
    }
  ]
}
```

### Campaign Endpoints

Лидерборд, статистика пользователей и данные вознаграждений.

#### `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
      }
    ]
  }
}
```

### Share Endpoints

Генерирование скриншотов позиций для поделиться.

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

## Конверт ответа

Все endpoints возвращают стандартный конверт:

```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"
}
```

## Кэширование

Большинство endpoints возвращают заголовок `cache-control: max-age=60`, что означает:

* Результаты кэшируются на сервере и обновляются каждые 60 секунд
* Клиенты также могут кэшировать на 60 секунд для снижения нагрузки
* Гарантия на данные реального времени отсутствует; ожидайте устаревания на 0–60 секунд

## Региональная доступность

Региональные ограничения обрабатываются через заголовок `cf-ipcountry` (Cloudflare). Поддерживаемые регионы и ограничения настраиваются на сервере и обновляются периодически.

## Network Endpoints

| Окружение  | Host                     |
| ---------- | ------------------------ |
| Production | `api-perp-v1.raydium.io` |

Версия devnet недоступна; торговля перп только на mainnet.

## Интеграция с Orderly Network

Чтобы размместить ордер:

1. Вызовите `/campaign/user` или `/main/info` для получения метаданных и отображения пользователю
2. Отправьте ордер в **Orderly Network API** (не в этот API)
3. Orderly возвращает подтверждение сделки и состояние позиции
4. Вызовите `/campaign/user` позже, чтобы увидеть обновленную статистику

Perp API Raydium не обрабатывает размещение ордеров; это только метаданные и конфигурация в режиме чтения.

## См. также

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