Skip to main content
Address: 0x0000000000000000000000000000000000001006 The Sei governance precompile lets EVM applications submit proposals, vote, and deposit tokens. The ABI is write-only. Query proposal state through Cosmos REST or RPC, or with a Sei explorer.
What is a precompile? A precompile is a special smart contract that the Sei protocol itself deploys at a fixed address. It exposes custom native chain logic to EVM-based applications. To the EVM, it behaves like a regular contract, but it executes privileged, low-level logic efficiently.

How does the governance precompile work?

The governance precompile at address 0x0000000000000000000000000000000000001006 exposes functions such as vote(), voteWeighted(), deposit(), and submitProposal().
  • EVM contracts and dApps can call governance functions like any other smart contract method.
  • Governance operations run natively at the chain level, which makes them efficient.
  • You do not need a separate wallet integration.

Use cases

  • Voting interfaces: Create user-friendly tools for governance participation.
  • Automated governance: Build smart contracts that vote based on predetermined strategies.
  • Governance aggregators: Build platforms that aggregate and simplify governance participation.

Sei governance overview

Sei governance follows a structured timeline with specific parameters:

Governance process

  1. Proposal submission: Submit a proposal with a minimum deposit of 3,500 SEI.
  2. Deposit period: The proposal has 2 days to accumulate the minimum deposit or reach the expedited threshold.
  3. Voting period: When the proposal meets the minimum deposit, voting is active for 3 days (1 day for expedited proposals).
  4. Tallying: The results are calculated from the quorum and voting thresholds.
To learn more about the governance process on Sei, read the governance explainer.
Critical Sei Mainnet considerations:
  • High stakes: Governance on Sei Mainnet involves real SEI tokens and binding decisions.
  • Minimum deposit: 3,500 SEI, or 7,000 SEI for an expedited proposal.
  • Deposit risk: If your proposal receives more than 33.4% NoWithVeto votes, its deposits are burned.
  • Voting power required: You must stake SEI with validators to participate.
  • Time limits: The 2-day deposit period and the 3-day voting period are strict.
  • Real impact: Successful proposals can change network parameters.

Functions

The governance precompile exposes these functions:

Transaction functions

Using the contract

Setup

Prerequisites

Before you start, make sure that you have:
  • Node.js (v18 or higher)
  • The npm or yarn package manager
  • MetaMask or another compatible EVM wallet, configured for Sei Mainnet
  • SEI tokens for gas and governance deposits (a minimum of 3,500 SEI to submit a proposal)

Install dependencies

Install the required packages to interact with Sei precompiles:

Import precompile components

Precompile address: The governance precompile is deployed at 0x0000000000000000000000000000000000001006.

Get SEI tokens

Buy SEI tokens from supported exchanges:
  • Centralized exchanges: Binance, Coinbase, KuCoin, Gate.io
  • Decentralized exchanges: Astroport, Dragonswap (on Sei)
  • Bridge options: Several cross-chain bridges support SEI
Minimum requirements: You need at least 3,500 SEI to submit a governance proposal. You also need more SEI for gas and for any extra deposits.

Contract initialization

Set up your provider, signer, and contract instance:

Vote options

The governance system uses these vote options:

Voting power

Your voting power depends on:
  • Staked SEI: The amount of SEI that you staked with validators
  • Delegation: SEI delegated to validators counts toward voting power
  • Liquid SEI: Unstaked SEI does not give voting power
Only staked SEI gives voting power. To vote in governance, you must delegate your tokens to validators.

Validation functions

Before you send governance transactions, use these helper functions to validate the inputs:

Step-by-step guide: Using the governance precompile

Submit a proposal

Deposit requirements:
  • Minimum deposit: A proposal needs 3,500 SEI to enter the voting period.
  • Expedited processing: A proposal needs 7,000 SEI for a voting period of only 1 day.
  • Deposit period: The proposal has 2 days to meet the minimum. If it does not, the proposal fails and the deposits are burned.
  • Multiple deposits: Anyone can contribute to reach the minimum threshold.

Vote on a proposal

Weighted voting

Critical requirement: Make sure that the option weights in a weighted vote sum to exactly 1.0. If they do not, the transaction fails. The Sei governance module enforces this strictly. Even small rounding errors cause a rejection.

Deposit to a proposal

Complete integration example

Create a script that interacts with the governance precompile:
governance-mainnet-demo.mjs

Running the example

  1. Create a new directory and initialize npm:
  1. Install dependencies:
  1. Create a .env file:
  1. Create the demo file: Copy the complete integration example above into governance-mainnet-demo.mjs.
  2. Make sure that you have enough SEI:
    • A minimum of 3,500 SEI for the proposal deposit
    • More SEI for gas and for optional extra deposits
    • Staked SEI for voting power
  3. Run the script:

Expected output

Troubleshooting

Common issues and solutions

Insufficient deposit

No voting power

Invalid vote option

Weighted vote validation

Error code reference

Need help? If you have problems, use these resources: