> ## 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 via Helius

> Envie bundles básicos através do seu endpoint RPC Helius. Execução atômica, tudo ou nada, de até 5 transações, proxy direto para Jito.

<Tip>
  Este é o caminho de bundle **básico** — um proxy Jito direto, cobrado por envio, melhor
  quando você precisa de execução atômica sem um requisito de latência. Se você é um
  trader que precisa de baixa latência e do buffer de gorjeta de prioridade, use [Sender Max
  bundles](/docs/pt-BR/sending-transactions/sender-max#bundles) em vez disso.
</Tip>

Bundles básicos oferecem execução atômica, tudo ou nada, de até 5 transações, proxy direto para Jito. Cada submissão `sendBundle` é cobrada como **1 crédito** do seu plano.

## Métodos Suportados

| Método           | Descrição                    | Limite de Taxa      |
| ---------------- | ---------------------------- | ------------------- |
| `sendBundle`     | Enviar um bundle             | 5 RPS por projeto   |
| `simulateBundle` | Simular um bundle sem enviar | Limite geral de RPC |

<Tip>
  Precisa de limites de taxa mais altos? [Entre em contato com nossa equipe de vendas](https://www.helius.dev/contact).
</Tip>

## sendBundle

Envie uma lista de transações assinadas como um bundle atômico. Se o bundle for aceito, retorna um `bundle_id` (hash SHA-256 das assinaturas de transação). Isso **não** garante que o bundle será registrado em blockchain. Verifique a confirmação da transação na blockchain para verificar.

Uma gorjeta é necessária. Pelo menos uma transação deve transferir SOL para uma [conta de gorjeta Helius](#tip-accounts). Se a gorjeta for muito baixa, o bundle pode não ser selecionado para inclusão.

### Solicitação

| Parâmetro            | Tipo            | Descrição                                                                      |
| -------------------- | --------------- | ------------------------------------------------------------------------------ |
| `params[0]`          | `array[string]` | **Obrigatório.** Até 5 transações totalmente assinadas, codificadas em base64. |
| `params[1].encoding` | `string`        | Opcional. `base64` (recomendado) ou `base58`. Padrão: `base58`.                |

### Exemplo

```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"
      }
    ]
  }'
```

### Resposta

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

O `result` é o ID do bundle — use-o com `getBundleStatuses` para rastrear o registro.

## getBundleStatuses

Retorna o status dos bundles enviados. Se um bundle não tiver sido registrado ou não for encontrado, retorna `null`.

### Solicitação

| Parâmetro   | Tipo            | Descrição                              |
| ----------- | --------------- | -------------------------------------- |
| `params[0]` | `array[string]` | **Obrigatório.** Até 5 IDs de bundles. |

### Exemplo

```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"
      ]
    ]
  }'
```

### Resposta

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

Retorna `null` no array `value` para bundles não encontrados.

## Roteamento por Região

Por padrão, Helius direciona seu bundle para o endpoint global de Jito (`mainnet.block-engine.jito.wtf`), que faz georroteamento automaticamente para o Block Engine mais próximo.

Para direcionar para uma região específica, defina o cabeçalho HTTP `jito-region`:

| Valor do Cabeçalho | Região do Block Engine |
| ------------------ | ---------------------- |
| `ams`              | Amsterdã               |
| `dub`              | Dublin                 |
| `fra`              | Frankfurt              |
| `lon`              | Londres                |
| `nyc`              | Nova York              |
| `slc`              | Salt Lake City         |
| `sgp`              | Singapura              |
| `tyo`              | Tóquio                 |
| `mainnet`          | Global (georroteado)   |

### Exemplo com Região

```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"
      }
    ]
  }'
```

## Contas de Gorjeta

Pelo menos uma transação no seu bundle deve incluir uma transferência de SOL para uma dessas contas de gorjeta. Escolha uma aleatoriamente para reduzir a concorrência.

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

A gorjeta mínima é de 5.000 lamports.

## Requisitos de Bundle

* **Máximo de 5 transações** por bundle
* Todas as transações devem ser **totalmente assinadas**
* Use codificação **base64** (recomendado sobre base58 para desempenho)
* Pelo menos uma transação deve incluir uma **gorjeta**
* As transações são executadas **sequencialmente** — tx2 pode depender de mudanças de estado de tx1

## simulateBundle (Opcional)

Você pode opcionalmente simular seu bundle antes de enviar para verificar erros:

```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=="
        ]
      }
    ]
  }'
```

## Proteger contra ataques sandwich

Para direcionar seu bundle para longe de validadores estatisticamente ligados a ataques sandwich, adicione o parâmetro de consulta `mev-protect=true` ao seu URL RPC — sem alterações no seu bundle:

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

## Veja também

<CardGroup cols={2}>
  <Card title="MEV Protect" icon="shield-halved" href="/docs/pt-BR/sending-transactions/mev-protect">
    Direcionar em torno de validadores estatisticamente ligados a ataques sandwich.
  </Card>

  <Card title="Rebates de Transação" icon="coins" href="/docs/pt-BR/sending-transactions/backrun-rebates">
    Optar por chamadas únicas `sendTransaction` para ganhar uma parte do MEV que suas transações geram, pago em SOL.
  </Card>
</CardGroup>
