Send Bundle

Introduction

This document details the utilization of the eth_sendBundle RPC method, pivotal for submitting transaction bundles within the puissant-builder system, now entering its version 2. This iteration introduces enhanced auction and sorting flexibility compared to the first generation, puissant-mev.

Version 2 of puissant-builder offers a more dynamic auction mechanism for bundle submission. The auction price is composed of two main components: the total gas fees of transactions in the bundle that are not from the tx_pool and the BNB directly transferred to the Builder Control EOA. The calculation formula accounts for the effects of BEP95, whereby 10% of the gas fees are burnt, thus applying a 10% discount to the gas fee component. Direct transfers to the Builder Control EOA are prioritized in the auction ranking, providing a significant advantage in bundle sorting.

Builder Control EOA

Address: 0x4848489f0b2BEdd788c696e2D79b6b69D7484848

Description: This is the externally owned account (EOA) managed by the builder. It is integral to handling transactions and prioritizing bundle sorting within the puissant-builder system. Strategic transactions directed to this EOA can significantly influence the sorting order, leveraging network efficiencies for optimized transaction execution.

Bundle Sorting

The bundle sorting algorithm employs the following formula:

[(sum(GasFee of TransactionUnique)×0.9)+(BNB sent to Builder Control EOA)][ \left(\text{sum(GasFee of TransactionUnique)} \times 0.9\right) + \left(\text{BNB sent to Builder Control EOA}\right) ]

TransactionUnique: Refers to a transaction included in the bundle that does not appear in the public transaction pool.

Importance and Benefits of 48SoulPoint Member Signature

The inclusion of a 48SoulPoint Member signature with your bundle submission enhances request rate limits and the number of transactions per bundle, along with additional services. It is highly recommended to leverage this feature to maximize the benefits within the puissant-builder system.

Question?

Join Telegram Group

Request Parameters

The table below outlines the parameters required to submit a bundle:

ParameterMandatoryFormatExampleDescription

txs

Mandatory

array[hex]

["0x…f1", "0x…b7"]

List of signed raw transactions.

maxBlockNumber

Optional

uint64

40140239

Maximum block number for the bundle's validity. Default is current block number + 100.

minTimestamp

Optional

uint64

1721003199

Minimum Unix timestamp (in seconds) for the bundle's validity.

maxTimestamp

Optional

uint64

1721003319

Maximum Unix timestamp (in seconds) for the bundle's validity.

revertingTxHashes

Optional

array[hash]

["0x…1a", "0x…2b"]

List of transaction hashes allowed for revert.

48spSign

Optional

hex

0xd4cb...6300

48SoulPoint Member EOA signature, check here for the details

Request Example

{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "eth_sendBundle",
  "params": [
    {
      "txs":["0x…f1", "0x…b7"],    // List of signed raw transactions
      "maxBlockNumber":39177941,   // The maximum block number for the bundle to be valid, with the default set to the current block number + 100
      "maxTimestamp":1710829390,   // Expected maximum Unix timestamp (in unix) for the bundle to be valid
      "revertingTxHashes":[
        "0x2a5b3732b95940abb9f7102d8cd04c35db61b66836d1471a1a01e37168078bf9"
        ],                         // List of transaction hashes allowed for revert
      "48spSign":"0x229252945fffd4ca018d4aa8f1e406a6b23457448c2574499e6e4a83d58d440e316044fe1617a9f10255af037a0d7da91a64e6d6a0ab65eeeb4bf6ced5f3b0f501"
    }
  ]
}‍

Response Example

{
 "jsonrpc":"2.0",
 "id":"1",
 "result":"0x274a……053b"  //bundle hash
}‍
{
  "jsonrpc":"2.0",
  "id":"1",
  "error":{
    "code":-38000,
    "message":"bundle already exist"
    }
}

Last updated