Overview
Eureka Builder accepts standard Flashbots-compatible orderflow — bundles and raw transactions — via a JSON-RPC 2.0 API. All submissions are kept private and never forwarded to the public mempool.
How It Works
The searcher sends transactions and submits them via one of the order flow endpoints.
The builder places incoming orders into a private pool, isolated from the public mempool.
At each slot, the builder simulates all pending orders and selects the optimal combination to maximize block value.
The winning block is submitted to connected relays. Included orders are settled on-chain.
Use Cases
Atomic bundles — group multiple transactions that must succeed or fail together
Bundle replacement — update a bundle's contents up until the target block is built
Private transactions — submit transactions that are never exposed to the public mempool
Backrunning — pair your transaction with a target transaction in the same bundle
Refund bundles — receive a percentage of the builder's profit back via
refundPercent
Authentication
Certain endpoints require a request signature in the X-Flashbots-Signature HTTP header:
Sign the keccak256 hash of the JSON-encoded request body using EIP-191. Most Flashbots-compatible SDKs handle this automatically.
SDKs & Libraries
Any Flashbots-compatible SDK works out of the box:
ethers.js —
@flashbots/ethers-provider-bundleviem — native JSON-RPC support
Rust —
ethers-flashbotsPython —
flashbots-py
Error Handling
Errors follow the standard JSON-RPC 2.0 format:
-32700
Parse error
-32600
Invalid request
-32601
Method not found
-32602
Invalid params
-32603
Internal error
Rate Limits
API calls are rate-limited per IP and per signing key. If you hit limits, you will receive an HTTP 429 response. Contact the Eureka team to request higher limits for production integrations.
API Methods
Submit an atomic bundle of transactions
Cancel a previously submitted bundle
Submit a single raw transaction (private mempool)
All requests are sent as JSON-RPC 2.0 POST to:
Last updated
