Docs
General
- The RPC endpoint is
https://rpc.payload.de
. - The fee recipient is 0xCE0BaBc8398144Aa98D9210d595E3A9714910748.
- The proposer refund address is 0xA3eb5413F06dDD8052F92c01822f8eE9E6Da0F0F.
- The current rate limit is 10 requests per second.
- Our servers are located in Germany, Europe.
Authentication
Authentication is optional and may be used to prioritize requests under high load. It is parsed the same as the Flashbots standard. X-Flashbots-Signature
or x-auction-signature
can be used as header field for the address:signature
data.
Privacy
You can find our privacy policy here.
Methods
eth_sendBundle
The eth_sendBundle
method is used to send bundles to the RPC endpoint. A request to this endpoint needs to follow the standard Flashbots bundle format, e.g.
{
"jsonrpc": "2.0",
"id": 1,
"method": "eth_sendBundle",
"params":
[
{
"txs": ["0x004...", "0x05d..."], // a list of hex-encoded signed transactions
"blockNumber": "0x00f64d0e", // hex-encoded block number for which this bundle is valid
"minTimestamp": 0, // unix timestamp when this bundle becomes active - optional
"maxTimestamp": 1672933616, // unix timestamp how long this bundle stays valid - optional
"revertingTxHashes": ["0xf0b..."] // list of hashes of possibly reverting txs - optional
}
]
}
Note: Replacing bundles via replacementUuid
is not supported. See eth_cancelBundle
in order to revoke a bundle.
eth_cancelBundle
The eth_cancelBundle
method can be used to cancel a submitted bundle. A request to this endpoint needs the following format:
{
"jsonrpc": "2.0",
"id": 1,
"method": "eth_cancelBundle",
"params":
[
{
"bundleHash": "0xf0b..." // bundle hash of the bundle to be canceled
}
]
}
Note: Once a bundle is included in a block and received by the relays, it is not possible to cancel it anymore. Therefore, it is recommended to cancel a bundle at least 3 seconds before the end of the slot time.
eth_sendPrivateTransaction
The eth_sendPrivateTransaction
can be used to send Flashbots compatible private transactions to the RPC endpoint. Transactions sent in this way are protected from frontrunning and are kept private until included in a block. A request to this endpoint needs to follow the Flashbots private transaction format, e.g.
{
"jsonrpc": "2.0",
"id": 1,
"method": "eth_sendPrivateTransaction",
"params":
[
{
"tx": "0x0000...d46e8dd67c5d32be8d46675058bb8eb970870f072445675" // hex-encoded signed transaction
}
]
}
Note: The maxBlockNumber
parameter is currently not supported. Private transactions are discarded after 24 hours, if not included in a block.
eth_sendPrivateRawTransaction
The eth_sendPrivateRawTransaction
method can be used to send private transactions to the RPC endpoint. Private transactions are protected from frontrunning and kept private until included in a block. A request to this endpoint needs to follow the standard eth_sendRawTransaction
format, e.g.
{
"jsonrpc": "2.0",
"id": 1,
"method": "eth_sendPrivateRawTransaction",
"params":
[
"0x0000...d46e8dd67c5d32be8d46675058bb8eb970870f072445675" // hex-encoded signed transaction
]
}
Note: Received transactions will be discarded after 24h hours, if not included in a block. Transactions sent via eth_sendRawTransaction
are internally forwarded to this endpoint and treated privately.
eth_cancelPrivateTransaction
The eth_cancelPrivateTransaction
method can be used to cancel a private transaction. A request to this endpoint needs the following format:
{
"jsonrpc": "2.0",
"id": 1,
"method": "eth_cancelPrivateTransaction",
"params":
[
{
"txHash": "0xf0b..." // tx hash of the transaction to be canceled
}
]
}
Note: Once a transaction is included in a block and received by the relays, it is not possible to cancel it anymore. Therefore, it is recommended to cancel a private transaction at least 3 seconds before the end of the slot time.
Libraries
Recommended libraries to use the endpoint programmatically are flashbots/ethers-provider-flashbots-bundle (Javascript) or metachris/flashbotsrpc (Go).
Metamask
The payload RPC endpoint can be used with Metamask to send out private transactions. When using the payload RPC endpoint, all transactions conducted with Metamask will be private. Private transactions are protected from frontrunning and will not be broadcast to the public mempool. The payload builder takes received private transactions into account when building and submitting a block. Private transactions which are not included will be discarded 24 hours after reception.
Note: Metamask resends a pending transaction every minute. If the network is switched with a pending transaction, the transaction is also sent to the new RPC endpoint. This may result in the transaction being published through another provider. To ensure the transaction remains private, keep the endpoint until the transaction is successful or switch only to another private transaction provider.
Add Custom RPC
The RPC endpoint can be added to Metamask in the Network Selection under Add Network > Add a network manually.
Note: As we have started the service recently, it can take some time that a transaction is included in a block. At the moment, it is recommended to send transactions this way that do not need to be executed urgently.
Status
To make sure the RPC endpoint & Metamask are synced with the latest state of the network, check our status page.