Skip to main content

Smart Contracts

Ethereum's introduction in 2015 sparked a large developer community to build decentralized applications on the Ethereum Virtual Machine (EVM) through smart contracts. This community has created extensive tooling and standards, increasing EVM-compatible technology adoption.

You can build and deploy EVM smart contracts on, implementing your dApp's core logic. is fully EVM-compatible, so you can use the same tools (Solidity, Remix, Oracles, etc.) and APIs (Ethereum JSON-RPC) as on the EVM. allows you to build scalable cross-chain applications within a familiar EVM environment. Learn about building and deploying EVM smart contracts on below. provides a compatible EVM environment that allows developers to build and deploy smart contracts with the same tools and APIs they use on the Ethereum network. This means that developers can leverage the interoperability of Cosmos chains to build scalable cross-chain applications without having to learn a new environment. With, developers can use Solidity, Remix, Oracles, and other EVM-compatible tools to build and deploy smart contracts. Additionally, supports the same APIs as the Ethereum network, making it easy for developers to integrate their dApps with other EVM-compatible services. By using, developers can tap into the growing ecosystem of Cosmos chains and build decentralized applications that can interact with other blockchains in the Cosmos network.

Build with Solidity

You can develop EVM smart contracts on using Solidity, a programming language widely used in blockchain technology. Solidity is also used to build smart contracts on Ethereum, so if you have deployed smart contracts on Ethereum (or any other EVM-compatible chain), you can use the same contracts on

Solidity comes with well-documented and rich language support, making it the most widely used smart contract programming language in blockchain technology.

To get started, you can head over to our list of Tools and IDE Plugins for Solidity, which can help you develop and deploy your smart contracts efficiently.

EVM Extensions

You can find a list of available EVM extensions on the website. These extensions are precompiled contracts that offer specific functionality that can be used by other smart contracts. They are used to perform operations that are not possible or would be too expensive to perform with a regular smart contract implementation, such as hashing, elliptic curve cryptography, and modular exponentiation.

By adding custom EVM extensions to Ethereum's basic feature set, allows developers to use previously unavailable functionality in smart contracts, such as staking and governance operations. This will allow more complex smart contracts to be built on and further improves the interoperability between Cosmos and Ethereum. It also is a key feature to achieve's vision of being the definitive dApp chain, where any dApp can be deployed once and users can interact with a wide range of different blockchains natively.

To enable these functionalities, introduces so-called "stateful" precompiled smart contracts, which can perform a state transition, as opposed to those offered by the standard Go-Ethereum implementation, which can only read state information. This is necessary because an operation like e.g. staking tokens will ultimately change the chain state.

You can view a list of available EVM extensions on the website.


EVM Oracles are a crucial component of the ecosystem, enabling smart contracts to access external data and information from reputable sources. These oracles serve as intermediaries between the blockchain and external data sources, providing a secure and reliable means for smart contracts to access the information they need to execute their intended functionality.

By leveraging EVM Oracles, smart contracts on can tap into a wide range of real-world data sources, including financial exchanges, carbon emission measurements, and more. This enables a variety of use cases, such as decentralized finance (DeFi) applications, environmental impact tracking, and gaming platforms, among others.

To learn more about how EVM Oracles work and how they can be used in your smart contract applications, please visit our Oracles section.

Deploy with Ethereum JSON-RPC offers seamless compatibility with the Ethereum JSON-RPC application programming interface (API), enabling users to deploy and interact with smart contracts on the platform and connect with existing Ethereum-compatible web3 tooling. This integration grants users direct access to reading Ethereum-formatted transactions and sending them to the network, which would otherwise be unavailable on a Cosmos chain such as

Furthermore, users can leverage the Testnet to deploy and thoroughly test their smart contracts in a controlled environment before transitioning to the Mainnet. This allows developers to ensure the proper functioning and security of their contracts before deploying them on the main network.

Block Explorers

To facilitate the monitoring and debugging of interactions with smart contracts deployed on, users can utilize block explorers. These block explorers index blocks and their respective transactions, enabling users to search for real-time and historical information about the blockchain. This includes data pertaining to blocks, transactions, addresses, and more, providing developers with a comprehensive view of the blockchain's activity. By leveraging block explorers, developers can gain valuable insights into the behavior of their smart contracts and ensure their proper functioning.

Contract Verification

After deployment, smart contract data is represented as non-human readable EVM bytecode. However, users can utilize contract verification tools to confirm that they are interacting with the correct smart contract. These tools publish and verify the original Solidity code, providing assurance that the deployed contract adheres to the intended specification. By leveraging contract verification tools, users can establish trust in the correctness and integrity of the smart contracts they interact with.