Submit Bundles
Submit multiple transactions as an atomic bundle. All transactions succeed together or all fail.
Request
json
{
"jsonrpc": "2.0",
"id": 1,
"method": "sendBundle",
"params": [
[
"<base64_tx_1>",
"<base64_tx_2>",
"<base64_tx_3>"
],
{
"encoding": "base64",
"skipPreflight": true
}
]
}Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
transactions | string[] | Yes | — | Array of base64 encoded signed transactions (max 4) |
encoding | string | No | "base64" | "base64" |
skipPreflight | boolean | No | true | Skip preflight simulation |
Response
json
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"bundle_id": "abc123def456...",
"signatures": [
"5VERv8NMvzbJMEkV8xnrLkEaWRtSz9Co...",
"3XHA7ofPAf3FaLUAY3kT52c9dwek2Gbi..."
]
}
}Endpoint
POST https://global.blocksprint.io/bundle/v1/YOUR_API_KEYAlternative:
POST https://global.blocksprint.io/bundleWith X-API-Key header or ?api_key= query parameter.
URI Parameters
| Constraint | Type | Default | Description |
|---|---|---|---|
| revertProtection | bool | false | Enables revert protection |
Bundle Limits
| Constraint | Limit |
|---|---|
| Max transactions | 4 |
| Min transactions | 1 |
| Max transaction size | 1,232 bytes (4,096 bytes for Transaction V1) |
| Min tip | 0.001 SOL to a BlockSprint tip address, in one of the bundle's transactions |
How Bundles Work
Atomic execution
All transactions execute together.
Sequential order
Transactions execute in the order they appear in the array.
Revert protection
If any transaction fails, the entire bundle reverts.
Multi-provider
Bundles are sent to Jito.
Use Cases
Arbitrage
javascript
const bundle = [
buyOnDexA, // Buy token
sellOnDexB, // Sell token for profit
];Flash Loans
javascript
const bundle = [
flashBorrow,
executeStrategy,
flashRepay,
];NFT Operations
javascript
const bundle = [
approveSpend,
buyNft,
];