Skip to main content
Sei precompiles are special smart contracts deployed at fixed addresses that expose native Sei functionality to EVM applications. They can be called like any standard smart contract using viem, ethers, or wagmi.
Available Precompiles:

Setup

Bank Precompile

eth_getBalance only returns the EVM-side SEI balance. The Bank precompile lets you query any native denom — including factory tokens — from any address:

Staking Precompile

Delegate, undelegate, and query staking state:

Governance Precompile

Vote on an active governance proposal:

Distribution Precompile

Claim staking rewards from a validator:

JSON Precompile

Parse JSON data within EVM contracts or dApps — useful for processing oracle responses, NFT metadata, and structured payloads:

Common Patterns

Error Handling

Wrap precompile calls in try/catch and check for specific error codes:

Batch Read Operations

Fetch multiple precompile values in parallel:

Gas Limits

Precompile calls that write state need enough gas. Use estimateGas rather than hard-coding:
viem

Full Working Example

A Node.js script that delegates SEI and then casts a governance vote:
Run with:

Next Steps

For full ABI reference and all available functions on each precompile: