Fee Token Contract

The source code for the fee token contract can be found on GitHub.

The fee token contract enables builders to deposit ETH which allows them to participate in the MVP sequencer marketplace, and to pay for a data processing fee associated with Espresso's consensus protocol. While the fee token contract facilitates deposits, HotShot itself manages and tracks the working balance of builder deposits. Initially, the fee token contract only supports deposits. Withdrawals are planned to be enabled after the initial launch.

function deposit(address user) public payable {

The contract defines a minimum and maximum amount for deposits to avoid errors and prevent the fee table from being filled with dust.

uint256 public immutable MAX_DEPOSIT_AMOUNT = 1 ether;
uint256 public immutable MIN_DEPOSIT_AMOUNT = 0.001 ether;

For the next release, withdrawals will not be enabled and thus the MAX_DEPOSIT_AMOUNT aims to minimize how much ETH is locked by a builder.


Builders are specialized entities that compete against one another in bidding for L2 sequencing rights. Espresso aims to eventually incorporate a combinatorial lottery to allow L2s to sell their sequencing rights. Initially we will implement this functionality as a simple auction.

Public Write Methods


Allows anyone to deposit an ETH balance for any user

the deposit amount is less than a specified threshold to prevent accidental errors

function deposit(address user) public payable;

Fee Token Contract UML

Fee Token Contract Dependency Graph

Last updated