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, or wagmi) with the ABIs that @sei-js/precompiles exports. You do not need a special SDK. Available precompiles include:
  • Bank: query the native SEI bank balance
  • Staking: delegate, undelegate, and 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

You can call precompiles like any other contract, even with a plain eth_call from the browser. This snippet calls name("usei") on the Bank precompile at 0x0000000000000000000000000000000000001001 on Sei Mainnet. The response is ABI-encoded. It contains the bytes 53 45 49, which are 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, see these pages:

Staking precompile

Governance precompile

Distribution precompile

JSON precompile

P256 precompile