pev.Parallel Execution Visualizer
offline
by Silk Nodes →
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:
0x065c9d…c394190 conf0x34b655…2a6f131 conf0x8d66a4…309564 conf
Latest analyzed block
#70,846,0947 txs · 0x757c0e8e…d27437
Parallelism
86/100
Blocked
0%
Waves
1
Conflicts
0
Clean, every transaction ran independently in 1 wave.
click to inspect →
Auditing your own contract? Paste its address in the search above to see its parallelism profile.
Recent activity
connecting
#70,846,0930xf459e6…2b426 tx83/1000 conf6s ago#70,846,0920x620442…414a6 tx67/1001 conf6s ago#70,846,0910xc896e5…bce86 tx83/1000 conf6s ago#70,846,0900x589b5e…7af17 tx86/1000 conf7s ago#70,846,0890xea868d…65ab4 tx75/1000 conf7s ago#70,846,0880x715506…5ab07 tx57/1003 conf8s ago#70,846,0870x63bf50…35aa6 tx83/1000 conf8s ago#70,846,0860x387f65…433f5 tx80/1000 conf8s ago#70,846,0850xcbadfb…d8327 tx86/1000 conf9s ago
Three principles
01
Clarity before aesthetics.
The design defers to the data. Decoration exists only where it helps a developer see cause and effect faster.
02
Causality over summary.
A dashboard shows what is. pev shows what caused what. The brand should feel investigative, not reportorial.
03
Technical, but literate.
Monospace for the truth, hashes, slots, gas. Serif for the voice. Sans for the interface. A three-voice system that stays distinct.
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.
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.