Docs

DE

General

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.