> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lasersell.io/llms.txt
> Use this file to discover all available pages before exploring further.

# POST /v1/sell

> بناء معاملة بيع غير موقعة لمبادلة الرموز مقابل SOL أو USD1 عبر LaserSell API.

## نقطة النهاية

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

```bash theme={null}
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"
  }'
```

## أمثلة حزمة التطوير

<CodeGroup>
  ```typescript TypeScript theme={null}
  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);
  ```

  ```python Python theme={null}
  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)
  ```

  ```rust Rust theme={null}
  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);
  ```

  ```go Go theme={null}
  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)
  ```
</CodeGroup>

## استجابات الأخطاء

راجع [معالجة الأخطاء](/api/exit-api/error-handling) لمواصفات مغلف الأخطاء الكامل ومنطق الأخطاء القابلة لإعادة المحاولة.
