ETH Bundle Submission

Send your MEV bundle to multiple builders connected to the bloXroute network

REQUEST

Method: blxr_submit_bundle

Submit a bundle to the Cloud-API or Gateway, which validates and forwards the bundle to MEV relays. Please contact bloXroute support if you have questions regarding the parameters.

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: bloxroute 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:

  • bloxroute: bloXroute internal builder (always enabled for all MEV bundle submission requests)

  • flashbots: flashbots builder

  • beaverbuild: beaverbuild.org

  • rsync-builder : rsync-builder.xyz

  • all: all builders

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

Examples

Cloud API

curl https://api.blxrbdn.com \
    --insecure \
    -X POST \
    -H "Content-Type: application/json" \
    -H "Authorization: <YOUR-AUTHORIZATION-HEADER>" \
    -d '{
         "id": "1", 
         "method": "blxr_submit_bundle", 
         "params": {
            "transaction": ["ab..ab", "cd..cd"],
            "block_number": "0xba10d0",
            "min_timestamp": 1616511391,
            "max_timestamp": 1617806320,
            "reverting_hashes": ["0xd8..ce", "0x50..d3"],
            "dropping_hashes": ["0xea..c1", "0x66..e4"],
            "uuid": "05e33611-a415-425b-b9ca-ca0ef6773461",
            "priority_fee_refund": true,
            "refund_recipient": "0x000...111",
            "mev_builders": {
                "bloxroute": "",
                "flashbots": "<signature>",
                "beaverbuild": "",
                "all": ""
	     }
          }
        }'
 

Gateway

Using gateway to send bundles to bloXroute builders requires Enterprise Elite plan. Traders with lower plans can still use gateway to send bundles to external builders.

wscat -c ws://127.0.0.1:28333/ws --header "Authorization: <YOUR-AUTHORIZATION-HEADER>"
> {
         "jsonrpc": "2.0", 
         "id": "1",
         "method": "blxr_submit_bundle", 
         "params": {
                  "transaction": ["ab..ab", "cd..cd"],
                  "block_number": "0xba10d0",
                  "min_timestamp": 1616511391,
                  "max_timestamp": 1617806320,
                  "reverting_hashes": ["0xd8..ce", "0x50..d3"],
                  "mev_builders": {
			         "bloxroute": "",
			         "flashbots": "<signature>",
			         "all": ""
	          }
         }
}

Rate Limits and Restriction

Plan
Bundle Submission
Bundle Simulation

Ultra and Enterprise-Elite

Unlimited

Unlimited

Enterprise

  • 8 bundle requests every block number

  • 2 bundle requests every second

Not supported

Professional and Introductory

  • 4 bundle requests every block number

  • 1 bundle request every second

Not supported

Last updated