Mantle is a modular Layer 2 originally built as an OP-Stack optimistic rollup with EigenDA for data availability, and as of the 2025–2026 Arsia/Limb upgrades it has migrated to a ZK validity rollup using Ethereum blobs (4844) and OP Succinct provers. Mainnet chain ID 5000, native gas token MNT (not ETH), EVM-equivalent execution. The ecosystem ships canonical assets like mETH (liquid-staked ETH) and fBTC (wrapped BTC).
- 01low-fee EVM L2 with non-ETH gas token (MNT)
- 02DeFi using mETH / fBTC native primitives
- 03modular L2 with cheap data availability
- 04apps targeting the Mantle treasury-funded ecosystem
- pnpm add viem wagmi
| Variable | Scope | Description |
|---|---|---|
| NEXT_PUBLIC_MANTLE_RPC_URL | Client | Mantle RPC URL (mainnet: https://rpc.mantle.xyz). |
| NEXT_PUBLIC_MANTLE_CHAIN_ID | Client | Chain ID — 5000 for mainnet, 5003 for Mantle Sepolia testnet. |
Use viem's built-in `mantle` / `mantleSepoliaTestnet` chains (`import { mantle } from 'viem/chains'`) — chain ID 5000, gas token MNT (decimals 18), RPC `https://rpc.mantle.xyz`. Solidity contracts deploy unchanged with Foundry: `forge create --rpc-url $MANTLE_RPC --private-key $PK src/MyContract.sol:MyContract`. The native token MNT pays gas — wallets must hold MNT, not ETH, to send transactions. Bridge canonical assets via the Mantle Bridge (`bridge.mantle.xyz`); ETH on Mantle is a bridged ERC-20-style token (`WETH` / canonical 0xdEAddE...) rather than the gas token. mETH (liquid-staked ETH) and fBTC (wrapped BTC) are first-class assets — integrate via their canonical contract addresses listed in `docs.mantle.xyz`. Indexers The Graph and Goldsky support chain 5000.
- ⚑Gas token is MNT, NOT ETH. Wallets/relayers/paymasters that hardcode ETH as the fee currency will silently fail to send transactions. UX must onboard users to MNT (e.g., a tiny MNT drop on bridging) or use a paymaster that converts ETH/USDC to MNT.
- ⚑Mantle migrated from OP-stack optimistic + EigenDA (2024) to a ZK validity rollup with Ethereum blob DA (Arsia/Limb, 2025–2026). Withdrawal finalization windows shrank from 7 days to ~12 hours, but anything written before the migration may quote the old window — verify the current finalization SLA in `docs.mantle.xyz` rather than assuming OP-stack defaults.
- ⚑Sequencer is centralized today and operated by the Mantle team. Force-inclusion via L1 exists but is the slow path. Plan for liveness incidents.
- ⚑Fee structure has both an L2 execution fee (in MNT) and an L1 data fee (denominated in ETH but charged in MNT) — `eth_estimateGas` returns L2 execution only, so wallets must add the L1 calldata cost or transactions get under-priced.
- ⚑mETH is a liquid-staked ETH token issued by Mantle LSP (separate integration in this registry as `mantle-lsp`). It is NOT 1:1 fungible with ETH — its exchange rate drifts with staking yield, so AMM and lending integrations must use the canonical price feed, not assume 1:1.
- ⚑Bridged USDC on Mantle has historically been a non-CCTP variant; Circle ships CCTP USDC separately. Token-route logic that assumes one canonical USDC will mismatch.