Skip to main content

Validator Setup

Step-by-step instructions for integrating your validator with shMonad.

Order of Operations

For new validators joining shMonad, follow this sequence:

  1. Get onboarded to shMonad - A coinbase contract will be deployed for you
  2. Update beneficiary address - Change your node.toml beneficiary to the coinbase contract address and restart monad-bft
  3. Run the sidecar - Install the MEV Sidecar via Rootless Docker or Podman to earn MEV rewards
caution

Following the correct order of operations is important to ensure no funds are lost during the transition.

Configure Dedicated Fullnodes

Add FastLane's fullnode identities to your node.toml to enable MEV transaction routing to your validator.

caution

If your node.toml already has an empty assignment like [fullnode_dedicated] identities = [], you must remove or comment out that line before adding the entries below. The TOML array-of-tables syntax ([[fullnode_dedicated.identities]]) is different from the empty inline assignment.

Add to your node.toml
# Remove this line if it exists:
# [fullnode_dedicated] identities = []

# Add FastLane fullnode identities:
[[fullnode_dedicated.identities]]
secp256k1_pubkey = "<FastLane Node 1 pubkey>"

[[fullnode_dedicated.identities]]
secp256k1_pubkey = "<FastLane Node 2 pubkey>"

Both FastLane nodes should be added. After saving, apply the changes without restarting:

Reload config on the fly
monad-debug-node --control-panel-ipc-path /home/monad/monad-bft/controlpanel.sock reload-config
note

You will receive the specific pubkey values during onboarding. Contact the shMonad team if you haven't received them.