IOTA EVM is IOTA’s fully Ethereum-compatible smart-contract chain. It is the practical entry point for DeFi on IOTA: existing Solidity contracts, ERC-20 tooling, MetaMask, Hardhat, and Foundry all work unmodified, with configuration changes only. It launched on mainnet in 2024 and continues to run as a Layer 2 alongside the Move Layer 1 introduced by the Rebased upgrade.

Architecture#

IOTA EVM is one chain produced by IOTA Smart Contracts (ISC), the framework that runs sandboxed contract chains and anchors their state to IOTA Layer 1. From a developer’s point of view it is an ordinary EVM chain; the ISC layer underneath handles settlement to L1 and asset movement. The native IOTA token is the gas currency, and a bridge moves value between L1 native assets and L2 EVM balances.

A consequence worth noting: IOTA EVM is not the Move L1 environment. Building L1-native applications means writing Move modules against the object ledger; IOTA EVM is the compatibility surface for porting Ethereum-ecosystem code.

Network Parameters#

Mainnet connection details:

1
2
3
4
5
6
Network name:  IOTA EVM
Chain ID:      8822
RPC URL:       https://json-rpc.evm.iotaledger.net
WebSocket:     wss://ws.json-rpc.evm.iotaledger.net
Currency:      IOTA
Explorer:      https://explorer.evm.iota.org

Adding the network to MetaMask or a wallet config is the only chain-specific step; the JSON-RPC surface is standard, so an existing deployment script just needs the new endpoint and chain ID:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
// hardhat.config.js
module.exports = {
  networks: {
    iotaEvm: {
      url: "https://json-rpc.evm.iotaledger.net",
      chainId: 8822,
      accounts: [process.env.DEPLOYER_KEY],
    },
  },
};

DeFi on IOTA EVM#

IOTA’s stated focus is real-world assets, tokenisation, and machine payments rather than purely speculative on-chain finance, but the EVM chain hosts the usual DeFi building blocks — DEXs, lending markets, and bridges — because they port directly from Ethereum. The Foundation also highlights design choices intended to reduce some maximal extractable value; as with any such claim, treat it as a design goal to verify against the live ordering behaviour, not a guarantee.

Because L1 gas is minimal and can be sponsored, a common pattern is to build user-facing dApps that abstract gas away entirely — the application pays, the user transacts as if the network were feeless.