Send Bundle
Introduction
This API is used to receive bundles, with the method name eth_sendBundle
.
The block construction algorithm of BlockRazor Builder favors bundles that transfer more native tokens (BNB) to BlockRazor Builder EOA of which address is 0x1266C6bE60392A8Ff346E8d5ECCd3E69dD9c5F20 currently.
The gas price for transactions within the bundle must be at least the minimum standard required by BSC Validators (Currently at 0.1 gwei). For Tier 1 / Tier 2 users, 0 gwei transactions can be included in the bundle, but the average gasPrice of transactions(excluding those from the public mempool) must still be no less than 0.1 gwei.
Rate Limit
BPS
Unlimited
Unlimited
Unlimited
Unlimited
Unlimited
Maximum number of bundles accepted per block
Unlimited
Unlimited
Unlimited
Unlimited
Unlimited
0 gwei transaction in bundle
-
-
✅
✅
✅
gRPC
-
-
-
✅
✅
Request Parameter
txs
Mandatory
array[hex]
["0x…4b", "0x…5c"]
List of signed raw transactions
maxBlockNumber
Optional
uint64
39177941
The maximum block number for the bundle to be valid, with the default set to the current block number + 100
minTimestamp
Optional
uint64
1710229370
Expected minimum Unix timestamp (in seconds) for the bundle to be valid
maxTimestamp
Optional
uint64
1710829390
Expected maximum Unix timestamp (in seconds) for the bundle to be valid
revertingTxHashes
Optional
array[hash]
["0x…c7", "0x…b7"]
List of transaction hashes allowed for revert
noMerge
Optional
bool
false
Bundle merge can increase block value and inclusion rate. If not set, the default value is false (allowing bundle merging)
Request Example
{
"jsonrpc": "2.0",
"id": "1",
"method": "eth_sendBundle",
"params": [
{
"txs":["0x…4b", "0x…5c"], // 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
"minTimestamp":1710229370, // Expected minimum Unix timestamp (in seconds) for the bundle to be valid
"maxTimestamp":1710829390, // Expected maximum Unix timestamp (in seconds) for the bundle to be valid
"revertingTxHashes":[
"0x44b89abe860142d3c3bda789cf955b69ba00b71882cd968ec407a70f4719ff06",
"0x7d7652c685e9fda4fe2e41bad017519cffeed8ba03d59aa6401284be2ec4244c"
] // List of transaction hashes allowed for revert
}
]
}
Proto
syntax = "proto3";
package sendbundle;
option go_package = "internal/ethapi/sendbundle;sendbundle";
service BundleService {
rpc SendBundle (SendBundleArgs) returns (SendBundleResponse);
rpc SendTransaction (SendTransactionArgs) returns (SendTransactionResponse);
}
message SendBundleArgs {
repeated bytes txs = 1;
uint64 maxBlockNumber = 2;
uint64 minTimestamp = 3;
uint64 maxTimestamp = 4;
repeated string revertingTxHashes = 5;
}
message SendTransactionArgs {
bytes tx = 1;
}
message SendBundleResponse {
string result = 1;
}
message SendTransactionResponse {
string result = 1;
}
Response Example
{
"jsonrpc":"2.0",
"id":"1",
"result":"0xa06b……f7e8ec" //bundle hash
}
{
"jsonrpc":"2.0",
"id":"1",
"error":{
"code":-38000,
"message":"the maxBlockNumber should not be smaller than currentBlockNum"
}
}
Last updated