BSC Bundle Submission
Overview
Searchers can submit BSC MEV bundles to the Cloud API, where they are validated and forwarded to MEV Relays directly connected to BSC validators participating in Bloxroute’s MEV solution. Bundles are optimized to maximize validator rewards, ensuring efficient MEV extraction.
How It Works
Bundle Processing:
The MEV Relay constructs blocks using submitted bundles and mempool transactions.
Blocks are optimized to provide the highest possible reward to the validator.
The relay submits the block to the current validator for sealing and commitment.
Block Selection & Inclusion:
If the MEV relay’s proposed block offers higher total rewards than the validator’s locally produced block (or another MEV relay’s block), the validator will accept and commit it.
This ensures the best outcome for both searchers and validators.
Payout & Profit Sharing
To ensure alignment among all participants, searchers must share profits with both the validator and Bloxroute.
Dynamic Service Fee Payment
✅ Single BNB Payment to Cover Both Validator & Bloxroute Fees
Wallet Address:
0x74c5F8C6ffe41AD4789602BDB9a48E6Cad623520
Payment can be made via:
Internal transaction transfer (may require a custom smart contract)
Extra regular transaction included in the bundle
Dynamic fee payments are weighted higher than gas payments, optimizing bundle prioritization.
✅ Bundle Scoring Formula The Bloxroute Builder prioritizes bundles based, at a high-level, on the following formula:
Bundle Score = (Private TXs Gas Fee)×0.9 + (BNB sent to dynamic fee wallet)
Where Private TXs are those created by the searcher, not seen in the public mempool.
Searchers will save a lot in gas fees and can focus more on extracting value.
Higher payments to the dynamic fee wallet increase priority.
This encourages competitive bidding among searchers for transaction inclusion.
REQUEST
Method: blxr_submit_bundle
Endpoint: api.blxrbdn.com
Parameters
transaction
A list of raw transaction bytes without a 0x prefix, seperated by a comma.
blockchain_network
Blockchain network name. Must be BSC-Mainnet.
block_number
Block number of a future block to include this bundle in, in hex value.
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.
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.
Possible MEV builders are:
bloxroute
: bloXroute internal builder (always enabled for all MEV bundle submission requests)all
: all builders
avoid_mixed_bundles
[Optional, default: False] A boolean indicating whether it is okay to mix the bundle with other bundles and transactions. If false, then there might be other transactions inserted into the bundle assuming the original transactions in the bundle don't revert.
Examples (Cloud API)
Rate Limit and Restriction
Ultra
Unlimited
Enterprise-Elite
Unlimited
Enterprise
12 bundle requests every block number
4 bundle requests every second
Professional
4 bundle requests every block number
2 bundle requests every second
Introductory
2 bundle requests every block number
1 bundle request every second
Last updated