{"id":"MONAD-OPCODE","name":"Opcode Repricing","status":"Active","chain":"monad","category":{"id":"infrastructure","name":"Infrastructure","description":"Foundational patterns enabling other standards"},"journeyStages":[{"id":"gas","name":"Gas & Fees","description":"Paying for transactions"}],"uxImpact":"Cold storage access costs ~4x more gas than Ethereum to reflect Monad's optimized compute vs. storage ratio. Design implications: gas estimates may differ from Ethereum for storage-heavy operations, show Monad-specific gas estimates (not Ethereum defaults), first-touch storage operations cost more. Design decisions: whether to surface repricing details in advanced gas settings or just show accurate Monad estimates; ensure gas estimation tools use Monad-specific pricing.","hasDetailedContent":true,"content":{"id":"MONAD-OPCODE","sources":[{"label":"Official specification","url":"https://docs.monad.xyz","type":"official-spec"}],"lastReviewed":"2026-05-25","lastUpdated":"2026-05-25","summary":"Monad reprices EVM opcodes so cold storage reads and writes cost roughly four times more than on Ethereum, while compute stays relatively cheaper. Gas previews built for mainnet will under-estimate first-touch storage on Monad and surprise users at sign. Label estimates as Monad-specific and surface when a transaction's first storage operation will cost more.","designerTakeaways":["You can label estimates as Monad network in gas preview footers.","Your advanced gas panel can note First-time storage costs more on Monad when relevant.","You can validate estimation RPC uses Monad opcode table not mainnet fork defaults."],"applicability":{"whenToUse":["Gas estimation on Monad deployments.","Storage-heavy contract interactions.","Advanced gas settings for power users."],"whenToAvoid":["Ethereum-only flows.","Flat fee sponsorship hiding gas entirely.","Users never see gas breakdown."]},"prototypeFirst":[{"screen":"Monad gas estimate row","why":"Every confirm shows chain-accurate fee.","covers":["Simple send","Storage-heavy call"],"include":["Network: Monad label","Estimate amount","Refresh estimate"]},{"screen":"First storage operation hint","why":"Cold storage premium surprises users.","covers":["First SSTORE-like op"],"include":["One-time setup cost note","Lower follow-up txs footnote"]},{"screen":"Advanced gas breakdown","why":"Power users audit estimate components.","covers":["Expand advanced"],"include":["Opcode-weight hint","Monad pricing source","Compare disabled Ethereum default"]},{"screen":"Wrong estimate error recovery","why":"When estimate drifted at sign.","covers":["Estimate too low revert"],"include":["Estimate was wrong — refreshed","Retry with updated estimate"]}],"mentalModel":[{"label":"Monad gas schedule","description":"Different opcode prices than Ethereum."},{"label":"Cold storage premium","description":"First touch storage costs more — like Ethereum cold access amplified."},{"label":"Compute vs storage ratio","description":"Monad optimizes compute; storage relatively pricier."},{"label":"Estimate source","description":"Must call Monad-aware estimator not Ethereum default."},{"label":"User visibility","description":"Accurate total matters; opcode detail optional advanced."}],"statesToDesign":[{"state":"Normal estimate","trigger":"Standard tx.","userNeed":"Trust fee.","designResponse":"Monad-labeled estimate row."},{"state":"High storage estimate","trigger":"Storage-heavy op detected.","userNeed":"Understand spike.","designResponse":"Includes one-time storage setup cost note."},{"state":"Estimate loading","trigger":"Sim running.","userNeed":"Wait signal.","designResponse":"Estimating on Monad spinner."},{"state":"Estimate failed","trigger":"Sim error.","userNeed":"Not blind sign.","designResponse":"Cannot estimate — fix tx or retry."},{"state":"Estimate refreshed after revert","trigger":"Prior estimate wrong.","userNeed":"Updated number.","designResponse":"New estimate shown before retry."}],"designDecisions":[{"question":"Show opcode repricing details?","recommendation":"Advanced only; total estimate default.","rationale":"Users need accurate total not lecture."},{"question":"Footnote cold storage on first write?","recommendation":"Yes when estimate spike detected.","rationale":"Explains one-time premium."},{"question":"Cross-chain estimate UI?","recommendation":"Separate Monad and Ethereum estimators — never mix.","rationale":"Mixed tables cause systematic wrong estimates."}],"problemsSolved":[{"problem":"Wrong gas previews on Monad","oldWay":"Ethereum estimator on Monad txs","newWay":"Monad opcode table in estimator","impact":"critical"},{"problem":"Surprise storage setup cost","oldWay":"Estimate low then sign higher","newWay":"First storage cost footnote","impact":"high"},{"problem":"User distrust after revert","oldWay":"Generic failed","newWay":"Refresh estimate and explain storage premium","impact":"medium"}],"uxPatterns":[{"name":"Monad Gas Estimate Row","description":"Chain-labeled accurate fee preview.","mockup":"erc-4337/gas-abstraction","components":["NetworkLabel","EstimateAmount","RefreshButton"],"userFlow":["Compose tx","Monad estimate loads","User sees fee","Sign accurate amount"]},{"name":"Storage Premium Footnote","description":"Explain cold storage spike on Monad.","mockup":"concept/typed-data","components":["EstimateFootnote","StorageHint"],"userFlow":["Heavy storage tx","Estimate high","Footnote explains","User accepts informed"]}],"seenInTheWild":[{"app":"MetaMask","url":"https://metamask.io/","note":"Network-specific gas estimation patterns."},{"app":"Blocknative","url":"https://www.blocknative.com/","note":"Gas estimation API chain awareness."},{"app":"Monad docs","url":"https://docs.monad.xyz/","note":"Opcode repricing documentation."}],"antiPatterns":[{"pattern":"Ethereum gas defaults on Monad","why":"Systematic wrong estimates","instead":"Monad-specific estimator always","severity":"critical"},{"pattern":"No explanation when storage estimate spikes","why":"User thinks bug or scam","instead":"First-time storage cost footnote","severity":"high"},{"pattern":"Hiding network on estimate row","why":"User assumes Ethereum pricing","instead":"Network: Monad label on fee row","severity":"medium"}],"vocabulary":[{"use":"Estimated fee on Monad","avoid":"Opcode repricing adjusted gas","why":"Simple fee language."},{"use":"One-time setup cost","avoid":"Cold SSTORE premium","why":"Plain storage hint."},{"use":"Refresh estimate","avoid":"Re-simulate with Monad schedule","why":"User action language."}],"onMonad":[{"aspect":"Opcode pricing","ethereum":"Ethereum gas schedule baseline","monad":"Repriced opcodes — cold storage ~4x relative premium vs compute","designImplication":"Never use Ethereum gas tables for Monad estimates."},{"aspect":"Storage-heavy txs","ethereum":"Storage cost familiar ratio","monad":"Storage relatively costlier — footnote first-touch ops","designImplication":"Detect storage spikes and explain in UI."},{"aspect":"Overall fees","ethereum":"Higher absolute gas many ops","monad":"Lower fees overall but storage premium still matters","designImplication":"Accurate relative estimate more than absolute warning."}],"technicalNotes":"MONAD-OPCODE: wire Monad opcode pricing into all estimators; footnote cold storage on estimate spikes.","relatedStandards":[{"id":"MONAD-PARALLEL","relationship":"Fast inclusion after sign"},{"id":"MONAD-7702","relationship":"Delegation txs need Monad estimates too"}]},"sources":[{"label":"Official specification","url":"https://docs.monad.xyz","type":"official-spec"},{"label":"Official specification","url":"https://docs.monad.xyz","type":"official-spec"}],"urls":{"canonical":"https://www.eipsfordesigners.com/standards/MONAD-OPCODE","markdown":"https://www.eipsfordesigners.com/standards/MONAD-OPCODE/content.md","agent":"https://www.eipsfordesigners.com/standards/MONAD-OPCODE/agent.md","api":"https://www.eipsfordesigners.com/api/standards/MONAD-OPCODE","official":"https://docs.monad.xyz"},"freshness":{"lastReviewed":"2026-05-25","lastUpdated":"2026-05-25"}}