Skip to main content

MEV-Share

Flashbots Protect users' transactions automatically flow to the Flashbots Matchmaker, which returns them up to 90% of the MEV that their transactions create. By default, users connected to Protect will be connected with the Stable configuration, which is continuously tuned by Flashbots to optimize execution while protecting users from harmful MEV.

MEV-Share users on Flashbots Protect can directly control which parts of their transaction they wish to share with searchers. Sharing less data will improve privacy, while sharing more will improve chances of both having their transactions included quickly and receiving MEV kickbacks.

Protect RPC Reference

Hint preferences are passed as query params in the Protect RPC URL. Users can also specify which builders to which they wish to send transactions.

Transactions sent to Flashbots Protect are automatically forwarded to the Flashbots Matchmaker with the Stable configuration, which maintains user privacy while optimizing transaction execution. Users do not need to do anything to start benefiting from MEV-Share right away, other than connect their wallet to Flashbots Protect.

To use a custom hint configuration, hint can be specified multiple times to specify exactly which data from the user's transactions is shared with searchers. If no hints are specified, the default Stable hint configuration is used. If one or more hint is specified, any hint not specified is disabled.

To specify which builders will receive your transactions, the builder parameter can be specified multiple times.

hint:  "calldata" |
"contract_address" |
"function_selector" |
"logs" |
"hash" |
undefined

Hints

HintDescription
calldataShare data sent to the smart contract (if applicable) by the transaction. The function selector and contract address will also be shared if the calldata is shared.
logsShare logs emitted by executing the transaction.
function_selectorShare the 4-byte identifier of the function being called on the smart contract by the transaction. The contract address will also be shared if the function selector is shared.
contract_addressShare the address of the recipient of the transaction; typically a smart contract.
hashShare the transaction (or bundle) hash. To use full privacy mode, share this hint and this hint alone. The hash will always be shared if other hints are shared.

Builders

NameRPCSupported APIs

Stable Configuration

The Stable configuration is the default configuration for Protect RPC -- no hints are specified to use it.

https://rpc.flashbots.net

ℹ️ The Stable configuration currently shares the hash from users' transactions. It also shares partial logs (the pool id and the fact that a swap was made) for curve, balancer, and uniswapV2/V3-style trades. This may change over time as we gather more data and fine-tune the configuration to maximize benefits for our users.

Full Privacy

To use Protect with full privacy, set only the hash hint in your Protect RPC URL:

https://rpc.flashbots.net?hint=hash

This will completely hide all identifying transaction data sent to the Matchmaker from searchers. Transaction hashes cannot be used to gain any information about a transaction or its origin.

Examples

Configuration
Flashbots Protect RPC URL
MEV-Share Enabled (Stable)https://rpc.flashbots.net
Default privacy, only send to Flashbotshttps://rpc.flashbots.net?builder=flashbots
Max Privacyhttps://rpc.flashbots.net?hint=hash
Max Speed & MEV Kickbacks (Low Privacy)https://rpc.flashbots.net?hint=calldata&hint=logs&hint=hash