Bundle Submission

A bundle typically consists of two or more transactions that must be executed together in a specific order. In the block building ecosystem, it is a widely respected convention that bundles are treated atomically — they should not be frontrun or separated by other transactions ("un-bundled").

You can submit bundles to bloXroute using the endpoint below. The bundle is validated and then forwarded to MEV relays and builders for inclusion.

This service is available via Cloud API only.

Purchase the Bundle Size Add-on to send bundles with more than 2 transactions.

Submission Endpoint

  • Method: blxr_submit_bundle

  • Endpoint: api.blxrbdn.com

  • Request type: HTTPS,WSS

Parameters

Parameter
Description

transaction

A list of raw transaction bytes without a 0x prefix.

block_number

Block number of a future block to include this bundle in, in hex value. For traders who would like more than one block to be targeted, please send multiple requests targeting each specific block.

min_timestamp

[Optional] The minimum timestamp that the bundle is valid on, an integer in unix epoch format. Default value is None.

max_timestamp

[Optional] The maximum timestamp that the bundle is valid on, an integer in unix epoch format. Default value is None.

reverting_hashes

[Optional] A list of transaction hashes within the bundle that are allowed to revert. Default is empty list: the whole bundle would be excluded if any transaction reverts.

dropping_hashes

[Optional] A list of transaction hashes within the bundle that can be removed from the bundle if it's deemed useful (but not revert). For example, when transaction is invalid. Default is empty list: the whole bundle would be excluded if any transaction fails.

uuid

[Optional] A unique identifier of the bundle. This field can be used for bundle replacement and bundle cancellation. Some builders like bloxroute, builder0x69 and flashbots support this field. After receiving a new UUID bundle, the builder would replace the previous bundle that has the same UUID. When the list of transactions is empty in new UUID bundle, the previous bundle associated with the same UUID would be effectively canceled. The response is empty/null instead of bundle hash when UUID is provided in the request.

enable_backrunme

[Optional, default: True] A boolean flag indicating if the bundle should be enrolled in the BackRunMe service.

backrunme_reward_address

[Optional] When the bundle is enrolled in the BackRunMe service, the transaction's from address collects backrun reward by default. The reward address can be overwritten with this parameter.

priority_fee_refund

[Optional, default: False] A boolean flag indicating if the bundle should be sent just to a single block builder who is participating in the priority fee refund program. Please refer to Priority Fee Refund for details of the priority fee refund program.

refund_recipient

[Optional] A string representing the wallet address to receive refund when priority_fee_refund flag is enabled. Users who do not want to specify the refund_recipient parameter must contact bloXroute to enable their refund address.

blocks_count

[Optional, default: 1] An integer that specifies the number of subsequent blocks that the bundle is valid for. The maximum value allowed for this parameter is 20. For example, when block_number parameter is 1000, and blocks_count is 3, then the current bundle would be processed with block numbers 1000, 1001, 1002.

mev_builders

[Optional, default: all builder] A dictionary of MEV builders that should receive the bundle. For each MEV builder, a signature (which can be an empty string) is required. For any builder, searchers can provide either empty string, or the signature used in X-Flashbots-Signature header, which can be constructed based on request payload {"jsonrpc":"2.0","id":"1","method":"eth_sendBundle","params":[...]}. For other builders, please provide empty string as signature. Possible MEV builders are:

Traders can refer to List of External Builders page for a full list.

Example

Cloud API

Gateway

circle-exclamation

Response:

(Response will not include a bundle hash if UUID is included in request.)

Last updated