Submit a Bundle
Submit a bundle of up to 5 fully-signed transactions for atomic execution. All transactions execute sequentially — if any fails, the entire bundle is rejected. Requires a tip to a Jito tip account in at least one transaction.
Rate Limits
sendBundle is rate limited to 5 requests per second per project. getBundleStatuses and simulateBundle use the general RPC rate limit.
Need higher rate limits? Contact our sales team.
Endpoint
POST https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY
Request
| Parameter |
Type |
Requirement |
Description |
| jsonrpc |
string |
required |
"2.0" |
| id |
number |
required |
Request identifier. |
| method |
string |
required |
"sendBundle" |
| params[0] |
array[string] |
required |
Array of up to 5 fully-signed transactions, base64 encoded. |
| params[1].encoding |
string |
optional |
"base64" (recommended) or "base58". Default: "base58". |
Query Parameters
| Parameter |
Type |
Default |
Description |
| mev-protect |
boolean |
false |
When true, routes your bundle away from validators statistically linked to sandwich attacks. Opt-in per request. See MEV Protect. |
Headers
| Parameter |
Type |
Requirement |
Description |
| jito-region |
string |
optional |
Route to a specific Jito Block Engine region. Values: ams, dub, fra, lon, nyc, slc, sgp, tyo, mainnet. If omitted, routes to the global endpoint (geo-routed to nearest). |
Request Example
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": [
[
"BASE64_SIGNED_TX_1",
"BASE64_SIGNED_TX_2"
],
{
"encoding": "base64"
}
]
}'
Response
| Parameter |
Type |
Description |
| result |
string |
Bundle ID (SHA-256 hash of the transaction signatures). Use with getBundleStatuses to track landing. |
{
"jsonrpc": "2.0",
"result": "892b79ed49138bfb3aa5441f0df6e06ef34f9ee8f3976c15b323605bae0cf51d",
"id": 1
}