eth_sendBundle

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "eth_sendBundle",
  "params": [
    {
      txs,               // (Optional) Array[String], A list of signed transactions to execute in an atomic bundle. List can be empty or omitted for bundle cancellations.
      blockNumber,       // (Optional) String|Number, A (hex-encoded) block number for which this bundle is valid.
      minTimestamp,      // (Optional) Number, The minimum timestamp for which this bundle is valid, in seconds since the unix epoch.
      maxTimestamp,      // (Optional) Number, The maximum timestamp for which this bundle is valid, in seconds since the unix epoch.
      revertingTxHashes, // (Optional) Array[String], A list of tx hashes that are allowed to revert.
      droppingTxHashes,  // (Optional) Array[String], A list of tx hashes that are allowed to be dropped, but may not revert.
      replacementUuid,   // (Optional) String, UUID that can be used to cancel/replace this bundle.
      refundPercent,     // (Optional) Number, The percent(from 0 to 99) of the coinbase balance change that should be passed back to the refund recipient at the end of the bundle.
      refundRecipient,   // (Optional) Address, the address that will receive the ETH refund. Default, sender of the first transaction in the bundle.
      refundTxHashes     // (Optional) Array[String], Tx hashes from which the refund should be calculated. Defaults to final transaction in the bundle if list is not specified/empty.
    }
  ]
}

Bundle replacement

By setting the replacementUuid field you can replace your bundles.

The builder will determine your identity by checking the X-Flashbots-Signature header. If this header is not present the builder will determine your identity using your IP address. Only bundles that match the identity of the previously submitted replacementUuid are accepted. For more info on how to construct the X-Flashbots-Signature header visit https://docs.flashbots.net/flashbots-auction/advanced/rpc-endpoint#authenticationarrow-up-right

Refunds

The formula for calculating refunds is (coinbase balance change * refund percent) - refund tx gas cost = refund

For example:

  • You send a transaction and it increases the coinbase balance by 1 ETH

  • You set the refund percent to 50%

  • The refund transaction gas cost is 0.01 ETH

  • Your refund will be 0.49 ETH

(1 ETH * 50%) - 0.01 ETH = 0.49 ETH

If you land multiple bundles in the same block with the same refund recipient, the builder will combine the refunds.

Last updated