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):
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "bombora_getBundleStats",
"params": [
{
"bundleHash": "0x..."
}
]
}Parameters
| Parameter | Required | Description |
|---|---|---|
bundleHash | Yes | The 32-byte bundle hash returned by eth_sendBundle. |
Response
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"status": "IncludedInBlock",
"builderPayment": "13618000000000",
"builderPaymentWhenIncluded": "13618000000000",
"error": ""
}
}| Field | Description |
|---|---|
status | What we currently know about the bundle. See Status Values. |
builderPayment | Builder 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. |
builderPaymentWhenIncluded | Builder 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. |
error | Free-text, human-readable reason when the bundle failed simulation in a way callers can act on. Empty otherwise. |
Status Values
| Status | Meaning |
|---|---|
NotFound | Bombora has no record of this bundle: wrong hash, never submitted to us, or its data is no longer retained. |
Pending | The bundle was received within the last four blocks and its outcome is still settling. |
Received | The bundle was seen but has no simulation outcome to report. |
SimulationFail | The bundle was rejected during simulation. error may carry more details. |
SimulationPass | The bundle passed simulation on entry. |
IncludedInBlock | The 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. |
Submitted | Bombora 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