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

# API de comisiones de prioridad de Solana: estimación inteligente de comisiones de transacción

> Estima las comisiones de prioridad óptimas para las transacciones de Solana. Análisis de comisiones en tiempo real con seis niveles de prioridad para garantizar confirmaciones rápidas y eficiencia de costos.

<Info>
  **Ahorra dinero y mejora el rendimiento**: Obtén estimaciones precisas de las comisiones de prioridad basadas en las condiciones de la red en tiempo real. Paga solo lo necesario para obtener la velocidad que deseas.
</Info>

## ¿Qué son las comisiones de prioridad?

En Solana, las comisiones de prioridad permiten que tus transacciones se adelanten en la cola de validadores durante la congestión de la red. Puedes considerarlas como carriles rápidos para tus transacciones.

<CardGroup cols={2}>
  <Card title="Base Fees vs Priority Fees" icon="coins">
    Las **comisiones base** son costos fijos por procesar transacciones

    Las **comisiones de prioridad** son pagos opcionales para acelerar el procesamiento
  </Card>

  <Card title="How They Work" icon="rocket">
    Estableces un precio por unidad de cómputo; durante la congestión de la red, los precios más altos se procesan primero
  </Card>
</CardGroup>

## Por qué usar comisiones de prioridad

Las comisiones de prioridad ahora son una parte estándar de las transacciones de Solana y ayudan a garantizar tiempos de confirmación confiables y un rendimiento óptimo de la red.

<CardGroup cols={2}>
  <Card title="Reliable Confirmation" icon="circle-check">
    Asegúrate de que tus transacciones se confirmen de forma rápida y confiable, incluso cuando varíen las condiciones de la red
  </Card>

  <Card title="Competitive Edge" icon="trophy">
    Mantén tu competitividad en operaciones sensibles al tiempo, como el trading, la acuñación y las interacciones con DeFi
  </Card>

  <Card title="User Experience" icon="heart">
    Ofrece un procesamiento de transacciones uniforme y rápido para mejorar la experiencia del usuario
  </Card>

  <Card title="Network Efficiency" icon="gauge">
    Ayuda a optimizar la asignación de recursos y el rendimiento general de la red
  </Card>
</CardGroup>

## Explicación de los niveles de prioridad

Nuestra API ofrece seis niveles de prioridad según la actividad reciente de la red:

<AccordionGroup>
  <Accordion title="Min">
    **Comisión mínima observada**: se basa en las comisiones mínimas detectadas en slots recientes

    **Ideal para**: transacciones no urgentes cuando la prioridad es optimizar los costos

    **Nota**: puede producir tiempos de confirmación más largos
  </Accordion>

  <Accordion title="Low">
    **Percentil 25**: opción económica con tiempos de confirmación razonables

    **Ideal para**: operaciones estándar en las que la velocidad no es crítica

    **Nota**: ofrece un buen equilibrio entre costo y confiabilidad
  </Accordion>

  <Accordion title="Medium (Recommended)">
    **Percentil 50**: comisión mediana que ofrece tiempos de confirmación confiables

    **Ideal para**: la mayoría de las aplicaciones y los casos de uso generales

    **Nota**: punto de partida recomendado para la mayoría de los desarrolladores
  </Accordion>

  <Accordion title="High">
    **Percentil 75**: comisiones más altas para acelerar el procesamiento

    **Ideal para**: operaciones sensibles al tiempo y situaciones competitivas

    **Nota**: procesamiento prioritario durante periodos de actividad en la red
  </Accordion>

  <Accordion title="VeryHigh">
    **Percentil 95**: comisiones prémium para obtener la máxima velocidad

    **Ideal para**: operaciones críticas, estrategias de MEV y transacciones urgentes

    **Nota**: confirmación rápida incluso durante periodos de alta actividad en la red
  </Accordion>

  <Accordion title="UnsafeMax">
    **Máximo observado**: las comisiones más altas detectadas en slots recientes

    **Ideal para**: únicamente situaciones de emergencia

    **Advertencia**: suele ser innecesariamente alto; úsalo con precaución
  </Accordion>
</AccordionGroup>

<Warning>
  **Cálculo del costo**: Comisión de prioridad total = Precio por unidad de cómputo × Unidades de cómputo consumidas

  Una transacción típica usa entre 200,000 y 400,000 unidades de cómputo. Con el nivel Medium actual (\~40,000 microlamports por unidad), esto equivale a entre 0.000008 y 0.000016 SOL en comisiones de prioridad. Consulta siempre las condiciones actuales de la red para obtener estimaciones precisas.
</Warning>

## Métodos de implementación

