# sendBundle

> Submits 1 to 5 signed transactions as one atomic bundle and returns its bundle id.

Source: https://docs.constant-k.com/rpc/http/sendbundle/

`sendBundle` submits a bundle in the Jito Block Engine format: 1 to 5 signed transactions that run in order and land together, or none land. The call returns the bundle id.

Requests are relayed to the Jito Block Engine in the same region as the endpoint. A bundle lands only when the current leader runs a Jito or BAM client; on other leaders it does not land.

- Transport: HTTP, JSON-RPC 2.0 `POST` to `https://rpc-newyork.constant-k.com/?api-key=YOUR_API_KEY` (New York) or `https://rpc-frankfurt.constant-k.com/?api-key=YOUR_API_KEY` (Frankfurt) or `https://rpc-amsterdam.constant-k.com/?api-key=YOUR_API_KEY` (Amsterdam). The key also works as an `x-api-key` header.
- Category: Transactions
- Availability: Operator and above
- Rate limits: Free not available · Operator 1 every 2 s · Blade Runner 2/s · Nexus 5/s

## Parameters

`params` is a positional JSON array, in this order:

- `transactions` (string[], required): 1 to 5 signed transactions, wire-encoded strings, in the order they should run.
- `config` (object, optional): Optional configuration.
  - `encoding` (string, optional, one of `base58`, `base64`, default `"base58"`): Wire encoding of the `transactions` items. `base58` is the default; `base64` is recommended.

## Result

- `result` (string, optional): The bundle id, a string. `getBundleStatuses` and `getInflightBundleStatuses` take it as input.

## Example: Submit a two-transaction bundle

Request:

```bash
curl "https://rpc-newyork.constant-k.com/?api-key=YOUR_API_KEY" \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "sendBundle",
    "params": [["AQIDExample==", "AQIEExample=="], { "encoding": "base64" }]
  }'
```

Response:

```json
{
  "jsonrpc": "2.0",
  "result": "ExampleBundleIdNotReal",
  "id": 1
}
```

## Notes

- The example transactions are placeholder strings, not real signed transactions; the example bundle id is fake.
- The bundle must pay a tip of at least 1,000 lamports to a Jito tip account, inside one of its transactions. The tip is the user's, not constant-k's.
- Each transaction in the bundle counts as one send against the plan's transaction limit: a five-transaction bundle uses five.
- Bundle requests share a per-region relay rate set by Jito, in proportion to each plan's bundle rate: the next opening goes to the waiting key furthest behind its share, and a key alone takes every opening. When the relay is busy the call returns HTTP `429` with code `-32005` and the headers `Retry-After` and `X-Retry-After-Ms`; retry after that wait. The refused call does not count against the plan's transaction limit. See [Errors](/rpc/errors/).
- Not accepted in batch requests, and not served on the staked or Neon Zero hostnames. Not included in the Free plan.
- Limits and how keys take turns at the relay: see [Jito bundles](/rpc/bundles/).

