Skip to main content

Proposer Guide

In the Proof of Neutrality Relay, a proposer is a validator in Ethereum who is responsible for proposing blocks to the network. Validators connect to the PoN Relay to become proposers who outsource block building to block builders and collect MEV payouts every 7 days through the PBS-Smoothing Pool.

To become a proposer in the PoN Relay, validators must register with the PoN proposer registry smart contract which allows them to participate in the network’s consensus algorithm and receive MEV payouts. By connecting to the PoN Relay, validators can contribute to upkeep credible neutrality in Ethereum.

An example relay that the PoN team is running can be accessed at: https://0x89daf9bf6113ec91fdbee11778ab1e1bb64f4ccc2532bdc2bb808c93a8394/6ac36bce00cf2496ce2b19a20f0030cd2bd/

First step: Connect wallet

Connect Wallet

Open the PoN dApp here.

Second step: Register Your Address as a Proposer

Register Proposer Address

The second step is to register your wallet address with the PoN Relay. If you are already running a validator, it’s essential to use the wallet that is associated with your validator to register as a proposer. This will connect your validator wallet with the PoN Relay.

If you are not already a validator, you can get started for just 4 ETH, get started here. Once you have set up your validator, you can proceed with registering your validator’s wallet address.

Third Step: Connect Your Validator (BLS) Key

Connect Validator Key

Make sure you are uploading the correct validator signing key with the associated wallet.

The keystore.json file and decryption password are used to verify that the registering BLS key belongs to the ECDSA address owner during the authentication process. This is done locally, not through a file upload and is just for verification that you are the owner.


After successfully registering your address and connecting your validator key to the PoN Relay, you are all set to move on to the off-chain portion.

Off-Chain Proposer Setup Instructions

Follow these instructions to set up as a proposer with PoN Relay.

In mainnet, MEV-Boost can be replaced by MEV+, which is a credibly neutral software provided by the PoN Network.

  1. Install MEV Boost

    a. Must use v1.5.0 or 1.6.0 of Flashbots MEV-boost. Visit to install MEV Boost using one of the following methods:


    • Golang: Install MEV Boost by running the command

    go install


    • Docker: Pull the latest MEV Boost image from Docker Hub using the commands

    docker pull flashbots/mev-boost:latest


    docker run flashbots/mev-boost -help


    cd ~


       tar xvf mev-boost_1.5.0_linux_amd64.tar.gz
    sudo cp mev-boost /usr/local/bin
    rm mev-boost LICENSE mev-boost_1.5.0_linux_amd64.tar.gz
    sudo chown mevboost:mevboost /usr/local/bin/mev-boost
  2. Run MEV Boost

    a. After installing MEV-Boost, you need to create a systemd service file to store the service configuration, which tells systemd to run MEV-Boost as the Mev-Boost user. Run the following command to create a service file

    sudo nano /etc/systemd/system/mevboost.service

  3. Then open the file and paste this into it to run MEV-Boost on Mainnet

    Description=mev-boost (Mainnet)

    ExecStart=mev-boost \
    -mainnet \
    -min-bid 0.05 \
    -relay-check \


You must replace the “” in this configuration with one of the existing relays and insert the minimum bid you want from the relay.

  1. Reload systemd

    a. If you add or remove relays, you will need to reload systemd. To reflect the changes you made, use the following command

    sudo systemctl daemon-reload

  2. Start the MEV-Boost service

    a. Use the following command

    sudo systemctl start mevboost

  3. Check the status

    a. If everything was done correctly, the output should say “active (running)” in green, check this by running

    sudo systemctl status mevboost

    If not, go back and repeat the steps to fix the problem. To quit the status check, press Q.

  4. Enable MEV-Boost to start on boot

    a. Run the following command

    sudo systemctl enable mevboost

  5. Add the appropriate flag to the ExecStart of your consensus (and validator client if required) services. Use the following flags for each client

Prysm consensus: --http-mev-relay=

Prysm validator: --enable-builder

Nimbus combined: --payload-builder=true --payload-builder-url=

Lodestar consensus: --builder --builder.urls

Lodestar validator: --builder

Teku combined: --validators-builder-registration-default-enabled=true --builder-endpoint=

Lighthouse consensus: --builder

Lighthouse validator: --builder-proposals

  1. Tell systemd you made changes.

    a. Use the following command to reload systemd:

    sudo systemctl daemon-reload

  2. Restart the service(s) you changed. a. Run the following command, replacing SERVICENAME with the name of the service:

    sudo systemctl restart SERVICENAME

Once you’ve followed these steps, you are ready to start proposing blocks to Ethereum through the PoN Relay! As a validator, you’ll receive constant MEV payouts every 7 days from the PBS-Smoothing Pool, which collects and distributes rewards sent to the payoutPool address.