Перейти к основному содержанию

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 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 клиента. Ответ:
{
  "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д и общий/длинный/короткий открытый интерес на панели инструментов. Ответ:
{
  "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)
  • В отсутствие заголовка использует конфигурацию по умолчанию
  • Возвращает статус доступности по регионам
Ответ:
{
  "id": "...",
  "success": true,
  "data": {
    "available": true,
    "country": "US"
  }
}

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

Генерирует временную Ed25519 пару ключей для начальной аутентификации или временного подписания. Использование: неконтролируемое генерирование временного ключа для определённых потоков аутентификации. Ответ:
{
  "id": "...",
  "success": true,
  "data": {
    "key": "ed25519:AAAA..."
  }
}

Pool Endpoints

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

GET /pool/default-list

Возвращает список перп-маркетов по умолчанию с объёмом за 24ч/7д/30д. Использование: заполнить селектор маркетов или виджет панели доступными перп-парами. Ответ:
{
  "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, очки, полученные вознаграждения). Использование: отобразить в профиле пользователя или на панели управления аккаунтом. Ответ (пользователь без истории получает нулевые данные):
{
  "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
      }
    ]
  }
}

Share Endpoints

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

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.

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

Все endpoints возвращают стандартный конверт:
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "success": true,
  "data": { ... }
}
При ошибке:
{
  "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
Productionapi-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 не обрабатывает размещение ордеров; это только метаданные и конфигурация в режиме чтения.

См. также