Если вы планируете отслеживать эту покупку с помощью Exit Intelligence Stream, вы должны подключить поток до отправки транзакции покупки. Поток обнаруживает новые позиции, наблюдая за поступлениями токенов в блокчейне в реальном времени. Если поток не подключён, когда покупка попадает в блокчейн, позиция не будет отслеживаться и для неё не будут генерироваться сигналы выхода.
Эндпоинт
POST https://api.lasersell.io/v1/buy
Заголовки
| Заголовок | Обязательный | Описание |
|---|
Content-Type | Да | Должен быть application/json |
x-api-key | Да | Ваш API ключ LaserSell |
Тело запроса: BuildBuyTxRequest
| Поле | Тип | Обязательное | Описание |
|---|
mint | string | Да | Адрес минта токена для покупки (base58). |
user_pubkey | string | Да | Публичный ключ вашего кошелька (base58). |
amount | number | Нет* | Читаемая сумма для траты (например, 0.1 для 0.1 SOL, 10.0 для 10 USD1). Взаимоисключающе с amount_in_total. |
amount_in_total | number | Нет* | Сумма в атомарных единицах входного актива (например, лампорты для SOL). Взаимоисключающе с amount. |
slippage_bps | number | Да | Максимальный допуск проскальзывания в базисных пунктах (например, 2000 = 20%). |
input | string | Нет | Входной актив: "SOL" (по умолчанию) или "USD1". |
mode | string | Нет | Подсказка режима маршрутизации. Допустимые значения: "fast", "secure". По умолчанию "fast". |
send_mode | string | Нет | Режим отправки транзакции: "helius_sender", "astralane" или "rpc". |
tip_lamports | number | Нет | Необязательная приоритетная комиссия в лампортах. |
partner_fee_recipient | string | Нет | Кошелёк получателя партнёрской комиссии (base58 pubkey). |
partner_fee_bps | number | Нет | Партнёрская комиссия в базисных пунктах (макс. 50 = 0.5%). Взаимоисключающе с partner_fee_lamports. |
partner_fee_lamports | number | Нет | Партнёрская комиссия фиксированная в лампортах SOL (макс. 50 000 000). Взаимоисключающе с partner_fee_bps. |
* Должно быть указано ровно одно из amount или amount_in_total. amount автоматически конвертируется в атомарные единицы на основе входного актива (SOL: 10^9, USD1: 10^6).
Ответ: BuildTxResponse
| Поле | Тип | Описание |
|---|
tx | string | Закодированная в Base64 неподписанная Solana VersionedTransaction. |
route | object | Необязательные метаданные маршрутизации. |
debug | object | Необязательная отладочная информация. |
Примеры curl
С читаемым amount:
curl -X POST https://api.lasersell.io/v1/buy \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"mint": "TOKEN_MINT_ADDRESS",
"user_pubkey": "YOUR_WALLET_PUBKEY",
"amount": 0.1,
"slippage_bps": 2000,
"input": "SOL"
}'
С атомарным amount_in_total:
curl -X POST https://api.lasersell.io/v1/buy \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"mint": "TOKEN_MINT_ADDRESS",
"user_pubkey": "YOUR_WALLET_PUBKEY",
"amount_in_total": 100000000,
"slippage_bps": 2000,
"input": "SOL"
}'
Примеры SDK
import { ExitApiClient, type BuildBuyTxRequest } from "@lasersell/lasersell-sdk";
const client = ExitApiClient.withApiKey("YOUR_API_KEY");
const request: BuildBuyTxRequest = {
mint: "TOKEN_MINT_ADDRESS",
user_pubkey: "YOUR_WALLET_PUBKEY",
amount: 0.1, // 0.1 SOL
slippage_bps: 2_000,
};
const response = await client.buildBuyTx(request);
console.log("Unsigned tx (base64):", response.tx);
Ответы об ошибках
См. Обработка ошибок для полной спецификации конверта ошибок и логики повторных попыток.