← Protocols
Monad
01Description

High-throughput, EVM-bytecode-compatible Layer 1 built around four core innovations: MonadBFT consensus, deferred execution, optimistic parallel execution, and MonadDB. Targets ~10,000 TPS, ~400ms block time, and ~800ms finality while running unmodified Solidity contracts and standard JSON-RPC. Mainnet chain ID 143, testnet chain ID 10143.

02Best for
  • 01high-TPS EVM dapps (DEXes, perps, games)
  • 02consumer apps that need sub-second finality
  • 03unmodified Solidity contracts with parallel execution gains
  • 04DeFi forks looking for cheaper, faster execution
03Install
  • pnpm add viem wagmi
04Environment variables
VariableScopeDescription
NEXT_PUBLIC_MONAD_RPC_URLClientMonad RPC URL (mainnet: https://rpc.monad.xyz, testnet: https://testnet-rpc.monad.xyz).
NEXT_PUBLIC_MONAD_CHAIN_IDClientChain ID — 143 for mainnet, 10143 for testnet.
05Prompt snippet
Use viem with a `defineChain({ id: 143, name: 'Monad', nativeCurrency: { name: 'Monad', symbol: 'MON', decimals: 18 }, rpcUrls: { default: { http: [process.env.NEXT_PUBLIC_MONAD_RPC_URL!] } } })` (or the built-in chain once published in `viem/chains`). The JSON-RPC interface is identical to Ethereum, so wagmi connectors, Foundry (`forge create --rpc-url $MONAD_RPC ...`), Hardhat, and ethers all work unchanged. To get the parallel-execution speed-up, design contracts so the storage slots written by concurrent transactions don't conflict — Block-STM-style speculative execution re-runs conflicting txs serially. Use the public RPC for prototypes and a paid provider (QuickNode, Chainstack, dRPC, Dwellir, Triton) for production rate limits.
06Gotchas
  • Mainnet only launched November 24, 2025 — infra (indexers, subgraphs, bridges, oracles) is still maturing. Verify each provider supports Monad mainnet (chain 143) specifically before committing to a stack.
  • Optimistic parallel execution means transactions that touch the same hot storage slot (e.g., an AMM pool, a single counter) get serialized at execution time — the TPS headline number does not apply to contention-heavy workloads. Profile gas + execution latency under realistic contention.
  • Deferred execution decouples consensus from execution: a block is finalized by MonadBFT before its results are known, so receipts and state lag the block by one round. Apps that read state immediately after `eth_sendRawTransaction` returns may see stale data — wait for the receipt or a confirmation.
  • Block time is ~400ms; many EVM tools assume 12s blocks (gas oracles, polling intervals, default reorg buffers). Tune polling, gas estimation, and confirmation thresholds explicitly for Monad.
  • Public RPC is rate-limited — production apps must use a paid provider or run their own node. Do not ship `https://rpc.monad.xyz` directly in a client.
  • Validator set and bridge ecosystem are still young. For high-value flows, treat Monad as an early-mainnet chain and avoid concentrating large TVL until canonical bridges and oracles harden.
07Alternatives