Skip to main content
Schema: monad.gov Table: fact_undelegations Type: Base Table

What

Undelegate events from the Monad staking precompile. Emitted when undelegate() is called to begin withdrawing stake. Moves amount from delegator’s active stake to a withdrawal request object. Stake becomes inactive in epoch n+1 (or n+2 during delay rounds), then withdrawable after WITHDRAWAL_DELAY epochs. Only active stake can be undelegated - pending delegations must activate first. If undelegation causes validator stake < ACTIVE_VALIDATOR_STAKE, validator scheduled for removal.

Columns

Column NameData TypeDescription
BLOCK_NUMBERNUMBERBlock number where the undelegation was initiated
BLOCK_TIMESTAMPTIMESTAMP_NTZTimestamp of the undelegation
TX_HASHTEXTTransaction hash of the undelegation
EVENT_INDEXNUMBERIndex of the event within the transaction
CONTRACT_ADDRESSTEXTStaking precompile contract address (0x0000000000000000000000000000000000001000)
EVENT_NAMETEXTEvent name (Undelegate)
VALIDATOR_IDNUMBERID of the validator from which stake is being withdrawn. Must be a validator the delegator previously delegated to.
DELEGATOR_ADDRESSTEXTAddress of the delegator initiating undelegation (msg.sender)
WITHDRAW_IDNUMBERIdentifier for this withdrawal request (0-255). Each (validator, delegator) pair can have up to 256 in-flight withdrawal requests. IDs can be reused after calling withdraw(). Reverts if ID already has pending withdrawal.
AMOUNT_RAWNUMBERRaw undelegation amount in wei. Must be <= delegator’s active stake.
AMOUNTFLOATUndelegation amount in MON (adjusted for 18 decimals)
ACTIVATION_EPOCHNUMBEREpoch when the stake becomes inactive (stops earning rewards). Withdrawable after WITHDRAWALDELAY (1 epoch) additional epochs. So if activationepoch is N, can withdraw in epoch N + WITHDRAWAL_DELAY.
ORIGIN_FROM_ADDRESSTEXTAddress that initiated the transaction
ORIGIN_TO_ADDRESSTEXTTarget address of the transaction
ORIGIN_FUNCTION_SIGNATURETEXTFunction signature (undelegate)
FACT_UNDELEGATIONS_IDTEXTUnique identifier for this record
INSERTED_TIMESTAMPTIMESTAMP_NTZTimestamp when the record was inserted
MODIFIED_TIMESTAMPTIMESTAMP_NTZTimestamp when the record was last modified