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.
Effective Gas Price
The effective gas price of a bundle is calculated as the total gas paid divided by the total gas used within the bundle. This calculation excludes gas consumed by transactions visible in the public mempool, focusing only on unique, private transactions within the bundle.
To optimize validator incentives and maintain network efficiency:
All submitted bundles must have an effective gas price of at least 1 gwei.
Enterprise plan users (and higher) are allowed to submit bundles with an effective gas price below 1 gwei, including 0 gwei bundles.
It is important to note that even though the effective gas price of the bundle for these tiers, can be below 1 gwei, bundles should still satisfy the following formula:
(GAS_FEES+DYNAMIC_FEE_PAYMENT)/GAS_USED >= 1gwei
This flexibility enables Enterprise (and higher) users to redirect gas savings toward higher dynamic fee payments to bloXroute, making their bundles more competitive in scenarios where multiple searchers are bidding for the same opportunity.
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.
end_of_block
[Optional, default: False] A boolean flag indicating that the bundle is intended for block arbitrage and should be placed at the end of the block. When set to true
, your bundle is placed as late as possible in the block.
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