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
  • How to Speed Up Inclusion rate
  • How to Speed Up Trigger Transactions Discovery
  • General Guidelines for Increasing Performance
  1. Resources
  2. Guides

Algorithmic Trading

PreviousGuidesNextSetting Up a Local Gateway

In Algorithmic Trading, speed is critical for success. Traders must optimize and reduce the latency of both hearing about important transactions and submitting transactions to block builders and validators. Following the guidelines below, bloXroute users can receive the greatest performance from the BDN and get an advantage over competitors.

Speed is essential mainly for two reasons:

  1. Giving you enough time to process a trigger transaction and get your trades in the next block.

  2. In some cases, block builders (or validators) order transactions based on arrival time.

Blocks duration and blocks interval depend on network you trade. The lower the block's interval (e.g. more blocks are created). In Ethereum for example, where block time is 12 seconds, latency is less of an issue in the beginning of the slot, however, in the last 1-2 seconds of the slot time it can determine if you win or not.

Algorithmic Trading is usually a bot responding to a transaction (trigger transaction). In this case, there are two main unknowns:

  1. Origin of the trigger transaction: The trigger transaction could have been created anywhere in the world.

  2. Validator/block builder location: The node creating the next block can be located anywhere in the world.

A trader needs to minimize the duration between the time a trigger transaction was first available in the mempool and the time their bot receives it.

A trader needs to minimize the duration between the time they send their trade transaction (or bundle) and the time block builders/validators receive the transaction/bundle.

Specifically, in Ethereum, a trader needs to reach to as many block builders as possible to increase inclusion rate.

Traders can control the location and number of their bots - the more trading bots they own, the faster they can hear about transactions. This, however, adds up in terms of operational costs and becomes an optimization problem of how to minimize the time while keeping costs low.

How to Speed Up Inclusion rate

  • Use multiple endpoint targets, i.e., your bots should to both the Gateway and the Cloud-API.

  • Use a Websocket connection with the Gateway-API and Cloud-API.

  • For Ethereum, traders should consider the following:

    • If possible, use both and . Sometimes it is easier to land in the next block with private transaction (you are risking a gas of reverted transaction).

    • Submit bundles to the gateway and not just to the Cloud-API (requires Enterprise Elite plan). This will get your bundles to the builder much faster.

    • Use the enable_backrunme for bundles. If your bundle create backrun opportunity, you will get some MEV back but more importantly, block builders will prioritize your transaction.

    • Use the all for mev_builders in blxr_submit_bundle request.

How to Speed Up Trigger Transactions Discovery

  • Run a Gateway for each of your nodes (requires an Enterprise plan or above).

  • Use bloXroute's newTxs stream and perform applicable validation within your application.

  • Use bloXroute bdnBlocks Stream.

General Guidelines for Increasing Performance

  • Run trading bots from multiple regions around the world.

  • Stay as close as possible to the BDN infrastructure and run bots in regions with many nodes.

submit transactions
bundles
private transaction
option
option