Skip to main content

Mev-Boost

mev-boost is an optional add-on for validators to enable them to source blocks from multiple different relays. Configuring mev-boost is likely to increase both the profitability and reliability of your validator operation.

It is the recommended method for connecting to Eden Relay.


Spec

mev-boost implements the latest Builder Specification.

Installing

mev-boost can run in any machine, as long as it is reachable by the beacon client. The default port is 18550. The most common setup is to install it in the same machine as the beacon client.

Dependencies

From source

Install mev-boost with go install:

go install github.com/flashbots/mev-boost@latest
mev-boost -help

Or clone the repository and build it:

git clone https://github.com/flashbots/mev-boost.git
cd mev-boost
make build

From Docker image

There is a public mev-boost Docker image at https://hub.docker.com/r/flashbots/mev-boost

docker pull flashbots/mev-boost:latest
docker run flashbots/mev-boost -help

Usage

A single mev-boost instance can be used by multiple beacon nodes. To connect mev-boost to multiple relays, pass the relay URLs as a comma-separated list (no spaces) to the -relay flag. mev-boost will automatically choose the most profitable block from all relays every slot.

 ./mev-boost -mainnet -relay-check -relays https://0xb3ee7afcf27f1f1259ac1787876318c6584ee353097a50ed84f51a1f21a323b3736f271a895c7ce918c038e4265918be@relay.edennetwork.io

Configure Consensus Client

Prysm

To use Eden Relay as your source for block production with Prysm + mev-boost, you simply need to add the following flag to your beacon node client to point it at your newly running mev-boost instance:

--http-mev-relay=http://localhost:18550

And the following to your validator client:

--enable-builder

Lighthouse

To use Eden Relay as your source for block production with Lighthouse + mev-boost, you simply need to add the following flag to your beacon node client to point it at your newly running mev-boost instance:

--builder=http://localhost:18550

And the following to your validator client:

--builder-proposals

See official Lighthouse Documentation for more details and advanced configuration options.

Teku

To use Eden Relay as your source for block production with Teku + mev-boost where your beacon node and validator are run in the same process, you simply need to add the following flags to your client to point it at your newly running mev-boost instance:

--validators-builder-registration-default-enabled=true 
--builder-endpoint=http://localhost:18550

If you are running a Teku + mev-boost setup where your beacon node and validator are run in different processes, your setup should look like the following:

Validator client:

teku validator-client --validators-proposer-blinded-blocks-enabled=true --validators-proposer-config="/etc/teku/proposerConfig.json"

Proposer configuration:

{
"proposer_config": {
"0xa057816155ad77931185101128655c0191bd0214c201ca48ed887f6c4c6adf334070efcd75140eada5ac83a92506dd7a": {
"fee_recipient": "0x50155530FCE8a85ec7055A5F8b2bE214B3DaeFd3",
}
},
"default_config": {
"fee_recipient": "0x6e35733c5af9B61374A128e6F85f553aF09ff89A",
"builder": {
"enabled": true
}
}
}

Beacon node:

teku --validators-proposer-default-fee-recipient="0x6e35733c5af9B61374A128e6F85f553aF09ff89A" --ee-endpoint="http://127.0.0.1:8551" --ee-jwt-secret-file="/etc/jwt-secret.hex" --builder-endpoint="http://localhost:18550"

See official Teku Documentation for more details and advanced configuration options.