bloXroute Documentation
WebsiteBlogTwitterDiscord
  • Welcome to bloXroute
  • Introduction
    • Why Use bloXroute?
    • Products
    • Create An Account
    • Technical Support
  • SOLANA
    • Trader API
      • Introduction
        • Regions
        • Authorization
        • Rate Limits
        • Tip and Tipping Addresses
      • Quick Start
        • Transaction Submission
        • Front-Running Protection & Transaction Bundle
        • Go SDK
        • Python SDK
        • Typescript SDK
        • Rust SDK
      • API Endpoints
        • Core Endpoints
          • submit
          • submit-paladin
          • submit-batch
          • balance
          • rate-limit
          • transaction
          • priority-fee
          • GetPriorityFeeStream
          • GetBundleTipStream
          • submit-snipe
        • Pump.fun
          • quotes
          • swap
          • swap-sol
          • GetPumpFunNewTokensStream
          • GetPumpFunSwapsStream
          • GetPumpFunAMMSwapsStream
        • Raydium
          • quotes
          • pools
          • pool-reserves
          • swap
          • cpmm-swap
          • clmm-swap
          • route-swap
          • GetPoolReservesStream
          • GetSwapsStream
          • GetNewRaydiumPoolsStream
          • GetNewRaydiumPoolsByTransactionStream
        • Jupiter
          • quotes
          • swap
          • swap-instructions
          • route-swap
        • Openbook
          • markets
          • orderbooks/{market}
          • depth/{market}
          • tickers/{market}
          • open-orders/{market}
          • unsettled/{market}
          • place
          • replace
          • cancel
          • settle
          • GetOrderbooksStream
          • GetTickersStream
      • Best Performance for Landing Transactions
      • Support
        • API Health
        • Contact us
        • Suggestions
        • Wiki
          • Terms & Concepts
          • Resources
    • Optimized Feed Relay (OFR)
      • Transaction Streamer
      • Gateway and OFR Requirements
      • Gateway and OFR Setup
      • Gateway Startup Arguments
      • OFR performance
      • Logging
      • Submitting Transaction
      • Upgrading Gateway
      • Troubleshooting
  • BSC & ETH
    • EVM Blockchain Distribution Network (BDN)
      • How to Connect
      • The bloXroute Gateway
        • Local Gateway
          • Installation and Startup
            • Authentication & Certificates
            • Requirements
            • Supported Clients
            • GitHub repository option
            • Docker container option
            • Startup Script
            • Startup Arguments
          • General Connectivity Troubleshooting
          • Logging
          • Upgrading your Gateway
        • Add Your Gateway as a Trusted Peer to Your Execution Layer Client
        • Connecting Your Gateway with the Consensus Layer
      • IPs & Relays
        • Relays IPs
        • Private Relays
        • Cloud-API IPs
          • ⏩Reducing Latencies using the BDN
    • APIs
      • Authorization
      • Check Transaction Quota
      • Submit a Transaction
        • Raw Transaction Construction
        • Tx-Validation
        • Batch Transaction
      • Private Transactions
        • ETH Private Transactions
        • BSC Private Transactions
      • Transaction Bundles
        • Bundle Simulation
        • Bundle Validation
        • Bundle Submission
          • BSC Bundle Submission
            • List of BSC Validators
          • ETH Bundle Submission
          • Bundle Submission with Gateway
        • Bundle Tracking
          • BSC Bundle-Trace
          • ETH Bundle-Trace
          • ETH Bundle Inclusion Status
        • Bundle Refunds
          • Priority Fee Refund
          • Bundle Refund
          • Latest Bundle Refunds
      • Backrun Arbitrage
        • BackRunMe: Bundle Submission
          • BSC submit arbOnly
          • ETH submit arbOnly
            • blxr_info
            • ETH arbOnly Simulation
      • Token Launch Sniping
      • Other Utilities
        • List of bloXroute Builders
        • List of External Builders
        • Tx-Trace
        • Ping
    • Streams
      • Requirements
      • Subscription limits
      • Working With Streams
        • Creating a Subscription
          • Websocket
          • gRPC
        • Handling the Notification
          • Websocket
          • gRPC
        • Cancelling a Subscription
          • Websocket
          • gRPC
        • Local Node Validation
      • newTxs and pendingTxs
        • Filters
        • Raw TX Reconstruction
      • BackRunMe: arbOnlyMEV
        • ETH arbOnlyMEV
        • BSC arbOnlyMEV
      • transactionStatus
      • txReceipts
      • newBlocks
      • bdnBlocks
      • ethOnBlock
      • MEVBlockValue
      • MEVNextProposerInfo
    • Block Builders and Validators
      • Validator Gateway
      • MEV Relay (For Validators)
      • Block Submission
      • Proposer MEV-Protect
      • Compliance Lists
      • Preconfirmations
    • Protect RPCs
      • ETH Protect RPC
      • ETH Gas Protect RPC
      • BSC Protect RPC
      • SOL Protect RPC
  • Base Network
    • Submit Transactions
    • Streams
      • GetBdnBlockStream
  • TON NETWORK
    • TON Trader API
      • Quick Start
      • Fee Schedule
      • Connection
      • Submit Signed Transaction
  • Resources
    • BDN Explorer
    • Block Explorer
    • Guides
      • Algorithmic Trading
      • Setting Up a Local Gateway
      • Gateway as Web3 Bridge
    • Architecture
      • BDN Architecture
        • Network Components
        • Performance Techniques
          • Block Compression
          • Cut-through Routing
          • Optimized Topology
      • bloXroute Protocol
        • Versioning
        • Message Structure
        • Message Types
    • Contact Us
