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.
Эта страница переведена с помощью ИИ. За эталон принимается английская версия.Открыть английскую версию →
Что такое Transaction API?
Raydium Transaction API (Route V2) — это серверный сервис, который создаёт сериализованные транзакции обмена Solana без необходимости поддерживать RPC-соединение на клиенте или включать весь Raydium SDK. Это значительно упрощает интеграцию для:- Веб-фронтенда, который не может запустить локального RPC-клиента
- Мобильных приложений с ограниченными ресурсами
- Автоматических торговых ботов
- Агрегаторов и провайдеров кошельков
Обзор рабочего процесса
Transaction API разделяет задачи на две фазы:1. Фаза вычислений: получение котировки
Вызовите/compute/swap-base-in или /compute/swap-base-out, чтобы получить ожидаемый результат обмена (или требуемый вход) на основе текущих состояний пулов. Этот endpoint доступен только для чтения и не требует подписей:
- Ожидаемый объём выходного токена
- Разбор маршрута (какие пулы и источники ликвидности используются)
- Влияние на цену
2. Фаза транзакции: построение и подпись
После получения ответа от вычислительного endpoint передайте его (вместе с кошельком и конфигурацией) в/transaction/swap-base-in или /transaction/swap-base-out:
- Закодированную в base64 версионированную транзакцию, готовую к подписи
- Адреса таблиц поиска адресов (если txVersion=V0)
- Декодирует транзакцию
- Подписывает её с помощью keypair пользователя
- Транслирует её через любой Solana RPC
- Ожидает подтверждения
Вычислительные endpoint
GET /compute/swap-base-in
Случай использования: пользователь указывает сумму входа, мы вычисляем выход.
Обязательные параметры запроса:
inputMint– адрес mint входного токенаoutputMint– адрес mint желаемого токенаamount– сумма входа в lamports (наименьшая единица)slippageBps– максимально допустимое проскальзывание в базовых пунктах (0–10000)txVersion–V0илиLEGACY
referrerBps– если у вас есть авторитет рефferrера, базовые пункты выхода, которые нужно собрать в виде комиссии рефferrера
GET /compute/swap-base-out
Случай использования: пользователь указывает желаемый выход, мы вычисляем требуемый вход.
Обязательные параметры запроса:
inputMint,outputMint,amount(желаемый выход),slippageBps,txVersion
Endpoint транзакций
POST /transaction/swap-base-in
Построение транзакции для фиксированной суммы входа.
Обязательное содержимое:
wallet– адрес вашего подписывающего кошелькаswapResponse– весь объект вычислительного ответаtxVersion– версия транзакцииcomputeUnitPriceMicroLamports– плата за приоритет в микро-lamports
wrapSol– если true, обернуть нативный SOL для входаunwrapSol– если true, развернуть WSOL в SOL на выходеinputAccount– аккаунт токена для входа (обязателен, если не оборачивается SOL)outputAccount– аккаунт токена для выходаnonceInfo– долговечный nonce для автономной подписиjitoInfo– параметры пакета защиты от MEV JitoreferrerWallet– кошелёк рефferера для сбора комиссии
POST /transaction/swap-base-out
Построение транзакции для фиксированной суммы выхода.
Те же параметры, что и base-in, за исключением:
- поле
referrerInfoв настоящее время закомментировано (ещё не реализовано)
Конверт ответа
Все endpoint возвращают стандартный конверт:success имеет значение false, а msg содержит код ошибки (например, REQ_WALLET_ERROR, REQ_SLIPPAGE_BPS_ERROR).
Форма ответа транзакции
Успешный ответ транзакции выглядит так:Пример интеграции
Вот типичный поток в псевдокоде:Объяснение ключевых параметров
txVersion
- V0: современная транзакция Solana с таблицами поиска адресов (ALTs). Меньший размер сериализации, более низкие комиссии.
- LEGACY: формат транзакции до ALT. Больше, но работает со всеми RPC endpoint.
computeUnitPriceMicroLamports
Плата за приоритет для более быстрого включения в блок. Установите на 0 для отсутствия платы за приоритет или на более высокие значения (например, 1000) для конкуренции в перегруженных сетях. Единицы — микро-lamports за вычислительную единицу.
slippageBps
Максимальная толерантность к проскальзыванию в базовых пунктах. 100 = 1%, 50 = 0,5%.
- Используйте более низкие значения (например, 25–50 bps) для большинства стабильных обменов
- Увеличивайте для волатильных или низколиквидных пар
wrapSol и unwrapSol
- wrapSol: если
true, API оборачивает ваш нативный SOL в WSOL.inputAccountне требуется. - unwrapSol: если
true, API разворачивает выходной WSOL обратно в нативный SOL.outputAccountне требуется.
false, вы должны предоставить явные аккаунты токенов.
Сетевые endpoint
| Сеть | Mainnet | Devnet |
|---|---|---|
| Host | transaction-v1.raydium.io | transaction-v1-devnet.raydium.io |
| Протокол | HTTPS | HTTPS |
Коды ошибок
Распространённые сообщения об ошибках:| Код | Значение |
|---|---|
REQ_SLIPPAGE_BPS_ERROR | Проскальзывание недействительно или выходит за допустимые пределы |
REQ_INPUT_MINT_ERROR | Адрес входного mint недействителен |
REQ_OUTPUT_MINT_ERROR | Адрес выходного mint недействителен |
REQ_AMOUNT_ERROR | Сумма не является допустимым числом |
REQ_TX_VERSION_ERROR | txVersion должен быть V0 или LEGACY |
REQ_WALLET_ERROR | Адрес кошелька недействителен |
REQ_INPUT_ACCOUT_ERROR | Аккаунт входного токена отсутствует или недействителен |
REQ_OUTPUT_ACCOUT_ERROR | Аккаунт выходного токена отсутствует или недействителен |
UNKNOWN_ERROR | Ошибка на сервере; проверьте параметры вашего запроса |


