# Monad Development Guide ## 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