Skip to content

eth_sendBundle

The eth_sendBundle RPC has the following payload format:


{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "eth_sendBundle",
  "params": [
    {
      txs,               // Array[String], A list of signed transactions to execute in an atomic bundle
      blockNumber,       // String, a hex encoded block number for which this bundle is valid on
      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
      replacementUuid,   // (Optional) String, UUID that can be used to cancel/replace this bundle
      refundIndex,       // (Optional) Number, the index of the transaction of which the ETH reward should be refunded. Default, last transaction in the bundle
      refundPercent,     // (Optional) Number, the percentage of the  ETH reward of the last transaction, or the transaction specified by refundIndex, that should be refunded back to the ‘refundRecipient’
      refundRecipient,   // (Optional) Address, the address that will receive the ETH refund. Default, sender of the first transaction in the bundle
    }
  ]
}

Params Example

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "eth_sendBundle",
  "params": [
    {
      "txs": ["0x123abc...", "0x456def..."],
      "blockNumber": "0xb63dcd",
      "minTimestamp": 0,
      "maxTimestamp": 1615920932,
      "refundPercent": 90,
      "refundRecipient": "0x123abc..."
    }
  ]
}

Response Example:

{
  "jsonrpc": "2.0",
  "id": "123",
  "result": {
    "bundleHash": "0x2228f5d8954ce31dc1601a8ba264dbd401bf1428388ce88238932815c5d6f23f"
  }
}

BundleHash

  • bundleHash is only related to trx and blockNumber

Refund

  • the refund bundle will have a less mev value, which means lower mev gas price.

  • if refund value is less then cost of refund transfer, the bundlle will still be included without refund.


ReplaceUUID

  • the replacementUuid must have been set when the bundle was submitted.

  • the bundle may not be updated or canceld if we already submit bundle to relay.