{"id":"MONAD-MEMPOOL","name":"Local Validator Mempools","status":"Active","chain":"monad","category":{"id":"security","name":"Security & Trust","description":"Helping users verify, control, and protect their assets"},"journeyStages":[{"id":"reading","name":"Reading & Understanding","description":"Interpreting what you're being asked to do"},{"id":"executing","name":"Executing Transactions","description":"Performing on-chain actions"}],"uxImpact":"No global mempool — transactions go directly to upcoming block leaders, reducing MEV and improving inclusion times. Design implications: remove 'pending in mempool' states (transactions either included or not), no sandwich attack warnings needed, use lower default slippage (0.5% vs 1-3%), show confident price quotes without 'may change due to MEV' caveats. Design decisions: remove MEV protection toggles entirely (cleaner) vs. keep for cross-chain consistency; how to explain faster inclusion without complex mempool concepts.","hasDetailedContent":true,"content":{"id":"MONAD-MEMPOOL","sources":[{"label":"Official specification","url":"https://docs.monad.xyz","type":"official-spec"}],"lastReviewed":"2026-05-25","lastUpdated":"2026-05-25","summary":"No global mempool — transactions go directly to upcoming block leaders, reducing MEV and improving inclusion times.","designerTakeaways":["You can remove MEV protection toggles on Monad-native swap flows.","Your default slippage can start at 0.5% not 1-3% with clear explanation on Monad.","You can simplify pending to Submitting → Included without mempool pending stage."],"applicability":{"whenToUse":["Monad-native DeFi and swap products.","Designing slippage and MEV copy for Monad.","Transaction status UX on Monad."],"whenToAvoid":["Cross-chain flows where Ethereum MEV still applies.","Ethereum-only interfaces."]},"prototypeFirst":[{"screen":"Swap with Monad slippage defaults","why":"Lower slippage safe without global mempool.","covers":["0.5% default","User raises slippage"],"include":["Default 0.5% chip","Explain why lower on Monad","Advanced override"]},{"screen":"Simplified pending states","why":"No mempool pending phase.","covers":["Submitting","Included","Failed"],"include":["Two-step status","No mempool pending label"]},{"screen":"DeFi settings without MEV toggle","why":"Remove dead controls on Monad.","covers":["Monad network","Ethereum network compare"],"include":["Clean settings on Monad","MEV section only on Ethereum"]},{"screen":"Price quote confidence","why":"Quotes without MEV caveat clutter.","covers":["Quote display"],"include":["Clean quote","No may be sandwiched footnote on Monad"]}],"mentalModel":[{"label":"No global mempool","description":"Txs not publicly visible pre-inclusion — different from Ethereum."},{"label":"Direct to leader","description":"Faster inclusion path — less pending limbo."},{"label":"Reduced sandwich","description":"Not zero everywhere — but Monad-native swaps simpler."},{"label":"Slippage","description":"Can be tighter by default on Monad."},{"label":"Cross-chain caveat","description":"Bridges from Ethereum still have Ethereum MEV rules."}],"statesToDesign":[{"state":"Submitting","trigger":"Tx broadcast.","userNeed":"Brief wait.","designResponse":"Submitting — not mempool pending."},{"state":"Included fast","trigger":"Leader includes tx.","userNeed":"Quick success.","designResponse":"Included within sub-second UX."},{"state":"Not included retry","trigger":"Tx dropped not included.","userNeed":"Retry path.","designResponse":"Not included — retry with explanation not mempool stuck."},{"state":"Swap on Monad","trigger":"DeFi flow.","userNeed":"Simple slippage.","designResponse":"0.5% default; no MEV toggle."},{"state":"Cross-chain bridge in","trigger":"Asset from Ethereum.","userNeed":"MEV context if relevant.","designResponse":"Ethereum leg may differ — show on bridge source only."}],"designDecisions":[{"question":"Keep MEV toggle for parity?","recommendation":"Remove on Monad; keep on Ethereum cross-chain views.","rationale":"Dead toggle erodes trust."},{"question":"Default slippage?","recommendation":"0.5% Monad; preserve higher default on Ethereum.","rationale":"Match risk profile to mempool model."},{"question":"Explain no mempool to users?","recommendation":"Only in help doc — not swap form.","rationale":"Outcome is simpler UX not lecture."}],"problemsSolved":[{"problem":"Scary MEV copy on every swap","oldWay":"May be frontrun warnings everywhere","newWay":"Clean quotes on Monad-native swaps","impact":"high"},{"problem":"Inflated slippage defaults","oldWay":"1-3% for Ethereum MEV","newWay":"0.5% default on Monad","impact":"medium"},{"problem":"Misleading mempool pending UI","oldWay":"Pending in mempool state never resolves same way","newWay":"Submitting → Included binary","impact":"medium"}],"uxPatterns":[{"name":"Monad Swap Defaults","description":"Lower slippage without MEV toggle.","mockup":"eip-7702/one-click-swap","components":["SlippageChip","CleanQuote","SwapButton"],"userFlow":["Open swap on Monad","See 0.5% default","Quote clean","Confirm"]},{"name":"Binary Inclusion Status","description":"No mempool pending stage.","mockup":"concept/tx-status","components":["SubmittingLabel","IncludedLabel"],"userFlow":["Submit","Submitting briefly","Included or retry"]}],"seenInTheWild":[{"app":"Uniswap","url":"https://app.uniswap.org/","note":"Slippage and MEV settings reference — simplify on Monad."},{"app":"CowSwap","url":"https://cow.fi/","note":"MEV-aware UX contrast for Ethereum."},{"app":"Monad docs","url":"https://docs.monad.xyz/","note":"Local mempool architecture context."}],"antiPatterns":[{"pattern":"MEV protection toggle on Monad swaps","why":"Implies Ethereum mempool model","instead":"Remove toggle; clean quote UI","severity":"high"},{"pattern":"Pending in public mempool copy","why":"State does not exist on Monad","instead":"Submitting → Included","severity":"high"},{"pattern":"3% default slippage on Monad","why":"Unnecessary user cost","instead":"0.5% default with advanced override","severity":"medium"}],"vocabulary":[{"use":"Submitting","avoid":"Pending in mempool","why":"Accurate Monad state."},{"use":"Included","avoid":"Mined from mempool","why":"Leader inclusion language."},{"use":"Slippage tolerance","avoid":"MEV protection buffer","why":"Standard DeFi term."}],"onMonad":[{"aspect":"Mempool model","ethereum":"Global public mempool MEV surface","monad":"Local validator mempools direct to leader","designImplication":"Remove MEV toggles; simplify pending on Monad."},{"aspect":"Slippage defaults","ethereum":"1-3% common for sandwich protection","monad":"0.5% reasonable default","designImplication":"Network-aware slippage presets."},{"aspect":"Inclusion time","ethereum":"Mempool pending variable","monad":"Fast leader inclusion","designImplication":"Binary submitting/included status."}],"technicalNotes":"MONAD-MEMPOOL: no global mempool UX; remove MEV toggles and lower default slippage on Monad-native flows.","relatedStandards":[{"id":"MONAD-PARALLEL","relationship":"Fast inclusion complements parallel execution"},{"id":"ERC-7683","relationship":"Cross-chain still has source-chain MEV"}]},"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-MEMPOOL","markdown":"https://www.eipsfordesigners.com/standards/MONAD-MEMPOOL/content.md","agent":"https://www.eipsfordesigners.com/standards/MONAD-MEMPOOL/agent.md","api":"https://www.eipsfordesigners.com/api/standards/MONAD-MEMPOOL","official":"https://docs.monad.xyz"},"freshness":{"lastReviewed":"2026-05-25","lastUpdated":"2026-05-25"}}