Monad · Developer Tooling

Is your contract killing parallelism?

Paste a block number. pev reconstructs the execution graph, surfaces storage contention, and tells you exactly which slots are costing you throughput.

killing parallelism right now:
ShMonad (shMON)11,517 confPerpl1,724 confFastLane: FastLaneAuctionHandler1,393 conf
Latest analyzed block
#112,557,41510 txs · 0x270444d8…c47875
Parallelism
70/100
Blocked
40%
Waves
3
Conflicts
5
Throughput-killer:ShMonad (shMON)·slot 0x00000000…0012·5 conflicts across 20 slots
click to inspect →
Auditing your own contract? Paste its address in the search above to see its parallelism profile.
Recent activity
connecting
#112,557,4140x18f4c2…48958 tx38/10010 conf99h ago#112,557,4130x8f906c…820f11 tx45/10011 conf99h ago#112,557,4120x84ac9d…d07523 tx65/10025 conf99h ago#112,557,4110xc0cdd6…795012 tx92/1000 conf99h ago#112,557,4100xd220bd…691514 tx86/1003 conf99h ago#112,557,4090x634ee7…8c9413 tx69/1009 conf99h ago#112,557,4080x013a02…a49620 tx65/10027 conf99h ago#112,557,4070x805344…598815 tx73/1006 conf99h ago#112,557,4060x52b8d9…a61f25 tx92/1003 conf99h ago
How Monad works
Parallelism, in plain words.

Monad doesn't process transactions one at a time. It runs them in parallel, many at once, across separate execution lanes. The catch: when two transactions touch the same storage slot in the same block, the chain has to run one first and re-execute the other once it finishes. So the shape of your contract decides how parallel the chain can be. Contracts with isolated state (per-user balances, sharded counters) parallelize cleanly; contracts with hot shared state (a single global counter, a shared queue) become the chokepoint everyone else waits on.

What we measure
Parallelism Score
Theoretical speedup vs. serial execution, on a 0-100 scale. Higher means the same work could finish in fewer rounds.
Execution Waves
Minimum number of sequential rounds the block needs because of storage conflicts. Lower is more parallel.
Hot Storage Slots
Storage slots touched by multiple txs in the same block, the bottlenecks.
New · Relationship graph
See which contracts move together. →

An interactive map of how Monad's protocols compose at runtime: which contracts share transactions, and which of them collide on storage. Hover any contract to trace its connections.

What this is, and isn't

Every metric on this page is computed from real prestateTracer output. We show theoretical parallelism, the maximum speedup the block's conflict structure allows, not what Monad's scheduler actually decided. That's internal and not exposed via RPC, so we don't fake it. Method names are decoded via the 4byte directory when a selector has been submitted there; otherwise we show the raw 4-byte hex. Contract names come from Sourcify when verified, coverage on Monad mainnet is still early.