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 prioritizes safety and efficiency, with Rust’s ownership model inspiring Move’s approach to memory management and resource control. The compiler enforces strict rules to prevent common programming errors, ensuring that assets remain secure within user accounts and cannot be accessed without the correct keys. While the compiler catches many potential issues before deployment, developers should still be mindful of logical errors, arithmetic overflows, and other runtime concerns when implementing smart contracts.

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 is the L1 "production" network of IOTA. 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

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

IOTA EVM is the distinct Layer 2 EVM running on top of the IOTA Mainnet.

IOTA EVM Testnet

IOTA EVM Testnet is a distinct Layer 2 EVM running on top of the Stardust protocol network, which is separate from the IOTA Rebased Testnet.

info

This network is subject to occasional resets (no data retention) which are 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 must secure a certain amount of IOTA tokens to participate in the network, where they actively run the Mysticeti protocol to finalize transactions. This approach incentivizes honest behavior, enhances security, and ensures an efficient and scalable blockchain while avoiding the high energy demands of Proof-of-Work (PoW) systems, which rely on computationally intensive mining.