Skip to main content

Manage builder fees

Use the MEV Blocker fee management smart contract to:

  • Post a 10 ETH bond.
  • Pay weekly dues.
  • Disconnect and withdraw your bond.

Contract address

The contract is deployed on Ethereum Mainnet. You can view the code at: 0x08cd77feb3fb28cc1606a91e0ea2f5e3eaba1a9a.

How billing works

The fee management system operates on a weekly billing cycle. Billing periods run from Wednesday 00:00 UTC through Tuesday 23:59 UTC.

Builder dues are calculated based on realized MEV Blocker value. For details on how dues are calculated, see Fees mechanics.

  1. Onchain posting - MEV Blocker calls bill to update onchain dues for the previous billing period.
  2. Payment window - Builders have 24 hours from the start of the new billing period to pay their dues.

Key functionalities

Post the bond

Builders interested in joining must call the join function with a deposit of 10 ETH (or the specified initial bond amount). This deposit acts as a bond to cover potential late fees and penalties.

Function to use:

function join() payable external

Billing and dues

MEV Blocker calls bill on a weekly basis to post per-builder dues for the previous billing period. The current price can be queried at any time.

MEV Blocker billing functions:

function bill(address[] calldata ids, uint256[] calldata due, uint256 newPrice) external onlyBiller

Builders are responsible for monitoring their dues and ensuring timely payment through the pay function. Dues that remain unpaid for more than 24 hours from the start of the new billing period result in the corresponding builder being disconnected.

Function for builders:

function pay(address id) payable external

Manage dues and withdrawals

Builders wishing to disconnect from MEV Blocker must first signal their intention by calling the nope function. After a waiting period of seven days, they may withdraw their bond by invoking the exit function, provided all dues have been settled.

Functions for exiting:

function nope() external
function exit() external

Handle forced payments and penalties

The contract owner has the authority to withdraw from bonds or impose fines on builders for violations of the rules set forth by MEV Blocker. The fine function includes a to address which facilitates direct reimbursement to affected parties.

Functions for contract owner:

function draft(address id, uint256 amt) external onlyOwner
function fine(address id, uint256 amt, address to) external onlyOwner

Usage guide for builders

  1. Make the initial deposit - To participate, send a transaction with 10 ETH to the join function of the contract.
  2. Monitor dues - Monitor your dues and ensure sufficient funds are available to cover them.
  3. Pay dues - Use the pay function to settle your weekly dues. Ensure the correct amount is sent to avoid any disruptions in service.
  4. Withdraw deposits - If you decide to disconnect, call nope to signal your intention. After seven days, you can withdraw your deposit through the exit function, assuming all dues are cleared.

This documentation is intended to facilitate a smooth and informed engagement with the MEV Blocker service by builders. For further assistance or inquiries, builders are encouraged to contact the MEV Blocker team.