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

# Bundles mediante Helius

> Envía bundles básicos mediante tu endpoint RPC de Helius. Ejecución atómica de todo o nada de hasta 5 transacciones, enviada directamente a Jito mediante proxy.

<Tip>
  Esta es la ruta **básica** para bundles: un proxy directo de Jito, facturado por envío e ideal
  cuando necesitas una ejecución atómica sin requisitos de latencia. Si eres
  un trader que necesita baja latencia y el margen de propina prioritaria, usa los [bundles de Sender Max
  ](/docs/es/sending-transactions/sender-max#paquetes).
</Tip>

Los bundles básicos proporcionan una ejecución atómica de todo o nada de hasta 5 transacciones, enviada directamente a Jito mediante proxy. Cada envío de `sendBundle` se factura como **1 crédito** de tu plan.

## Métodos compatibles

| Método           | Descripción                   | Límite de solicitudes             |
| ---------------- | ----------------------------- | --------------------------------- |
| `sendBundle`     | Envía un bundle               | 5 RPS por proyecto                |
| `simulateBundle` | Simula un bundle sin enviarlo | Límite general de solicitudes RPC |

<Tip>
  ¿Necesitas límites de solicitudes más altos? [Contacta a nuestro equipo de
  ventas](https://www.helius.dev/contact).
</Tip>

## sendBundle

Envía una lista de transacciones firmadas como un bundle atómico. Si se acepta el bundle, devuelve un `bundle_id` (hash SHA-256 de las firmas de las transacciones). Esto **no** garantiza que el bundle se incluya en la cadena. Comprueba la confirmación de las transacciones en la cadena para verificarlo.

Se requiere una propina. Al menos una transacción debe transferir SOL a una [cuenta de propinas de Helius](#cuentas-de-propinas). Si la propina es demasiado baja, es posible que el bundle no se seleccione para su inclusión.

### Solicitud

| Parámetro            | Tipo            | Descripción                                                                           |
| -------------------- | --------------- | ------------------------------------------------------------------------------------- |
| `params[0]`          | `array[string]` | **Obligatorio.** Hasta 5 transacciones completamente firmadas, codificadas en base64. |
| `params[1].encoding` | `string`        | Opcional. `base64` (recomendado) o `base58`. Valor predeterminado: `base58`.          |

### Ejemplo

```bash theme={"system"}
curl "https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY" \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "sendBundle",
    "params": [
      [
        "AT2AqtlokikUWgGNnSX5xrmdvBjSaiIPxvFz6zc5Abn5Z0CPFW5GO+Y3rXceLnqLgQFnGw0yTk3NtJdFNsbrwwQBAAIEsXPDJ9cMVbpFQYClVM7PGLh8JOfCD6E2vz5VNmBCF+p4Uhyxec67hYm1VqLV7JTSSYaC/fm7KvWtZOSRzEFT2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUpTWpkpIQZNJOhxYNo4fHw1td28kruB5B+oQEEFRI1i3Wzl2VfewCI8oYXParnP78725sKFzYheTEn8v865YQIDABhqaXRvIGJ1bmRsZSAwOiBqaXRvIHRlc3QCAgABDAIAAACghgEAAAAAAA==",
        "AS6fOZuGDsmyYdd+RC0fiFUgNe1BYTOYT+1hkRXHAeroC8R60h3g34EPF5Ys8sGzVBMP9MDSTVgy1/SSTqpCtA4BAAIEsXPDJ9cMVbpFQYClVM7PGLh8JOfCD6E2vz5VNmBCF+p4Uhyxec67hYm1VqLV7JTSSYaC/fm7KvWtZOSRzEFT2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUpTWpkpIQZNJOhxYNo4fHw1td28kruB5B+oQEEFRI1i3Wzl2VfewCI8oYXParnP78725sKFzYheTEn8v865YQIDABhqaXRvIGJ1bmRsZSAxOiBqaXRvIHRlc3QCAgABDAIAAACghgEAAAAAAA=="
      ],
      {
        "encoding": "base64"
      }
    ]
  }'
```

### Respuesta

```json theme={"system"}
{
  "jsonrpc": "2.0",
  "result": "892b79ed49138bfb3aa5441f0df6e06ef34f9ee8f3976c15b323605bae0cf51d",
  "id": 1
}
```

El `result` es el ID del bundle. Úsalo con `getBundleStatuses` para hacer un seguimiento de su inclusión.

## getBundleStatuses

Devuelve el estado de los bundles enviados. Si un bundle no se incluyó o no se encuentra, devuelve `null`.

### Solicitud

| Parámetro   | Tipo            | Descripción                             |
| ----------- | --------------- | --------------------------------------- |
| `params[0]` | `array[string]` | **Obligatorio.** Hasta 5 ID de bundles. |

### Ejemplo

```bash theme={"system"}
curl "https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY" \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "getBundleStatuses",
    "params": [
      [
        "892b79ed49138bfb3aa5441f0df6e06ef34f9ee8f3976c15b323605bae0cf51d"
      ]
    ]
  }'
```

### Respuesta

```json theme={"system"}
{
  "jsonrpc": "2.0",
  "result": {
    "context": {
      "slot": 242806119
    },
    "value": [
      {
        "bundle_id": "892b79ed49138bfb3aa5441f0df6e06ef34f9ee8f3976c15b323605bae0cf51d",
        "transactions": [
          "3bC2M9fiACSjkTXZDgeNAuQ4ScTsdKGwR42ytFdhUvikqTmBheUxfsR1fDVsM5ADCMMspuwGkdm1uKbU246x5aE3",
          "8t9hKYEYNbLvNqiSzP96S13XF1C2f1ro271Kdf7bkZ6EpjPLuDff1ywRy4gfaGSTubsM2FeYGDoT64ZwPm1cQUt"
        ],
        "slot": 242804011,
        "confirmation_status": "finalized",
        "err": {
          "Ok": null
        }
      }
    ]
  },
  "id": 1
}
```

Devuelve `null` en el arreglo `value` para los bundles que no se encuentren.

## Enrutamiento por región

De forma predeterminada, Helius enruta tu bundle al endpoint global de Jito (`mainnet.block-engine.jito.wtf`), que lo enruta geográficamente al Block Engine más cercano de manera automática.

Para usar una región específica, configura el encabezado HTTP `jito-region`:

| Valor del encabezado | Región de Block Engine           |
| -------------------- | -------------------------------- |
| `ams`                | Ámsterdam                        |
| `dub`                | Dublín                           |
| `fra`                | Frankfurt                        |
| `lon`                | Londres                          |
| `nyc`                | Nueva York                       |
| `slc`                | Salt Lake City                   |
| `sgp`                | Singapur                         |
| `tyo`                | Tokio                            |
| `mainnet`            | Global (enrutamiento geográfico) |

### Ejemplo con región

```bash theme={"system"}
curl "https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY" \
  -X POST \
  -H "Content-Type: application/json" \
  -H "jito-region: nyc" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "sendBundle",
    "params": [
      [
        "AT2AqtlokikUWgGNnSX5xrmdvBjSaiIPxvFz6zc5Abn5Z0CPFW5GO+Y3rXceLnqLgQFnGw0yTk3NtJdFNsbrwwQBAAIEsXPDJ9cMVbpFQYClVM7PGLh8JOfCD6E2vz5VNmBCF+p4Uhyxec67hYm1VqLV7JTSSYaC/fm7KvWtZOSRzEFT2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUpTWpkpIQZNJOhxYNo4fHw1td28kruB5B+oQEEFRI1i3Wzl2VfewCI8oYXParnP78725sKFzYheTEn8v865YQIDABhqaXRvIGJ1bmRsZSAwOiBqaXRvIHRlc3QCAgABDAIAAACghgEAAAAAAA==",
        "AS6fOZuGDsmyYdd+RC0fiFUgNe1BYTOYT+1hkRXHAeroC8R60h3g34EPF5Ys8sGzVBMP9MDSTVgy1/SSTqpCtA4BAAIEsXPDJ9cMVbpFQYClVM7PGLh8JOfCD6E2vz5VNmBCF+p4Uhyxec67hYm1VqLV7JTSSYaC/fm7KvWtZOSRzEFT2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUpTWpkpIQZNJOhxYNo4fHw1td28kruB5B+oQEEFRI1i3Wzl2VfewCI8oYXParnP78725sKFzYheTEn8v865YQIDABhqaXRvIGJ1bmRsZSAxOiBqaXRvIHRlc3QCAgABDAIAAACghgEAAAAAAA=="
      ],
      {
        "encoding": "base64"
      }
    ]
  }'
```

## Cuentas de propinas

Al menos una transacción de tu bundle debe incluir una transferencia de SOL a una de estas cuentas de propinas. Elige una al azar para reducir la contención.

```text theme={"system"}
4ACfpUFoaSD9bfPdeu6DBt89gB6ENTeHBXCAi87NhDEE
D2L6yPZ2FmmmTKPgzaMKdhu6EWZcTpLy1Vhx8uvZe7NZ
9bnz4RShgq1hAnLnZbP8kbgBg1kEmcJBYQq3gQbmnSta
5VY91ws6B2hMmBFRsXkoAAdsPHBJwRfBht4DXox3xkwn
2nyhqdwKcJZR2vcqCyrYsaPVdAnFoJjiksCXJ7hfEYgD
2q5pghRs6arqVjRvT5gfgWfWcHWmw1ZuCzphgd5KfWGJ
wyvPkWjVZz1M8fHQnMMCDTQDbkManefNNhweYk5WkcF
3KCKozbAaF75qEU33jtzozcJ29yJuaLJTy2jFdzUY8bT
4vieeGHPYPG2MmyPRcYjdiDmmhN3ww7hsFNap8pVN3Ey
4TQLFNWK8AovT1gFvda5jfw2oJeRMKEmw7aH6MGBJ3or
```

La propina mínima es de 5,000 lamports.

## Requisitos de los bundles

* **Máximo de 5 transacciones** por bundle
* Todas las transacciones deben estar **completamente firmadas**
* Usa la codificación **base64** (se recomienda en lugar de base58 para mejorar el rendimiento)
* Al menos una transacción debe incluir una **propina**
* Las transacciones se ejecutan **secuencialmente**: tx2 puede depender de los cambios de estado de tx1

## simulateBundle (opcional)

Puedes simular tu bundle antes de enviarlo para comprobar si hay errores:

```bash theme={"system"}
curl "https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY" \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "simulateBundle",
    "params": [
      {
        "encodedTransactions": [
          "AT2AqtlokikUWgGNnSX5xrmdvBjSaiIPxvFz6zc5Abn5Z0CPFW5GO+Y3rXceLnqLgQFnGw0yTk3NtJdFNsbrwwQBAAIEsXPDJ9cMVbpFQYClVM7PGLh8JOfCD6E2vz5VNmBCF+p4Uhyxec67hYm1VqLV7JTSSYaC/fm7KvWtZOSRzEFT2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUpTWpkpIQZNJOhxYNo4fHw1td28kruB5B+oQEEFRI1i3Wzl2VfewCI8oYXParnP78725sKFzYheTEn8v865YQIDABhqaXRvIGJ1bmRsZSAwOiBqaXRvIHRlc3QCAgABDAIAAACghgEAAAAAAA==",
          "AS6fOZuGDsmyYdd+RC0fiFUgNe1BYTOYT+1hkRXHAeroC8R60h3g34EPF5Ys8sGzVBMP9MDSTVgy1/SSTqpCtA4BAAIEsXPDJ9cMVbpFQYClVM7PGLh8JOfCD6E2vz5VNmBCF+p4Uhyxec67hYm1VqLV7JTSSYaC/fm7KvWtZOSRzEFT2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUpTWpkpIQZNJOhxYNo4fHw1td28kruB5B+oQEEFRI1i3Wzl2VfewCI8oYXParnP78725sKFzYheTEn8v865YQIDABhqaXRvIGJ1bmRsZSAxOiBqaXRvIHRlc3QCAgABDAIAAACghgEAAAAAAA=="
        ]
      }
    ]
  }'
```

## Protégete contra ataques sándwich

Para desviar tu bundle de los validadores vinculados estadísticamente con ataques sándwich, agrega el parámetro de consulta `mev-protect=true` a tu URL de RPC, sin realizar cambios en el bundle:

```
https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY&mev-protect=true
```

## Consulta también

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

  <Card title="Transaction Rebates" icon="coins" href="/docs/es/sending-transactions/backrun-rebates">
    Activa la participación en llamadas individuales a `sendTransaction` para obtener una parte del MEV que generan tus transacciones, pagada en SOL.
  </Card>
</CardGroup>
