monad/dev-guide

Monad Development Guide: EVM-Compatible High-Performance L1

monadguide🏛️ Officialconfidence highhealth 100%
v1.0.0·Updated 3/20/2026

Core Features

Monad is an EVM-compatible high-performance Layer-1, with mainnet launching in November 2025.

Key Metrics: 10,000 TPS, 400ms block time, 800ms finality Core Technology: MonadBFT consensus + parallel execution + JIT compilation + MonadDb Developer Experience: Full EVM bytecode compatibility, existing Solidity contracts deploy directly without modification

Network Information

Mainnet: Chain ID 143, RPC https://rpc.monad.xyz, Block Explorer monadscan.com Testnet: Chain ID 10143, RPC https://testnet-rpc.monad.xyz, Faucet faucet.monad.xyz

Hardhat configuration:

networks: {
  monad: { url: "https://rpc.monad.xyz", chainId: 143 },
  monadTestnet: { url: "https://testnet-rpc.monad.xyz", chainId: 10143 }
}

viem >= 2.40.0 natively supported: import { monad } from 'viem/chains'

Key Differences: Monad vs Ethereum

Gas Billing (Most Important!)

Ethereum: Actual charge = gas_price x gas_used (unused refunded) Monad: Actual charge = gas_price x gas_LIMIT (charges full limit, no refund)

This is a design constraint for parallel execution to prevent DoS. Impact: Set reasonable gas limits, don't arbitrarily set excessively high values.

Contract Size

Monad max contract size 128KB (Ethereum is 24KB), large contracts don't require Diamond pattern splitting.

Opcode Repricing

Some opcode gas costs differ from Ethereum. Must test locally using Monad Foundry fork.

EIP-7702

Native support for account abstraction EIP-7702, EOAs can temporarily delegate execution to contracts.

Toolchain

Foundry: Must use Monad Foundry fork (github.com/monad-crypto/monad-foundry) Hardhat: Direct support, just modify network configuration viem: Native support (>= 2.40.0) Tenderly: Supported, best debugging tool Safe: Multi-sig wallet support Monadscan: Built by Etherscan, supports contract verification

Installing Monad Foundry

curl -L https://raw.githubusercontent.com/monad-crypto/monad-foundry/main/install.sh | bash
# Usage is identical to standard Foundry
forge build && forge test
forge script Deploy.s.sol --rpc-url https://rpc.monad.xyz --broadcast

Deploying Contracts

forge create src/MyContract.sol:MyContract --rpc-url https://rpc.monad.xyz --private-key $PK
forge verify-contract $ADDR src/MyContract.sol:MyContract --verifier etherscan --verifier-url https://api.monadscan.com/api --chain-id 143

Impact of Parallel Execution on Developers

Monad executes in parallel but guarantees final state consistency with sequential execution (optimistic parallelism, rollback and retry on conflicts). Solidity contract logic requires no modification. Contracts with heavy state dependencies (AMMs) naturally serialize and cannot benefit from parallel speedup. Stateless/weakly state-dependent contracts (transfer, mint) can fully parallelize, with significant performance improvements.

Ecosystem Infrastructure

RPC: QuickNode / Alchemy / Infura (all supported) Oracle: Pyth / Chainlink (deployed) NFT: Manifold (supported) Block Explorers: Monadscan (by Etherscan), MonadVision (by Blockvision), Socialscan