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

# Bundle qua Helius

> Gửi các bundle cơ bản qua điểm cuối Helius RPC của bạn. Thực thi nguyên tử theo cơ chế tất cả hoặc không có gì cho tối đa 5 giao dịch, được chuyển tiếp trực tiếp đến Jito.

<Tip>
  Đây là luồng bundle **cơ bản** — một proxy Jito trực tiếp, được tính phí theo mỗi lần gửi và phù hợp nhất
  khi bạn cần thực thi nguyên tử mà không có yêu cầu về độ trễ. Nếu bạn là
  nhà giao dịch cần độ trễ thấp và vùng đệm tiền tip ưu tiên, hãy dùng [bundle Sender Max
  ](/docs/vi/sending-transactions/sender-max#bundle).
</Tip>

Bundle cơ bản cho phép thực thi nguyên tử theo cơ chế tất cả hoặc không có gì cho tối đa 5 giao dịch, được chuyển tiếp trực tiếp đến Jito. Mỗi lần gửi `sendBundle` được tính là **1 tín dụng** trong gói của bạn.

## Phương thức được hỗ trợ

| Phương thức      | Mô tả                        | Giới hạn tốc độ           |
| ---------------- | ---------------------------- | ------------------------- |
| `sendBundle`     | Gửi một bundle               | 5 RPS cho mỗi dự án       |
| `simulateBundle` | Mô phỏng bundle mà không gửi | Giới hạn tốc độ RPC chung |

<Tip>
  Cần giới hạn tốc độ cao hơn? [Liên hệ đội ngũ bán hàng của chúng tôi
  ](https://www.helius.dev/contact).
</Tip>

## sendBundle

Gửi danh sách các giao dịch đã ký dưới dạng một bundle nguyên tử. Nếu bundle được chấp nhận, phương thức sẽ trả về `bundle_id` (hàm băm SHA-256 của các chữ ký giao dịch). Điều này **không** đảm bảo bundle sẽ được ghi lên chuỗi. Hãy kiểm tra xác nhận giao dịch trên chuỗi để xác minh.

Bắt buộc phải có tiền tip. Ít nhất một giao dịch phải chuyển SOL đến một [tài khoản nhận tip của Helius](#tài-khoản-nhận-tip). Nếu tiền tip quá thấp, bundle có thể không được chọn để đưa vào.

### Yêu cầu

| Tham số              | Kiểu            | Mô tả                                                                     |
| -------------------- | --------------- | ------------------------------------------------------------------------- |
| `params[0]`          | `array[string]` | **Bắt buộc.** Tối đa 5 giao dịch đã ký đầy đủ, được mã hóa base64.        |
| `params[1].encoding` | `string`        | Không bắt buộc. `base64` (khuyến nghị) hoặc `base58`. Mặc định: `base58`. |

### Ví dụ

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

### Phản hồi

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

`result` là ID bundle — hãy dùng ID này với `getBundleStatuses` để theo dõi việc bundle được ghi lên chuỗi.

## getBundleStatuses

Trả về trạng thái của các bundle đã gửi. Nếu một bundle chưa được ghi lên chuỗi hoặc không tìm thấy, phương thức sẽ trả về `null`.

### Yêu cầu

| Tham số     | Kiểu            | Mô tả                             |
| ----------- | --------------- | --------------------------------- |
| `params[0]` | `array[string]` | **Bắt buộc.** Tối đa 5 ID bundle. |

### Ví dụ

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

### Phản hồi

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

Trả về `null` trong mảng `value` đối với các bundle không tìm thấy.

## Định tuyến theo khu vực

Theo mặc định, Helius định tuyến bundle của bạn đến điểm cuối toàn cầu của Jito (`mainnet.block-engine.jito.wtf`), nơi tự động định tuyến theo vị trí địa lý đến Block Engine gần nhất.

Để nhắm đến một khu vực cụ thể, hãy đặt tiêu đề HTTP `jito-region`:

| Giá trị tiêu đề | Khu vực Block Engine                     |
| --------------- | ---------------------------------------- |
| `ams`           | Amsterdam                                |
| `dub`           | Dublin                                   |
| `fra`           | Frankfurt                                |
| `lon`           | London                                   |
| `nyc`           | New York                                 |
| `slc`           | Salt Lake City                           |
| `sgp`           | Singapore                                |
| `tyo`           | Tokyo                                    |
| `mainnet`       | Toàn cầu (định tuyến theo vị trí địa lý) |

### Ví dụ với khu vực

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

## Tài khoản nhận tip

Ít nhất một giao dịch trong bundle của bạn phải bao gồm một lần chuyển SOL đến một trong các tài khoản nhận tip này. Hãy chọn ngẫu nhiên một tài khoản để giảm tranh chấp.

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

Mức tip tối thiểu là 5.000 lamport.

## Yêu cầu đối với bundle

* Tối đa **5 giao dịch** cho mỗi bundle
* Tất cả giao dịch phải được **ký đầy đủ**
* Sử dụng mã hóa **base64** (được khuyến nghị thay cho base58 để có hiệu suất tốt hơn)
* Ít nhất một giao dịch phải bao gồm **tiền tip**
* Các giao dịch được thực thi **tuần tự** — tx2 có thể phụ thuộc vào thay đổi trạng thái từ tx1

## simulateBundle (Không bắt buộc)

Bạn có thể tùy chọn mô phỏng bundle trước khi gửi để kiểm tra lỗi:

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

## Bảo vệ khỏi các cuộc tấn công sandwich

Để định tuyến bundle của bạn tránh các trình xác thực có liên hệ về mặt thống kê với các cuộc tấn công sandwich, hãy thêm tham số truy vấn `mev-protect=true` vào URL RPC — không cần thay đổi bundle:

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

## Xem thêm

<CardGroup cols={2}>
  <Card title="MEV Protect" icon="shield-halved" href="/docs/vi/sending-transactions/mev-protect">
    Định tuyến tránh các trình xác thực có liên hệ về mặt thống kê với các cuộc tấn công sandwich.
  </Card>

  <Card title="Transaction Rebates" icon="coins" href="/docs/vi/sending-transactions/backrun-rebates">
    Chọn tham gia trong từng lệnh gọi `sendTransaction` để nhận một phần MEV do giao dịch của bạn tạo ra, được thanh toán bằng SOL.
  </Card>
</CardGroup>
