Skip to main content

Advanced Concepts

Understanding Transaction Bundles

Block builders are designed to receive a set of transactions meant to be executed in-order and within the same transaction hash. This method formats messages into what are referred to as "Bundles." These bundles are arrays of signed Ethereum transactions combined with metadata that dictates the conditions for their inclusion in the blockchain. A typical bundle request looks like this:

{
"jsonrpc": "2.0",
"id": 1,
"method": "eth_sendBundle",
"params": [
{
"txs": [], // Array of signed transactions to execute atomically
"blockNumber": "", // Hex encoded block number specifying bundle validity
"minTimestamp": null, // Optional minimum valid timestamp (in epoch seconds)
"maxTimestamp": null, // Optional maximum valid timestamp (in epoch seconds)
"revertingTxHashes": [] // Optional list of transaction hashes allowed to revert
}
]
}

Participants

  • Searchers: These are Ethereum users who bypass the standard peer-to-peer (p2p) transaction pool. Searchers could be bot operators (for arbitrage, liquidation), regular users (seeking protection for their transactions), or DApps requiring advanced transaction handling.
  • Block Builders: Specialized entities that receive transactions from searchers and compile the most profitable blocks. They collaborate with validators via an MEV-boost relay to ensure blocks are proposed accurately and profitably.
  • Validators: In the Proof of Stake (PoS) model, validators are responsible for proposing and appending new blocks to the Ethereum blockchain. They select the most profitable blocks provided by builders through the mev-boost system.
  • Relays: crucial for securely storing and transmitting blocks from builders to validators. They ensure the privacy of a block's contents until a validator commits to proposing it, maintaining the integrity of the transaction process.

Participants

For more information, visit the flashbots documentation