Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

eth_sendBundle

Submit a bundle of transactions for ordered execution within a block. Transactions execute in the order submitted, with explicit controls for revertable and optional transactions.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "eth_sendBundle",
  "params": [
    {
      "txs": ["0x...", "0x..."],
      "blockNumber": "0x1234567",
      "minTimestamp": 1234567890,
      "maxTimestamp": 1234567899,
      "revertingTxHashes": ["0x..."],
      "droppingTxHashes": ["0x..."],
      "replacementUuid": "uuid-string",
      "refundPercent": 50,
      "refundRecipient": "0x...",
      "refundTxHashes": ["0x..."]
    }
  ]
}

Parameters

ParameterRequiredDescription
txsYesArray of signed transactions to execute in order (RLP-encoded hex).
blockNumberNoTarget block number (hex). Defaults to the next block.
minTimestampNoEarliest unix timestamp at which the bundle is valid.
maxTimestampNoLatest unix timestamp at which the bundle is valid.
revertingTxHashesNoTransaction hashes that are allowed to revert without invalidating the bundle. Reverted transactions in this set may still remain part of the bundle.
droppingTxHashesNoTransaction hashes that are optional. If one of these transactions fails validation or execution, it is skipped and the bundle can continue. If it executes successfully, it is included.
replacementUuidNoA UUID (max 255 chars) used to replace or cancel this bundle. Submitting a new bundle with the same UUID replaces the previous one.
refundPercentNoPercentage (0–99) of the bundle's MEV profit to refund. 0 or omitted means no refund.
refundRecipientNoAddress to receive the refund. Defaults to the signer of the first transaction.
refundTxHashesNoTransaction hash used to anchor the refund calculation. Defaults to the last transaction. Max 1 entry.

Execution Semantics

Transactions within a bundle execute in the order submitted.

By default, any transaction failure invalidates the bundle.

If a transaction hash is listed in revertingTxHashes, that transaction may revert without invalidating the bundle.

If a transaction hash is listed in droppingTxHashes, that transaction is treated as optional. If it fails validation or execution, it is not included and the bundle may continue with later transactions. Only successfully executed dropping transactions are included.

Strict all-or-nothing behavior therefore applies only to transactions that are not listed in revertingTxHashes or droppingTxHashes.

Refunds

When refundPercent is greater than zero, Bombora constructs a refund transaction after executing the bundle. The refund amount is:

refund = (bundle_profit * refundPercent / 100) - transfer_cost

If the refund anchor transaction (from refundTxHashes, or the last tx by default) is never evaluated, or the refund transaction fails to construct, the bundle is dropped.

Replacement and Cancellation

Submitting a new bundle with the same replacementUuid replaces the previous bundle. Submitting an empty txs array with a replacementUuid is treated as a cancellation. You can also use eth_cancelBundle to cancel by UUID.

Response

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "bundleHash": "0x..."
  }
}

A successful response means the bundle was accepted for inclusion. It does not guarantee the bundle will be included in a block.