<CardGroup cols={2}>
  <Card title="Serialized Transaction (Recommended)" icon="file-code" href="/docs/es/priority-fee/estimating-fees-using-serialized-transaction">
    **Método principal**: analiza tu transacción exacta para ofrecer la máxima precisión

    **Ideal para**: la mayoría de las aplicaciones y los casos de uso en producción

    **Ventajas**:

    * Análisis específico de las instrucciones
    * Máxima precisión
    * Listo para producción
    * Considera la complejidad de la transacción
  </Card>

  <Card title="Account Keys (Advanced)" icon="key" href="/docs/es/priority-fee/estimating-fees-using-account-keys">
    **Casos de uso especializados**: realiza estimaciones basadas en patrones de cuentas

    **Ideal para**: análisis previo a la transacción, operaciones por lotes y arquitecturas especializadas

    **Ventajas**:

    * Análisis de patrones a nivel de cuenta
    * Útil para la planificación y la investigación
    * Análisis de cuentas por lotes
  </Card>
</CardGroup>

## Ejemplo de inicio rápido

<CodeGroup>
  ```javascript JavaScript theme={"system"}
  import { Transaction, SystemProgram, ComputeBudgetProgram } from "@solana/web3.js";
  import bs58 from "bs58";

  // 1. Build your transaction (without priority fee)
  const transaction = new Transaction();
  const transferIx = SystemProgram.transfer({
    fromPubkey: senderKeypair.publicKey,
    toPubkey: recipientPublicKey,
    lamports: 1000000, // 0.001 SOL
  });
  transaction.add(transferIx);

  // 2. Set required fields and serialize
  transaction.recentBlockhash = (await connection.getLatestBlockhash()).blockhash;
  transaction.feePayer = senderKeypair.publicKey;
  const serializedTx = bs58.encode(transaction.serialize());

  // 3. Get priority fee estimate
  const response = await fetch("https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      jsonrpc: "2.0",
      id: "1",
      method: "getPriorityFeeEstimate",
      params: [{
        transaction: serializedTx,
        options: { 
          priorityLevel: "Medium",
          recommended: true 
        }
      }]
    })
  });

  const result = await response.json();
  const priorityFee = result.result.priorityFeeEstimate;

  // 4. Add priority fee and send
  transaction.instructions = []; // Reset
  transaction.add(ComputeBudgetProgram.setComputeUnitPrice({ microLamports: priorityFee }));
  transaction.add(transferIx);
  transaction.recentBlockhash = (await connection.getLatestBlockhash()).blockhash;
  transaction.sign(senderKeypair);
  ```

  ```python Python theme={"system"}
  import requests
  import base58
  from solana.transaction import Transaction
  from solana.system_program import transfer, TransferParams

  # 1. Build and serialize your transaction
  # (transaction building code here)
  serialized_tx = base58.b58encode(transaction.serialize()).decode('utf-8')

  # 2. Get priority fee estimate
  response = requests.post(
      "https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY",
      json={
          "jsonrpc": "2.0",
          "id": "1",
          "method": "getPriorityFeeEstimate",
          "params": [{
              "transaction": serialized_tx,
              "options": {
                  "priorityLevel": "Medium",
                  "recommended": True
              }
          }]
      }
  )

  result = response.json()
  priority_fee = result["result"]["priorityFeeEstimate"]
  print(f"Recommended priority fee: {priority_fee} micro-lamports")

  # 3. Rebuild transaction with priority fee and send
  ```

  ```curl cURL theme={"system"}
  curl -X POST "https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "jsonrpc": "2.0",
      "id": "1",
      "method": "getPriorityFeeEstimate",
      "params": [{
        "transaction": "SERIALIZED_TRANSACTION_BASE58",
        "options": {
          "priorityLevel": "Medium",
          "recommended": true
        }
      }]
    }'
  ```
</CodeGroup>

## Referencia de la API

<Card title="getPriorityFeeEstimate" icon="code" href="/docs/es/api-reference/priority-fee/getpriorityfeeestimate">
  Documentación completa de la API con todos los parámetros y formatos de respuesta
</Card>

## Monitoreo de la red en tiempo real

<Tip>
  **Consejo profesional**: Monitorea las condiciones de la red para optimizar tu estrategia de comisiones de prioridad. En condiciones normales, usa niveles de prioridad más bajos. Durante periodos de congestión, considera niveles más altos para las operaciones sensibles al tiempo.

  Puedes consultar las condiciones actuales de la red mediante exploradores de Solana o el método RPC `getRecentPerformanceSamples`.
</Tip>

## Soporte y recursos

<CardGroup cols={2}>
  <Card title="Discord Community" icon="discord" href="https://discord.com/invite/6GXdee3gBj">
    Obtén ayuda de la comunidad y del equipo de Helius
  </Card>

  <Card title="Direct Support" icon="headset" href="/docs/es/support">
    Obtén ayuda con preguntas sobre comisiones de prioridad y su optimización
  </Card>
</CardGroup>
