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

# Bundel melalui Helius

> Kirim bundel dasar melalui endpoint RPC Helius Anda. Eksekusi atomik sekaligus, berhasil semua atau gagal semua, hingga 5 transaksi, yang diteruskan langsung ke Jito.

<Tip>
  Ini adalah jalur bundel **dasar** — proksi langsung ke Jito, ditagih per pengiriman, paling cocok
  saat Anda memerlukan eksekusi atomik tanpa persyaratan latensi. Jika Anda seorang
  trader yang memerlukan latensi rendah dan buffer tip prioritas, gunakan [bundel Sender Max
  ](/docs/id/sending-transactions/sender-max#bundel) sebagai gantinya.
</Tip>

Bundel dasar menyediakan eksekusi atomik sekaligus, berhasil semua atau gagal semua, hingga 5 transaksi, yang diteruskan langsung ke Jito. Setiap pengiriman `sendBundle` ditagih sebesar **1 kredit** dari paket Anda.

## Metode yang Didukung

| Metode           | Deskripsi                               | Batas Laju          |
| ---------------- | --------------------------------------- | ------------------- |
| `sendBundle`     | Kirim bundel                            | 5 RPS per proyek    |
| `simulateBundle` | Simulasikan bundel tanpa mengirimkannya | Batas laju RPC umum |

<Tip>
  Memerlukan batas laju yang lebih tinggi? [Hubungi tim penjualan
  kami](https://www.helius.dev/contact).
</Tip>

## sendBundle

Mengirimkan daftar transaksi yang telah ditandatangani sebagai bundel atomik. Jika bundel diterima, metode ini mengembalikan `bundle_id` (hash SHA-256 dari tanda tangan transaksi). Hal ini **tidak** menjamin bahwa bundel akan masuk ke on-chain. Periksa konfirmasi transaksi di chain untuk memverifikasinya.

Tip wajib diberikan. Setidaknya satu transaksi harus mentransfer SOL ke [akun tip Helius](#akun-tip). Jika tip terlalu rendah, bundel mungkin tidak dipilih untuk disertakan.

### Permintaan

| Parameter            | Jenis           | Deskripsi                                                                                      |
| -------------------- | --------------- | ---------------------------------------------------------------------------------------------- |
| `params[0]`          | `array[string]` | **Wajib.** Hingga 5 transaksi yang telah ditandatangani sepenuhnya dan dienkode dengan base64. |
| `params[1].encoding` | `string`        | Opsional. `base64` (direkomendasikan) atau `base58`. Default: `base58`.                        |

### Contoh

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

### Respons

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

`result` adalah ID bundel — gunakan bersama `getBundleStatuses` untuk melacak apakah bundel telah masuk.

## getBundleStatuses

Mengembalikan status bundel yang telah dikirimkan. Jika bundel belum masuk atau tidak ditemukan, metode ini mengembalikan `null`.

### Permintaan

| Parameter   | Jenis           | Deskripsi                      |
| ----------- | --------------- | ------------------------------ |
| `params[0]` | `array[string]` | **Wajib.** Hingga 5 ID bundel. |

### Contoh

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

### Respons

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

Mengembalikan `null` dalam array `value` untuk bundel yang tidak ditemukan.

## Perutean Wilayah

Secara default, Helius merutekan bundel Anda ke endpoint global Jito (`mainnet.block-engine.jito.wtf`), yang secara otomatis melakukan perutean geografis ke Block Engine terdekat.

Untuk menargetkan wilayah tertentu, atur header HTTP `jito-region`:

| Nilai Header | Wilayah Block Engine                |
| ------------ | ----------------------------------- |
| `ams`        | Amsterdam                           |
| `dub`        | Dublin                              |
| `fra`        | Frankfurt                           |
| `lon`        | London                              |
| `nyc`        | New York                            |
| `slc`        | Salt Lake City                      |
| `sgp`        | Singapura                           |
| `tyo`        | Tokyo                               |
| `mainnet`    | Global (dirutekan secara geografis) |

### Contoh dengan Wilayah

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

## Akun Tip

Setidaknya satu transaksi dalam bundel Anda harus menyertakan transfer SOL ke salah satu akun tip berikut. Pilih satu secara acak untuk mengurangi persaingan.

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

Tip minimum adalah 5.000 lamport.

## Persyaratan Bundel

* Maksimal **5 transaksi** per bundel
* Semua transaksi harus **ditandatangani sepenuhnya**
* Gunakan enkode **base64** (direkomendasikan daripada base58 untuk performa)
* Setidaknya satu transaksi harus menyertakan **tip**
* Transaksi dieksekusi **secara berurutan** — tx2 dapat bergantung pada perubahan status dari tx1

## simulateBundle (Opsional)

Anda dapat memilih untuk menyimulasikan bundel sebelum mengirimkannya guna memeriksa kesalahan:

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

## Lindungi dari serangan sandwich

Untuk merutekan bundel Anda agar tidak melalui validator yang secara statistik terkait dengan serangan sandwich, tambahkan parameter kueri `mev-protect=true` ke URL RPC Anda — tanpa perubahan pada bundel:

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

## Lihat juga

<CardGroup cols={2}>
  <Card title="MEV Protect" icon="shield-halved" href="/docs/id/sending-transactions/mev-protect">
    Hindari validator yang secara statistik terkait dengan serangan sandwich saat melakukan perutean.
  </Card>

  <Card title="Transaction Rebates" icon="coins" href="/docs/id/sending-transactions/backrun-rebates">
    Ikut serta dalam setiap panggilan `sendTransaction` untuk memperoleh bagian dari MEV yang dibuat oleh transaksi Anda, yang dibayarkan dalam SOL.
  </Card>
</CardGroup>
