Monad Developer Guide
Deploy smart contracts on Monad, set up your development environment, and leverage parallel execution for high-throughput dApps.
Overview
Monad is fully EVM-compatible, so if you can develop on Ethereum, you can develop on Monad. Use the same languages (Solidity, Vyper), tools (Hardhat, Foundry, Remix), and wallets — just point to a different RPC endpoint.
Environment Setup
Configure your development tools with Monad's RPC endpoint:
Hardhat — add to hardhat.config.ts:
networks: {
monad: {
url: "https://testnet-rpc.monad.xyz",
chainId: 10143,
accounts: [process.env.PRIVATE_KEY],
},
}Foundry — use the --rpc-url flag:
forge create src/MyContract.sol:MyContract \
--rpc-url https://testnet-rpc.monad.xyz \
--private-key $PRIVATE_KEYDeploy a Contract
Deploying to Monad is identical to deploying to Ethereum. Any Solidity contract that compiles for Ethereum will work on Monad without changes.
- Write your Solidity contract as usual
- Compile with your preferred tool (Hardhat, Foundry, Remix)
- Deploy using Monad's RPC endpoint
- Verify on the Monad AI Explorer
Contract Size Limit
Monad supports contracts up to 128 KB (vs 24.5 KB on Ethereum). This allows more complex contracts without splitting into libraries.
Parallel Execution Tips
While parallel execution is automatic and transparent, understanding it helps you write more efficient contracts:
- Minimize shared state — contracts that access independent storage slots parallelize better
- Avoid unnecessary reads — each state read is a potential conflict point
- Use events for off-chain data — events don't cause execution conflicts
- Nonce ordering is fixed — transactions from the same sender are always sequential (same as Ethereum)
Gas Model
Monad charges gas based on the gas limit (not actual usage). This is a DoS prevention mechanism. Key implications:
- Set appropriate gas limits — don't use unnecessarily high values
- The mempool prioritizes higher gas fees
- Unconfirmed transactions are automatically resent
- Opcode pricing is identical to Ethereum
Debug with AI
After deploying, use Monad AI Explorer to inspect your contract transactions. The AI assistant can decode function calls, explain failed transactions, and show how your contract interactions behave under parallel execution — just paste the tx hash and ask.