> ## 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.

# Sender solo con SWQOS: envío de baja latencia optimizado para costos

> Envía transacciones de Solana mediante la ruta de Sender solo con SWQOS de Helius, optimizada para costos y con una propina mínima de 0.000005 SOL. Baja latencia con la propina más baja.

## Descripción general

El nivel solo con SWQOS es la opción de [Helius Sender](/docs/es/sending-transactions/sender) optimizada para costos. Enruta tu transacción mediante una única ruta rápida de SWQOS (calidad de servicio ponderada por participación) con la **propina mínima más baja de todos los niveles de Sender: 0.000005 SOL**.

Usa este nivel cuando quieras enviar con baja latencia y la propina más baja. Para transacciones muy disputadas en las que importa lograr la inclusión más rápida, usa el nivel [Sender Max](/docs/es/sending-transactions/sender-max).

<CardGroup cols={2}>
  <Card title="Lowest Tip" icon="dollar-sign">
    Propina mínima de solo 0.000005 SOL: la forma más económica de usar Sender
  </Card>

  <Card title="Single Fast Path" icon="bolt">
    Enruta exclusivamente mediante la infraestructura SWQOS para una entrega de baja latencia
  </Card>

  <Card title="No Credits" icon="coins">
    Disponible en todos los planes sin consumir créditos de API
  </Card>

  <Card title="Single Pathway" icon="circle-info">
    Enruta mediante una sola ruta SWQOS; para el enrutamiento por varias rutas y la
    inclusión más rápida, usa el nivel Sender Max
  </Card>
</CardGroup>

## Cuándo usar solo SWQOS

<CardGroup cols={2}>
  <Card title="Good fit" icon="circle-check">
    Operaciones sensibles a los costos, un alto volumen de transacciones y flujos en los que una sola
    ruta rápida sea suficiente para lograr una inclusión confiable.
  </Card>

  <Card title="Consider Sender Max instead" icon="trophy" href="/docs/es/sending-transactions/sender-max">
    Cuentas muy disputadas, lanzamientos competitivos o cualquier transacción para la que
    necesites la inclusión más rápida posible.
  </Card>
</CardGroup>

## Cómo habilitar el modo solo con SWQOS

Agrega el parámetro de consulta `swqos_only=true` a la URL de cualquier endpoint de Sender. Usa el endpoint HTTPS global para frontends o el endpoint HTTP regional más cercano a tus servidores para backends.

**Frontend/navegador (HTTPS global):**

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

**Backend/servidor (HTTP regional):**

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

Esto enruta tu transacción exclusivamente mediante SWQOS y aplica el requisito de propina mínima más baja de **0.000005 SOL**. Consulta la [referencia de endpoints de Sender](/docs/es/sending-transactions/sender#endpoints) para obtener información sobre el precalentamiento de conexiones y otros detalles.

<Tip>
  ¿Quieres evitar validadores relacionados con ataques sándwich? Agrega
  [`mev-protect=true`](/docs/es/sending-transactions/mev-protect) junto con `swqos_only`:
  `https://sender.helius-rpc.com/fast?swqos_only=true&mev-protect=true`.
</Tip>

## Requisitos

Como en todos los niveles de Sender, las transacciones solo con SWQOS deben incluir:

* **Propina**: Una transferencia de al menos **0.000005 SOL** a una [cuenta de propinas](/docs/es/sending-transactions/sender#requisitos) designada
* **Comisión de prioridad**: Una instrucción de precio por unidad de cómputo mediante `ComputeBudgetProgram.setComputeUnitPrice`

Omitir la comprobación previa (`skipPreflight: true`) es opcional, pero se recomienda hacerlo, ya que estas comprobaciones aumentan la latencia.

<Warning>
  Tu transacción debe contener tanto una transferencia de propina como una instrucción de precio
  por unidad de cómputo. Si falta alguna de las dos, se rechazará.
</Warning>

## Ejemplo de código

<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>
  La transacción anterior sigue usando una propina de 0.000005 SOL, el mínimo del modo solo con SWQOS.
  Se aceptan propinas de entre 0.000005 SOL y 0.001 SOL, pero permanecen en la única
  ruta SWQOS. Para enrutar por todas las rutas y lograr la inclusión más rápida, usa el
  nivel [Sender Max](/docs/es/sending-transactions/sender-max) con una propina mínima de 0.001 SOL.
</Note>

## Prácticas recomendadas

* **Selección de endpoint**: Usa `https://sender.helius-rpc.com/fast?swqos_only=true` para aplicaciones frontend y evitar problemas de CORS. Para aplicaciones backend, usa el endpoint HTTP regional más cercano a tus servidores.
* **Precalentamiento de conexiones**: Usa el [endpoint `/ping`](/docs/es/sending-transactions/sender#preparación-de-conexiones) durante periodos de inactividad superiores a 5 segundos.
* **Comisiones de prioridad**: Usa la [API de comisiones de prioridad de Helius](/docs/es/priority-fee-api) para obtener recomendaciones en tiempo real.
* **Reintentos**: Configura `maxRetries: 0` e implementa tu propia lógica de reintentos.

## Recursos relacionados

<CardGroup cols={2}>
  <Card title="Sender Overview" icon="rocket" href="/docs/es/sending-transactions/sender">
    Conceptos compartidos: endpoints, precalentamiento de conexiones, límites de solicitudes y TPS personalizados.
  </Card>

  <Card title="Sender Max Tier" icon="trophy" href="/docs/es/sending-transactions/sender-max">
    La inclusión más rápida mediante el enrutamiento por varias rutas disponibles (propina mín.
    de 0.001 SOL).
  </Card>

  <Card title="Transaction Rebates" icon="coins" href="/docs/es/sending-transactions/backrun-rebates">
    Participa para obtener una parte del MEV que generan tus transacciones, pagada en SOL.
  </Card>

  <Card title="MEV Protect" icon="shield-halved" href="/docs/es/sending-transactions/mev-protect">
    Evita mediante el enrutamiento los validadores vinculados estadísticamente con ataques sándwich.
  </Card>
</CardGroup>