Powered by GitBook
On this page
  • Overview
  • How It Works
  • Payout & Profit Sharing
  • REQUEST
  1. BSC & ETH
  2. APIs
  3. Transaction Bundles
  4. Bundle Submission

BSC Bundle Submission

Overview

Searchers can submit BSC MEV bundles to the Cloud API, where they are validated and forwarded to Builders that are connected to BSC validators participating in Bloxroute’s MEV solution. Bundles are optimized to maximize validator rewards, ensuring efficient MEV extraction.

How It Works

  1. Bundle Processing:

    • The Builder constructs blocks using submitted bundles and mempool transactions.

    • Blocks are optimized to provide the highest possible reward to the validator.

    • The Builer submits the block to the current validator for sealing and commitment.

  2. Block Selection & Inclusion:

    • If the Builder’s proposed block offers higher total rewards than the validator’s locally produced block (or another Builder’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

Parameters
Descriptions

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.

backrunme_reward_address

Examples (Cloud API)

curl https://api.blxrbdn.com \
    -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"],
            "blockchain_network": "BSC-Mainnet",
            "block_number": "0xa11446",
            "mev_builders": {
                "all": ""
            }
          }
        }'
wscat -c wss://api.blxrbdn.com/ws --header "Authorization: <YOUR-AUTHORIZATION-HEADER>"
> {"id": "1", "method": "blxr_submit_bundle", "params": {"transaction": ["ab..ab", "cd..cd"], "blockchain_network": "BSC-Mainnet", "block_number": "0xa11446", "mev_builders": {"all": ""}}}

Rate Limit and Restriction

Plan
Submission and Simulation Rate Limit

Ultra

  • 60 bundle requests every block number

  • 30 bundle requests every second

Enterprise-Elite

  • 30 bundle requests every block number

  • 15 bundle requests every second

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

PreviousBundle SubmissionNextList of BSC Validators

Last updated 1 month ago

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

[Optional] When the bundle is enrolled in the service (i.e. enable_backrunme = True), rewards are shared with the specified backrunme_reward_address.

enable_backrunme
BackRunMe
BackRunMe