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

# Бандлы через Helius

> Отправляйте базовые бандлы через вашу конечную точку Helius RPC. Атомарное выполнение до 5 транзакций по принципу «всё или ничего» с прямым проксированием в Jito.

<Tip>
  Это **базовый** способ отправки бандлов — прямой прокси-сервер Jito с оплатой
  за каждую отправку. Он лучше всего подходит, когда вам требуется атомарное выполнение без требований
  к задержке. Если вы трейдер и вам нужны низкая задержка и резерв чаевых
  за приоритет, используйте вместо этого [бандлы Sender Max
  ](/docs/ru/sending-transactions/sender-max#бандлы).
</Tip>

Базовые бандлы обеспечивают атомарное выполнение до 5 транзакций по принципу «всё или ничего» с прямым проксированием в Jito. Каждая отправка `sendBundle` списывает **1 кредит** вашего тарифного плана.

## Поддерживаемые методы

| Метод | Описание | Лимит запросов |
| - | - | - |
| `sendBundle` | Отправка бандла | 5 RPS на проект |
| `simulateBundle` | Симуляция бандла без отправки | Общий лимит запросов RPC |

<Tip>
  Нужны более высокие лимиты запросов? [Свяжитесь с нашим отделом
  продаж](https://www.helius.dev/contact).
</Tip>

## sendBundle

Отправляет список подписанных транзакций в виде атомарного бандла. Если бандл принят, возвращает `bundle_id` (хеш SHA-256 подписей транзакций). Это **не** гарантирует, что бандл попадёт в блокчейн. Для проверки получите подтверждение транзакций в блокчейне.

Требуются чаевые. Как минимум одна транзакция должна переводить SOL на [счёт Helius для чаевых](#счета-для-чаевых). Если чаевые слишком малы, бандл может быть не выбран для включения.

### Запрос

| Параметр | Тип | Описание |
| - | - | - |
| `params[0]` | `array[string]` | **Обязательно.** До 5 полностью подписанных транзакций в кодировке base64. |
| `params[1].encoding` | `string` | Необязательно. `base64` (рекомендуется) или `base58`. По умолчанию: `base58`. |

### Пример

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

### Ответ

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

`result` — это идентификатор бандла. Используйте его с `getBundleStatuses`, чтобы отслеживать включение в блокчейн.

## getBundleStatuses

Возвращает статус отправленных бандлов. Если бандл не включён в блокчейн или не найден, возвращает `null`.

### Запрос

| Параметр | Тип | Описание |
| - | - | - |
| `params[0]` | `array[string]` | **Обязательно.** До 5 идентификаторов бандлов. |

### Пример

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

### Ответ

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

Для ненайденных бандлов возвращает `null` в массиве `value`.

## Маршрутизация по регионам

По умолчанию Helius направляет ваш бандл в глобальную конечную точку Jito (`mainnet.block-engine.jito.wtf`), которая автоматически выполняет геомаршрутизацию до ближайшего Block Engine.

Чтобы выбрать конкретный регион, задайте HTTP-заголовок `jito-region`:

| Значение заголовка | Регион Block Engine |
| - | - |
| `ams` | Амстердам |
| `dub` | Дублин |
| `fra` | Франкфурт |
| `lon` | Лондон |
| `nyc` | Нью-Йорк |
| `slc` | Солт-Лейк-Сити |
| `sgp` | Сингапур |
| `tyo` | Токио |
| `mainnet` | Глобальный (геомаршрутизация) |

### Пример с указанием региона

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

## Счета для чаевых

Как минимум одна транзакция в вашем бандле должна включать перевод SOL на один из этих счетов для чаевых. Выберите случайный счёт, чтобы снизить конкуренцию.

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

Минимальные чаевые составляют 5 000 лампортов.

## Требования к бандлам

* **Не более 5 транзакций** в одном бандле
* Все транзакции должны быть **полностью подписаны**
* Используйте кодировку **base64** (для повышения производительности рекомендуется вместо base58)
* Как минимум одна транзакция должна включать **чаевые**
* Транзакции выполняются **последовательно** — tx2 может зависеть от изменений состояния, внесённых tx1

## simulateBundle (необязательно)

Перед отправкой вы можете при необходимости выполнить симуляцию бандла, чтобы проверить его на ошибки:

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

## Защита от сэндвич-атак

Чтобы направить ваш бандл в обход валидаторов, статистически связанных с сэндвич-атаками, добавьте параметр запроса `mev-protect=true` к вашему URL RPC — изменять бандл не требуется:

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

## См. также

<CardGroup cols={2}>
  <Card title="MEV Protect" icon="shield-halved" href="/docs/ru/sending-transactions/mev-protect">
    Направляйте транзакции в обход валидаторов, статистически связанных с сэндвич-атаками.
  </Card>

  <Card title="Transaction Rebates" icon="coins" href="/docs/ru/sending-transactions/backrun-rebates">
    Подключите отдельные вызовы `sendTransaction`, чтобы получать долю MEV, создаваемой вашими транзакциями, с выплатой в SOL.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.