نقطة النهاية
POST https://api.lasersell.io/v1/sell
الترويسات
| Header | Required | Description |
|---|---|---|
Content-Type | Yes | Must be application/json |
x-api-key | Yes | Your LaserSell API key |
جسم الطلب: BuildSellTxRequest
| Field | Type | Required | Description |
|---|---|---|---|
mint | string | Yes | عنوان الرمز (base58). |
user_pubkey | string | Yes | المفتاح العام لمحفظتك (base58). |
amount_tokens | number | Yes | المبلغ للبيع بالوحدات الذرية للرمز. |
output | string | Yes | أصل المخرجات المطلوب: "SOL" أو "USD1". |
slippage_bps | number | Yes | أقصى تحمل للانزلاق بنقاط أساس (مثلاً 2000 = 20%). |
mode | string | No | تلميح وضع التوجيه. القيم: "fast", "secure". الافتراضي "fast". |
market_context | object | No | سياق سوق محلول مسبقاً. احذفه للسماح للخادم بالحل تلقائياً. |
send_mode | string | No | وضع إرسال المعاملة: "helius_sender", "astralane", أو "rpc". |
tip_lamports | number | No | إكرامية رسوم أولوية اختيارية بـ lamports. |
partner_fee_recipient | string | No | محفظة مستلم رسوم الشريك (مفتاح عام base58). |
partner_fee_bps | number | No | رسوم الشريك بنقاط أساس (أقصى 50 = 0.5%). متبادل الاستبعاد مع partner_fee_lamports. |
partner_fee_lamports | number | No | رسوم الشريك كمبلغ ثابت بـ SOL lamports (أقصى 50,000,000). متبادل الاستبعاد مع partner_fee_bps. |
الاستجابة: BuildTxResponse
| Field | Type | Description |
|---|---|---|
tx | string | معاملة Solana VersionedTransaction غير موقعة مشفرة بـ Base64. |
route | object | بيانات توجيه وصفية اختيارية. |
debug | object | معلومات تصحيح اختيارية. |
مثال curl
curl -X POST https://api.lasersell.io/v1/sell \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"mint": "TOKEN_MINT_ADDRESS",
"user_pubkey": "YOUR_WALLET_PUBKEY",
"amount_tokens": 1000000,
"slippage_bps": 2000,
"output": "SOL"
}'
أمثلة حزمة التطوير
import { ExitApiClient, type BuildSellTxRequest } from "@lasersell/lasersell-sdk";
const client = ExitApiClient.withApiKey("YOUR_API_KEY");
const request: BuildSellTxRequest = {
mint: "TOKEN_MINT_ADDRESS",
user_pubkey: "YOUR_WALLET_PUBKEY",
amount_tokens: 1_000_000,
slippage_bps: 2_000,
output: "SOL",
};
const response = await client.buildSellTx(request);
console.log("Unsigned tx (base64):", response.tx);
// Or get just the base64 string:
const txB64 = await client.buildSellTxB64(request);
from lasersell_sdk.exit_api import ExitApiClient, BuildSellTxRequest, SellOutput
client = ExitApiClient.with_api_key("YOUR_API_KEY")
request = BuildSellTxRequest(
mint="TOKEN_MINT_ADDRESS",
user_pubkey="YOUR_WALLET_PUBKEY",
amount_tokens=1_000_000,
slippage_bps=2_000,
output=SellOutput.SOL,
)
response = await client.build_sell_tx(request)
print("Unsigned tx (base64):", response.tx)
use lasersell_sdk::exit_api::{ExitApiClient, BuildSellTxRequest, SellOutput};
let client = ExitApiClient::with_api_key("YOUR_API_KEY");
let request = BuildSellTxRequest {
mint: "TOKEN_MINT_ADDRESS".into(),
user_pubkey: "YOUR_WALLET_PUBKEY".into(),
amount_tokens: 1_000_000,
output: SellOutput::Sol,
slippage_bps: 2_000,
..Default::default()
};
let response = client.build_sell_tx(&request).await?;
println!("Unsigned tx (base64): {}", response.tx);
import lasersell "github.com/lasersell/lasersell-sdk/go"
client := lasersell.NewExitAPIClientWithAPIKey("YOUR_API_KEY")
resp, err := client.BuildSellTx(ctx, lasersell.BuildSellTxRequest{
Mint: "TOKEN_MINT_ADDRESS",
UserPubkey: "YOUR_WALLET_PUBKEY",
AmountTokens: 1_000_000,
Output: lasersell.SellOutputSOL,
SlippageBps: 2_000,
})
if err != nil {
log.Fatal(err)
}
fmt.Println("Unsigned tx (base64):", resp.Tx)

