EVM and CosmWasm Interoperability
Dual Address Support
Sei supports two wallet address types:
- EVM (0x) address: Ethereum-style addresses prefixed with “0x”.
- Sei address: Native Sei blockchain addresses prefixed with “sei1”.
Both addresses are derived from the same public key, ensuring seamless asset integration across formats. You can find your corresponding wallet addresses directly in the Sei app.
For more details on interoperability, explore our article here .
Virtual Machine Interoperability
EVM and CosmWasm based smart contracts co-exist on Sei, but live in different execution environments. This creates a challenge for users, who use wallets that typically only support a single execution environment. Likewise for developers, existing tooling and libraries can only interact with either EVM or Wasm (Think EthersJS vs CosmJS).
To bridge the gap between EVM and Wasm, Sei has introduced two interoperability features, allowing for smooth and easy interactions between both environments. Precompiled EVM contracts and Pointer Contracts enable all contracts to be accessible from both VM environments.
Precompile Contracts
Sei precompiles are smart contracts embedded directly within the Sei EVM environment. They provide a gateway for users and developers to access native Sei functionalities through the EVM RPC interface.
For instructions on utilizing EVM precompiles, refer to the Example Usage section.
Pointer Contracts
Pointer Contracts are a unique feature introduced on Sei, designed to enhance interoperability between EVM and CosmWasm environments. These contracts facilitate the creation of links between tokens across both EVM and CosmWasm. This enables tokens to move smoothly and be used seamlessly in both environments.
Pointer contracts can be deployed for any Token Factory, Smart Contract (ERC20, ERC721, etc.), and any IBC denom.
Example Diagram

Enabling seamless access to all tokens and contracts on Sei