Skip to article

Monad staking: Delegate MON or Run a Validator?

Staking MON determines validator voting weights and block-leader schedules on Monad. Delegators participate without operating a validator node; active validator operators must satisfy stake and ranking requirements.

Updated:
Delegation Minimum
1 gwei of MON (0.000000001 MON) per delegation, with transaction gas paid separately. Delegations below this minimum revert.
Active Validator Eligibility
At least 100,000 MON self-delegated by the validator’s authAddress , at least 10,000,000 MON in total delegation, and a top-200 rank by stake weight. All three requirements apply together.

How Do the Two Roles Compare?

Overview: How Do the Two Roles Compare?
Criterion Delegate MON Operate an Active Validator
Node Operation Use an existing validator without running its node. Run the validator node participating in consensus.
Consensus Participation Delegated stake contributes to the selected validator’s weight once active. The validator participates in MonadBFT with voting weight and leader selection determined by stake.
Reward Allocation A proportional share of inflationary rewards after commission, plus external rewards when distributed. Commission on inflationary rewards, priority fees, and a proportional post-commission share for self-delegated stake.

Outside delegations can help satisfy the total-stake threshold, while the validator’s authAddress must meet its self-delegation requirement. Validators losing active-set eligibility leave the active set when a boundary snapshot excluding them takes effect in consensus.

What Does a 137,842 MON Allocation Qualify For?

In this hypothetical comparison, 137,842 MON clears the delegation minimum and the 100,000 MON self-stake threshold. Separate funds cover transaction gas. The delegation option uses an already active validator, while the proposed validator receives no outside delegation.

Delegating the allocation adds weight to the existing validator when the stake activates. Using it as self-stake leaves the proposed validator with only 137,842 MON in total delegation. Its shortfall is 10,000,000 MON - 137,842 MON = 9,862,158 MON , so it fails the total-stake requirement. Additional outside delegation reduces that gap; active-set entry still requires a top-200 stake rank.

How Do Commissions Affect Rewards?

Monad mints an inflationary reward of 18 MON for the leader of each produced block. Validators choose a commission rate from 0% to 100% on that inflationary reward. The remaining MON goes to delegators in proportion to their stake with that validator.

Priority fees initially go to the validator. A validator in the current consensus set can share them through externalReward , which distributes external rewards without deducting commission. Each call must send between 1 MON and 1,000,000 MON, inclusive; otherwise it reverts. Delegator rewards therefore depend on validator block production, stake share, commission, and any external distributions.

Monad staking - How Do Commissions Affect Rewards? - illustration

Open full-size image

When Do Delegation and Compounding Take Effect?

The protocol snapshots staking state at the start of each boundary block to determine when changes affect consensus. Changes included before that block activate in the next epoch. Changes included in the boundary block or afterward activate in the epoch after that.

Boundary blocks occur every 50,000 blocks, followed by a 5,000-round delay before the new epoch starts. Missed proposals advance rounds without adding blocks, so getEpoch() provides the relevant timing state.

Claiming rewards through claimRewards(validatorId) has no epoch delay. Compounding adds rewards to the delegation, and that added stake follows the boundary-based activation schedule.

When Can MON Leave Staking?

Withdrawals start from active stake; pending delegations must activate before they can enter undelegation. The undelegate operation creates a withdrawal request and schedules deactivation according to the boundary rules. A one-epoch withdrawal delay follows deactivation, after which a separate withdraw call reclaims eligible funds.

Each validator-delegator pair supports up to 256 concurrent withdrawal requests, identified by withdrawId values from 0 to 255. A completed withdrawal frees its identifier for reuse. The getWithdrawalRequest(validatorId, address, withdrawId) method exposes the status of a specific request.

Monad staking: When Can MON Leave Staking? - illustration

Open full-size image

Does Monad Automatically Slash Stake?

Monad’s staking documentation states automated in-protocol slashing is not currently implemented. It describes logging as an accountability mechanism for malicious, slashable conduct.

Graphic: Monad staking - Does Monad Automatically Slash Stake?

Open full-size image