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

# 发件人 SWQOS-Only：成本优化的低延迟发送

> 通过 Helius 发送器的成本优化 SWQOS 专用路径发送 Solana 交易，最低小费为 0.000005 SOL。以最低小费实现低延迟。

## 概述

SWQOS-only 是成本优化的 [Helius Sender](/zh/sending-transactions/sender) 层。它通过单一路径快速 SWQOS （基于股权加权的服务质量）路径路由您的交易，具有所有发件人层中**最低的最低小费：0.000005 SOL**。

当您希望以最低小费实现低延迟发送时，使用此层。如果是高度竞争的交易且最快着陆至关重要，请改用 [发件人 Max](/zh/sending-transactions/sender-max) 层。

<CardGroup cols={2}>
  <Card title="最低小费" icon="dollar-sign">
    仅需 0.000005 SOL 的最低小费——使用 Sender 的最便宜方式
  </Card>

  <Card title="单一路径" icon="bolt">
    专门通过 SWQOS 基础设施路由，实现低延迟交付
  </Card>

  <Card title="无需 credits" icon="coins">
    在所有计划中可用，并且不消耗 API credits
  </Card>

  <Card title="单一路径" icon="circle-info">
    仅通过一个 SWQOS 路径路由——对于多路径路由和最快着陆，请使用发件人 Max 层
  </Card>
</CardGroup>

## 何时使用 SWQOS-only

<CardGroup cols={2}>
  <Card title="适合" icon="circle-check">
    成本敏感的交易、高交易量及单一快速路径足以可靠着陆的流程。
  </Card>

  <Card title="考虑使用发件人 Max" icon="trophy" href="/zh/sending-transactions/sender-max">
    高度竞争的账户、竞争性发行，或任何需要最快着陆的交易。
  </Card>
</CardGroup>

## 如何启用 SWQOS-only

将 `swqos_only=true` 查询参数添加到任何 Sender 端点 URL 中。对于前端，请使用全球 HTTPS 端点；对于后端，请使用靠近服务器的区域 HTTP 端点。

**前端 / 浏览器（全球 HTTPS）：**

```
https://sender.helius-rpc.com/fast?swqos_only=true
```

**后端/服务器（区域 HTTP）：**

```
http://slc-sender.helius-rpc.com/fast?swqos_only=true   # Salt Lake City
http://ewr-sender.helius-rpc.com/fast?swqos_only=true   # Newark
http://lon-sender.helius-rpc.com/fast?swqos_only=true   # London
http://fra-sender.helius-rpc.com/fast?swqos_only=true   # Frankfurt
http://ams-sender.helius-rpc.com/fast?swqos_only=true   # Amsterdam
http://sg-sender.helius-rpc.com/fast?swqos_only=true    # Singapore
http://tyo-sender.helius-rpc.com/fast?swqos_only=true   # Tokyo
```

