Bundle API

The Rollr Bundle API allows you to submit atomic transaction bundles to the Solana network with guaranteed ordering and execution. Bundles are groups of transactions that execute together or not at all.

Endpoint

https://api.rollr.dev/v1/rpc

Submit Bundle

Submit a transaction bundle for execution on Solana.

Method

rollr_submitBundle

Parameters

transactions: string[]

Array of base58-encoded serialized transactions to include in the bundle.

maxTimestamp?: number

Unix timestamp after which the bundle should not be executed (optional).

priorityFee?: number

Additional priority fee in lamports to increase execution priority (optional).

revertOnFailure?: boolean

If true, entire bundle reverts if any transaction fails. Default: true.

Example Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "rollr_submitBundle",
  "params": {
    "transactions": [
      "4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFggS8w9snUts67BSh3EqKpXLUm5UMHfD7ZBe9GhARjbNQMLJ1QD3Spr6oMTBU6EhdB4RD8CP2xUxr2u3d6fos36PD98XS6oX8TQjLpsMwncs5DAMiD4nNnR8NBfyghGCWvCVifVwvA8B8TJxE1aiyiv2L61ApprK4P9dVBMFbQeBqfCnWqCeT",
      "3EtHeLKBXbdEKgdVqt3rqKHB7cLYFKbLCKdHPJRqP12L2qGEPgRZPfLNLDNzZyWJkZ8qjXFNdmZTqcWJE6YN7rUH3GdVqp8DPZPLrN5KcJNvPeXLr8Zr5qKNvJeLpXrNnL3qJ5LpYhB7cLYFKbLCKdH2qGEPgRZPfLNL"
    ],
    "priorityFee": 10000,
    "maxTimestamp": 1735689600,
    "revertOnFailure": true
  }
}

Example Response

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "bundleId": "9a7b8c6d5e4f3g2h1i0j9k8l7m6n5o4p",
    "status": "pending",
    "submittedAt": 1735689000
  }
}

Get Bundle Status

Query the status of a previously submitted bundle.

Method

rollr_getBundleStatus

Parameters

bundleId: string

The unique identifier returned when the bundle was submitted.

Example Request

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "rollr_getBundleStatus",
  "params": {
    "bundleId": "9a7b8c6d5e4f3g2h1i0j9k8l7m6n5o4p"
  }
}

Example Response

{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "bundleId": "9a7b8c6d5e4f3g2h1i0j9k8l7m6n5o4p",
    "status": "executed",
    "signature": "5J8r9kLm3nO2pQ1rS7tU8vW9xY6zA5bC4dE3fG2hI1jK0l",
    "slot": 185432167,
    "executedAt": 1735689120,
    "mevProfit": 15000000
  }
}

Bundle Status Values

pending
Bundle received and awaiting execution
executed
Bundle successfully executed on-chain
failed
Bundle execution failed or was rejected
expired
Bundle expired before execution (maxTimestamp reached)

Error Codes

-32600: Invalid Request

The JSON sent is not a valid request object

-32601: Method Not Found

The method does not exist or is not available

-32602: Invalid Params

Invalid method parameters

-32001: Bundle Too Large

Bundle exceeds maximum transaction count (5)

-32002: Simulation Failed

Bundle simulation failed during validation