Skip to main content
Sei exposes native chain functionality through precompiled contracts at deterministic EVM addresses. You can call them from any EVM library (viem, ethers, wagmi) using the ABIs exported from @sei-js/precompiles — no special SDK required. Available precompiles include:
  • Bank — query native denom balances (usei, factory tokens)
  • Staking — delegate, undelegate, query delegations
  • Distribution — claim staking rewards
  • Governance — vote on active proposals
  • JSON — parse JSON payloads within contracts
  • P256 — verify P-256 elliptic curve signatures

Try it live

Precompiles are callable like any contract — even with a plain eth_call from the browser. This hits the Bank precompile at 0x0000000000000000000000000000000000001001 on Sei mainnet, calling name("usei"). The response is ABI-encoded; it contains the bytes 53 45 49 — ASCII for SEI. For installation instructions, code examples (viem and ethers), common patterns, and a full working Node.js script, see the precompiles reference:

Precompile Example Usage

Usage examples for all precompiles with viem and ethers — Bank, Staking, Distribution, Governance, JSON, and P256.
For the full ABI reference and every available function on each precompile:

Staking Precompile

Governance Precompile

Distribution Precompile

JSON Precompile

P256 Precompile