这会将您的交易专门通过 SWQOS 路由，并应用更低的 **0.000005 SOL** 最低小费要求。有关连接加热和详细信息，请参阅[发送端点参考](/zh/sending-transactions/sender#endpoints)。

<Tip>
  想要避免与三明治攻击相关的验证器吗？请在 [此处](/zh/sending-transactions/mev-protect) 添加
  `swqos_only`: `https://sender.helius-rpc.com/fast?swqos_only=true&mev-protect=true`。
</Tip>

## 要求

与每个 Sender 层级一样，只有 SWQOS 的交易必须包括：

* **提示**：至少 **0.000005 SOL** 的 SOL 转账到指定的[提示账户](/zh/sending-transactions/sender#requirements)
* **优先费用**：通过 `ComputeBudgetProgram.setComputeUnitPrice` 指令设置计算单位价格

跳过预检查(`skipPreflight: true`)是可选的，但建议进行——预检查会增加延迟。

<Warning>
  您的交易必须包含提示转账和计算单位价格指令。缺少任一项都会导致交易被拒绝。
</Warning>

## 代码示例

<Tabs>
  <Tab title="@solana/web3.js">
    ```typescript [expandable] theme={"system"}
    import { 
      Connection, 
      TransactionMessage,
      VersionedTransaction,
      SystemProgram, 
      PublicKey,
      Keypair,
      LAMPORTS_PER_SOL,
      ComputeBudgetProgram
    } from '@solana/web3.js';
    import bs58 from 'bs58';

    const PRIV_B58 = 'Your Private Key';
    const RECIPIENT = 'Recipient Address';
    const HELIUS_API_KEY = 'Your API Key';
    const TIP_ACCOUNTS = [
      "4ACfpUFoaSD9bfPdeu6DBt89gB6ENTeHBXCAi87NhDEE",
      "D2L6yPZ2FmmmTKPgzaMKdhu6EWZcTpLy1Vhx8uvZe7NZ",
      "9bnz4RShgq1hAnLnZbP8kbgBg1kEmcJBYQq3gQbmnSta",
      "5VY91ws6B2hMmBFRsXkoAAdsPHBJwRfBht4DXox3xkwn",
      "2nyhqdwKcJZR2vcqCyrYsaPVdAnFoJjiksCXJ7hfEYgD",
      "2q5pghRs6arqVjRvT5gfgWfWcHWmw1ZuCzphgd5KfWGJ",
      "wyvPkWjVZz1M8fHQnMMCDTQDbkManefNNhweYk5WkcF",
      "3KCKozbAaF75qEU33jtzozcJ29yJuaLJTy2jFdzUY8bT",
      "4vieeGHPYPG2MmyPRcYjdiDmmhN3ww7hsFNap8pVN3Ey",
      "4TQLFNWK8AovT1gFvda5jfw2oJeRMKEmw7aH6MGBJ3or"
    ];

    async function sendSwqosOnly(
      keypair: Keypair,
      recipientAddress: string
    ): Promise<string> {
      const connection = new Connection(
        `https://mainnet.helius-rpc.com/?api-key=${HELIUS_API_KEY}`
      );

      const { value: { blockhash } } = await connection.getLatestBlockhashAndContext('confirmed');

      // Build transaction: priority fee + recipient transfer + minimum SWQOS-only tip
      const transaction = new VersionedTransaction(
        new TransactionMessage({
          instructions: [
            ComputeBudgetProgram.setComputeUnitLimit({ units: 100_000 }),
            ComputeBudgetProgram.setComputeUnitPrice({ microLamports: 200_000 }),
            SystemProgram.transfer({
              fromPubkey: keypair.publicKey,
              toPubkey: new PublicKey(recipientAddress),
              lamports: 0.001 * LAMPORTS_PER_SOL,
            }),
            SystemProgram.transfer({
              fromPubkey: keypair.publicKey,
              toPubkey: new PublicKey(TIP_ACCOUNTS[Math.floor(Math.random() * TIP_ACCOUNTS.length)]),
              lamports: 0.000005 * LAMPORTS_PER_SOL, // SWQOS-only minimum tip
            })
          ],
          payerKey: keypair.publicKey,
          recentBlockhash: blockhash,
        }).compileToV0Message()
      );

      transaction.sign([keypair]);

      // Note the ?swqos_only=true query parameter
      const SENDER_ENDPOINT = 'https://sender.helius-rpc.com/fast?swqos_only=true';
      // Backend: use the regional HTTP endpoint closest to your servers
      // const SENDER_ENDPOINT = 'http://slc-sender.helius-rpc.com/fast?swqos_only=true';

      const response = await fetch(SENDER_ENDPOINT, {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({
          jsonrpc: '2.0',
          id: Date.now().toString(),
          method: 'sendTransaction',
          params: [
            Buffer.from(transaction.serialize()).toString('base64'),
            {
              encoding: 'base64',
              skipPreflight: true, // Optional: skip for lower latency
              maxRetries: 0
            }
          ]
        })
      });

      const json = await response.json();
      if (json.error) {
        throw new Error(json.error.message);
      }

      console.log('Transaction sent:', json.result);
      return json.result;
    }

    // Usage
    sendSwqosOnly(Keypair.fromSecretKey(bs58.decode(PRIV_B58)), RECIPIENT);
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={"system"}
    curl "https://sender.helius-rpc.com/fast?swqos_only=true" \
      -X POST \
      -H "Content-Type: application/json" \
      -d '{
        "jsonrpc": "2.0",
        "id": 1,
        "method": "sendTransaction",
        "params": [
          "BASE64_ENCODED_TRANSACTION",
          {
            "encoding": "base64",
            "skipPreflight": true,
            "maxRetries": 0
          }
        ]
      }'
    ```
  </Tab>
</Tabs>

<Note>
  上述交易仍然使用 0.000005 SOL 小费，这是 SWQOS-only 的最低要求。接受 0.000005 SOL 到 0.001 SOL 之间的小费，但仅限单一 SWQOS 路径。要通过多路径路由实现最快落地，请使用 [Sender Max](/zh/sending-transactions/sender-max) 层级，最低小费 0.001 SOL。
</Note>

## 最佳实践

* **端点选择**：用于前端应用，使用 `https://sender.helius-rpc.com/fast?swqos_only=true` 以避免 CORS 问题。对于后端应用，使用最接近服务器的区域 HTTP 端点。
* **连接预热**：在空闲时间超过 5 秒时，使用 [`/ping` 端点](/zh/sending-transactions/sender#connection-warming)。
* **优先费用**：使用 [Helius Priority Fee API](/zh/priority-fee-api) 进行实时推荐。
* **重试**：设置 `maxRetries: 0` 并实现自己的重试逻辑。

## 相关内容

<CardGroup cols={2}>
  <Card title="Sender 概述" icon="rocket" href="/zh/sending-transactions/sender">
    共享概念：端点、连接预热、速率限制和自定义 TPS。
  </Card>

  <Card title="Sender Max 层级" icon="trophy" href="/zh/sending-transactions/sender-max">
    通过所有路径的多路径路由实现最快落地（0.001 SOL 最低小费）。
  </Card>

  <Card title="交易回扣" icon="coins" href="/zh/sending-transactions/backrun-rebates">
    选择参与以赚取您交易产生的 MEV 的一部分，以 SOL 支付。
  </Card>

  <Card title="MEV 防护" icon="shield-halved" href="/zh/sending-transactions/mev-protect">
    绕过与三明治攻击统计相关的验证器。
  </Card>
</CardGroup>
