VM Interoperability
EVM Precompiles
Staking

Staking Precompile

Address: 0x0000000000000000000000000000000000001005

This precompile allows EVM contracts to interact with Sei's staking module, enabling functionalities such as delegating tokens, querying validators, and more.

Functions

Transactions

  • delegate: Allows a user to delegate a specified amount of tokens to a validator

    /// Delegates Sei to the specified validator.
    /// @param valAddress The Sei address of the validator.
    /// @return Whether the delegation was successful.
    function delegate(
        string memory valAddress,
    ) payable external returns (bool success);
  • redelegate: Enables the redelegation of tokens from one validator to another

    /// Redelegates Sei from one validator to another.
    /// @param srcAddress The Sei address of the validator to move delegations from.
    /// @param dstAddress The Sei address of the validator to move delegations to.
    /// @param amount The amount of Sei to move from srcAddress to dstAddress.
    /// @return Whether the redelegation was successful.
    function redelegate(
        string memory srcAddress,
        string memory dstAddress,
        uint256 amount
    ) external returns (bool success);
  • undelegate: Provides the functionality for a user to withdraw a specified amount of tokens from a validator

    /// Undelegates Sei from the specified validator.
    /// @param valAddress The Sei address of the validator to undelegate from.
    /// @param amount The amount of Sei to undelegate.
    /// @return Whether the undelegation was successful.
    function undelegate(
        string memory valAddress,
        uint256 amount
    ) external returns (bool success);

View the Staking precompile source code and the contract ABI here (opens in a new tab).