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:
Perpl1,858 confShMonad (shMON)56 confKuru Exchange: Market-MON/USDC35 conf
Latest analyzed block
#95,151,75316 txs · 0x44e2a778…13b723
Parallelism
81/100
Blocked
36%
Waves
3
Conflicts
6
Throughput-killer:Perpl·slot 0xbcbf5d09…8bac·6 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
#95,151,7520x04f9cc…f24d8 tx63/1003 conf2s ago#95,151,7510x9731f4…c35310 tx70/1002 conf2s ago#95,151,7500x07735d…9c2215 tx87/1002 conf3s ago#95,151,7490xd5b024…efd612 tx67/1007 conf3s ago#95,151,7480x219124…e84911 tx82/1001 conf3s ago#95,151,7470xbad8bb…ea4216 tx75/1009 conf3s ago#95,151,7460x610164…3d787 tx86/1000 conf4s ago#95,151,7450x510e72…480810 tx70/1003 conf4s ago#95,151,7440x3712d9…1dfc10 tx80/1001 conf4s 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.