@sei-js is a set of TypeScript packages for building EVM applications on Sei. Use the packages for Sei-specific functionality, and use standard EVM libraries such as Viem or Ethers.js for everything else.
Sei is EVM-compatible, so you can also use Foundry, Hardhat, Wagmi, and other Ethereum tooling. @sei-js adds precompile ABIs, chain definitions, wallet integration, network metadata, scaffolding, and an MCP server.
@sei-js is open source. Contribute at github.com/sei-protocol/sei-js.
Why @sei-js?
- Typed ABIs and addresses for Sei precompiles
- Canonical Viem definitions for Pacific-1 and Atlantic-2
- Packages that work with standard EVM libraries
Packages
@sei-js/precompiles
Import precompile addresses and raw ABIs for Viem or Ethers.js. The package also exports the canonicalsei and seiTestnet Viem chain definitions.
@sei-js/create-sei
Create a Next.js dApp with wallet integration, TypeScript, and Sei network configuration.@sei-js/sei-global-wallet
Add the EIP-6963 compatible Sei Global Wallet to a dApp.@sei-js/registry
Use typed chain IDs, RPC endpoints, token metadata, and wallet information for Pacific-1 and Atlantic-2.@sei-js/mcp-server
Connect an MCP-compatible AI assistant to Sei for blockchain queries, contract interactions, and documentation search.Quick start
Generate a new Sei dApp:Examples
End-to-end code examples using viem and ethers with Sei:viem Quickstart
Read chain data, send transactions, and interact with contracts in a Node.js script or backend.
ethers v6 Quickstart
The same patterns using ethers v6, including browser provider and event listening.
Wagmi + React
Connect wallets, read balances, and write contracts in a React app using Wagmi hooks.
ERC-20 Interaction
Read metadata, check balances, transfer tokens, approve spenders, and query transfer history.
ERC-721 Interaction
Check ownership, transfer NFTs, manage approvals, and watch transfer events.
ERC-1155 Interaction
Batch balance queries, single and batch transfers, operator approvals, and event watching.
Multicall
Batch multiple contract reads into a single RPC call with Multicall3 and viem/ethers/wagmi.
Pointer Contracts
Look up pointer addresses for existing CW20 and CW721 contracts, then interact with them through ERC interfaces.
Sei Precompiles
Native balances, staking, rewards, and governance voting from JavaScript.
Deploy and Verify
Deploy contracts with viem, ethers, Foundry, or Hardhat and verify on Seiscan via Sourcify.
Transaction Lifecycle
Send transactions, wait for receipts, and decode event logs.
Error Handling
Decode reverts, handle wallet rejections, and retry transient RPC failures.
Community and support
- Discord: Join the Sei developer community
- GitHub Issues: Report bugs and request features