eth_sendDeterministicBundle
Submit a bundle for deterministic placement relative to watched addresses. The builder monitors the watched addresses during block construction and places the bundle once all of them have been touched at least once.
This is useful for strategies that depend on specific addresses having been touched — for example, executing after a DEX pool rebalances or after a lending protocol's state changes.
Requires the X-Flashbots-Signature header.
Parameters
Extends eth_sendBundle with an additional watchedAddresses field:
txs
string[]
Yes
Array of signed transactions as 0x-prefixed RLP-encoded hex strings
blockNumber
string
Yes
Target block number as a hex string (e.g. "0x1234567")
watchedAddresses
string[]
Yes
Addresses to watch for state changes. The bundle is placed after the last transaction that modifies any of these addresses.
minTimestamp
number
No
Minimum block timestamp (Unix seconds) for inclusion
maxTimestamp
number
No
Maximum block timestamp (Unix seconds) for inclusion
revertingTxHashes
string[]
No
Tx hashes allowed to revert without invalidating the bundle
droppingTxHashes
string[]
No
Tx hashes that, if already included on-chain, cause the bundle to be dropped
replacementUuid
string
No
UUID to enable bundle replacement
replacementNonce
number
No
Monotonically increasing nonce for replacement ordering
refundPercent
number
No
Percentage (0–100) of builder profit to refund to refundRecipient
refundRecipient
string
No
Address that receives the refund payment
Request
Response
bundleHash
string
0x-prefixed bundle hash. Use with eureka_getBundleStats to track inclusion.
Placement Behavior
The builder waits until all watched addresses have been touched at least once, then attempts to place the bundle.
If the bundle execution fails, the builder may reattempt placement after additional state changes to the watched addresses.
If none of the watched addresses are touched by other transactions, the bundle is not included in the block.
Notes
Bundle replacement and cancellation work the same as with
eth_sendBundle— usereplacementUuidto replace or calleth_cancelBundleto cancel.The bundle is only eligible for the specified
blockNumberand is discarded after that block is built.
Last updated
