Skip to main content

About IOTA

The IOTA ecosystem enables programmability in both Layer 1 and Layer 2 using Move and EVM/Solidity smart contracts respectively.

Layer 1

Move

Move is a powerful, secure programming language designed specifically for digital asset management and smart contracts. Its unique features make it an ideal choice for developers working in the blockchain space. Here are the key features of Move:

Object-Centric Design

Move is fundamentally object-centric, allowing developers to intuitively model complex data structures and interactions. In Move, you can define objects representing assets, users, contracts, and more, facilitating a natural and straightforward way to manage state and behavior.

Performance

Move is based on the object model, not a shared global state. This allows transactions to be executed in parallel, which translates into a network with high throughput, less congestion, and therefore lower gas fees.

Security

Move is based on Rust, a programming language known for its performance and safety. It's almost impossible to make a programming mistake that the compiler won't catch before you deploy your smart contract. Additionally, given the object-centric approach, assets that reside in your account can't be accessed without your account keys. These features allow for more complex smart contract applications, as any mistakes outside implementation logic will be caught before deploying.

warning

While the Move compiler catches many development mistakes, smart contracts can still have unintended edge cases and issues within their written logic. For this reason, it's still highly recommended to have smart contracts audited and double-checked, even when written in Move.

Networks

IOTA Mainnet

Stardust Protocol

The IOTA Mainnet runs the Stardust Protocol.

The IOTA Mainnet processes production transaction blocks. The IOTA Mainnet's tokens have a real-world value, so we recommend that you use the IOTA Testnet or Devnet to develop your application.

IOTA Testnet

The IOTA Testnet serves as a staging network and quality assurance. You can use this network to test your dApps and verify that planned changes do not adversely impact performance before deploying them to production.

IOTA Devnet

The IOTA Devnet is used to develop new features. You can use this network to code with the latest planned features of IOTA.

Layer 2

EVM

Mainnet Only

IOTA EVM is not available on the IOTA Move Testnet.

EVM stands for "Ethereum Virtual Machine" and is currently the tried and tested virtual machine running most smart contract networks.

Solidity is the programming language of choice for the EVM. It was created for this specific purpose.

The main benefit of using EVM/Solidity is its sheer amount of resources from years of development. The IOTA Smart Contracts implementation is fully compatible with these resources, allowing you to leverage all existing EVM developer tools for developing on the IOTA EVM. Any contracts you've previously written can be deployed on IOTA Smart Contracts without modification.

Keep in mind that while EVM has become a standard for smart contract execution on L2s, it is not inherently designed for the unique features and capabilities of L1s like Move smart contracts. Move, with its focus on asset safety, resource management, and formal verification, offers a fundamentally different approach at the L1 level.

Networks

IOTA EVM and Shimmer EVM

IOTA EVM and Shimmer EVM are two distinct Layer 2 EVMs running on top of the IOTA Mainnet.

IOTA EVM Testnet

Mainnet Only

IOTA EVM is not available on the IOTA Move Testnet.

IOTA EVM Testnet is the Layer 2 EVM running on top of the IOTA Testnet network. This network is subject to occasional resets (no data retention), usually announced with a one-week grace period.

IOTA Tokens

The IOTA token is the main token in the IOTA ecosystem. One IOTA can be divided into smaller units called NANOs, with one IOTA being equivalent to one billion NANOs.

Gas on IOTA

Transactions on the IOTA network require gas fees, which are paid using IOTA or NANOs.

Consensus on IOTA

IOTA uses a delegated proof-of-stake (DPoS) consensus mechanism to validate on-chain transaction blocks. Validators on the IOTA network must secure a certain amount of IOTA tokens on the IOTA Mainnet to demonstrate their commitment to the network's security. This approach aligns the interests of all validators with those of IOTA users, ensuring an efficient and secure blockchain without the high energy demands of earlier blockchains.