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
  • REQUEST
  • Examples
  1. BSC & ETH
  2. APIs
  3. Transaction Bundles
  4. Bundle Submission

ETH Bundle Submission

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

REQUEST

Method: blxr_submit_bundle

Endpoint: api.blxrbdn.com

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.

[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.

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

  • all: all builders

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": ""
	     }
          }
        }'
 
wscat -c wss://api.blxrbdn.com/ws --header "Authorization: <YOUR-AUTHORIZATION-HEADER>" --no-check 
> {
         "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"],
                  "dropping_hashes": ["0xea..c1", "0x66..e4"],
                  "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

  • 30 bundle requests every second

Unlimited

Enterprise-Elite

  • 20 bundle requests every second

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

PreviousList of BSC ValidatorsNextBundle Submission with Gateway

Last updated 2 months ago

[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 for details of the priority fee refund program.

beaverbuild:

rsync-builder :

Traders can refer to for a full list.

enable_backrunme
priority_fee_refund
Priority Fee Refund
beaverbuild.org
rsync-builder.xyz
List of External Builders page