@sei-js/precompiles@3 is ESM-only and matches the Sei Chain v6.6.1 ABIs. It does not include the Auth, Authz, Evidence, Mint, Params, Slashing, and Upgrade precompiles. It also does not include the methods that v6.7 added to Bank, Distribution, Governance, and Staking. For those ABIs, use the abi.json files in the sei-chain precompiles directory. Import raw *_PRECOMPILE_ABI constants from the package root, @sei-js/precompiles/precompiles, or @sei-js/precompiles/viem. Import the ethers factories from @sei-js/precompiles/ethers. The package does not expose VIEM_*_PRECOMPILE_ABI aliases. It re-exports the viem sei and seiTestnet definitions and also exports seiLocal (chain ID 713714, http://localhost:8545). The package requires viem 2.55.16 or newer.Setup
Bank precompile
eth_getBalance returns only the EVM-side SEI balance. The Bank precompile lets you query the native SEI (usei) bank balance for an 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 in EVM contracts or dApps. This is useful for oracle responses, NFT metadata, and structured payloads:Solo precompile
Claim a Solo migration payload. Both functions take the signed payload asbytes and return a boolean:
claimSpecific with the same argument shape.
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. UseestimateContractGas instead of a hard-coded value:
viem