Searcher Integration
Submit MEV bundles to Block Chef and compete in Toby's open auction. This guide covers data access, bundle submission, and optimization.
Submit MEV bundles to Block Chef and compete in Toby's open auction. This guide covers data access, bundle submission, and optimization.
Prerequisites
Solana development experience (Rust or TypeScript via
@solana/web3.js)Familiarity with MEV concepts: arbitrage, liquidations, backrunning
RPC access to a Solana node (or a provider like Helius, Triton, etc.)
A funded Solana wallet for bundle tips
Architecture
The searcher data flow looks like this:
Laser Stream (real-time data) → Your Strategy (analysis + bundle construction) → Block Chef (auction + verification) → Validator (block inclusion)
You consume data from Laser Stream, identify opportunities, build transaction bundles, and submit them to Block Chef. Block Chef runs a fair auction. The highest-tipping valid bundles win inclusion in the next block.
Connecting to Laser Stream
Laser Stream is Toby's optimized data feed, part of the OtterFlow infrastructure. It refines raw blockchain data into signals built for MEV detection, with 30-50% lower hardware requirements compared to running your own firehose.
Supported Data
Transaction data: Real-time transaction stream with decoded instruction data
Account state changes: Monitor specific accounts for balance or state updates
DEX events: Swap events across Raydium, Orca, Meteora, and other major Solana DEXs
Liquidation triggers: Lending protocol health factor alerts (Solend, Marginfi, Kamino)
Connection Methods
WebSocket for real-time streaming and low-latency strategy execution:
REST API for historical queries and batch data access:
Authentication requires an API key passed via the X-Toby-Key header:
⚠️ Devnet Only: The endpoints and API shown above are for the devnet environment. Mainnet URLs and SDK packages will be published at launch. Request devnet API keys via Discord.
Submitting Bundles to Block Chef
Bundle Requirements
Every bundle submitted to Block Chef must meet these criteria:
Valid Solana transactions. All transactions must be properly signed and simulate successfully.
Competitive tip. Each bundle includes a tip that determines its auction priority. Higher tips = higher inclusion probability.
No harmful patterns. Sandwiches and other user-extractive strategies are automatically detected and rejected. Block Chef enforces the OpenMEV Council's filtering rules.
Submission Flow
Build your transaction bundle. Construct one or more Solana transactions that capture the MEV opportunity you've identified.
Attach a competitive tip. Add a tip transaction to your bundle. The tip is paid to the block-producing validator and Toby network (5% protocol fee).
Submit to Block Chef. Send your bundle to the Block Chef API:
Receive confirmation. Block Chef returns a bundle ID and status (
accepted,rejected,filtered). Rejected bundles include a reason code.Monitor inclusion. Track whether your bundle was included in the target block via the status endpoint or WebSocket subscription.
Example: Full Bundle Submission
Response Format
⚠️ Devnet Only: The endpoints and code above are for the devnet environment. Mainnet URLs will be published at launch. Request devnet access via Discord.
Best Practices
Tip competitively. Block Chef runs a fair auction. The best tips win. Monitor the current tip floor via the
/v1/tipfloorendpoint to calibrate.Avoid filtered strategies. Sandwiches and front-running patterns are automatically rejected. Focus on arbitrage, liquidations, and backrunning.
Monitor inclusion rates. Track your bundle acceptance and inclusion rates. Low inclusion with high acceptance means your tips need adjustment.
Use Laser Stream. It gives you the lowest-latency data access. Running your own node works, but Laser Stream delivers pre-processed signals that reduce compute overhead.
Test on devnet first. Validate your strategy against devnet before deploying to mainnet. Block Chef runs identical logic on both networks.
Bundle atomically. Structure your transactions so the full bundle succeeds or fails together. Partial execution can leave you exposed.
Related:
Block Chef: How the auction and verification system works
OtterFlow: Full data infrastructure documentation
Getting Started: Architecture overview and integration paths
Last updated