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

bombora_getBundleStats

Check what happened to a bundle you submitted to Bombora. Returns whether the bundle passed simulation, whether it was included in a block we built, the builder payment we saw, and any errors.

Stats are available four blocks (≈48 seconds) after Bombora receives the bundle. Earlier calls return a normal result with status: "Pending".

We follow the layout from Titan's bundle-tracing API. titan_getBundleStats is accepted as an alias.

Endpoint

Bundle stats are served from a separate host from the bundle-submission RPC (Getting Started):

https://stats.bombora.buildClick to copy

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "bombora_getBundleStats",
  "params": [
    {
      "bundleHash": "0x..."
    }
  ]
}

Parameters

ParameterRequiredDescription
bundleHashYesThe 32-byte bundle hash returned by eth_sendBundle.

Response

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "status": "IncludedInBlock",
    "builderPayment": "13618000000000",
    "builderPaymentWhenIncluded": "13618000000000",
    "error": ""
  }
}
FieldDescription
statusWhat we currently know about the bundle. See Status Values.
builderPaymentBuilder payment we observed on the bundle's entry simulation (the simulation Bombora runs when it first receives the bundle), in wei, truncated to whole gwei. Empty when the bundle failed simulation.
builderPaymentWhenIncludedBuilder payment observed when the bundle was used in a build attempt, in wei, truncated to whole gwei (same rounding as builderPayment). Populated when status is IncludedInBlock or Submitted; empty otherwise.
errorFree-text, human-readable reason when the bundle failed simulation in a way callers can act on. Empty otherwise.

Status Values

StatusMeaning
NotFoundBombora has no record of this bundle: wrong hash, never submitted to us, or its data is no longer retained.
PendingThe bundle was received within the last four blocks and its outcome is still settling.
ReceivedThe bundle was seen but has no simulation outcome to report.
SimulationFailThe bundle was rejected during simulation. error may carry more details.
SimulationPassThe bundle passed simulation on entry.
IncludedInBlockThe bundle made it into at least one candidate block during building. Bombora builds several candidate blocks in parallel and only submits the most valuable one, so this does not guarantee the bundle reached a submitted block. A competing candidate may have won. builderPaymentWhenIncluded reflects the payment from the candidate build that used the bundle. See Submitted for confirmation the bundle reached a relay.
SubmittedBombora submitted a block containing the bundle to at least one relay: the candidate block it was part of won locally and was sent onward. This does not guarantee the bundle lands on-chain. The proposer may select a competing builder's block, so submission is the last step Bombora controls, not proof of inclusion.

The statuses trace a bundle's path from arrival to relay submission. The two branch points worth noting: a bundle can pass simulation yet never enter a candidate block, and it can enter a candidate block yet lose to a more valuable candidate before submission.

Each status is the furthest point the bundle reached, so every value is a possible exit node for a getBundleStats query:

eth_sendBundle
  |
  +-- NotFound
  |
  +-- Pending
        |
        +-- Received
              |
              +-- SimulationFail
              |
              +-- SimulationPass
                    |
                    +-- IncludedInBlock
                          |
                          +-- Submitted