Skip to main content
ParaLens classifies MEV activity and reconstructs the full economic picture — realized profit, value flow graph, and structural proof — from a single transaction hash. Rather than manually tracing internal calls and decoding flash-loan callbacks, you POST the hash and get back a structured TxReport with the arbitrage type, a per-hop motif list, realized PnL, and the bot contract attribution.

MEV Intent Kinds

ParaLens distinguishes four MEV-specific classifications:

Realized PnL

economics.realized_pnl is populated for self-closing atomic flows — transactions where funds leave and return to the same subject within the same transaction, making it possible to compute a verifiable profit figure.
realized_pnl is not available when:
  • The transaction is not self-closing (e.g., a multi-block strategy).
  • USD pricing could not be resolved for one or more assets.
  • intent_kind is not an arbitrage or MEV type.
Always check realized_pnl.net_usd.available before rendering.
economics.inflow_usd is the gross received value — it is not profit. Use realized_pnl.net_usd for the actual profit figure when it is available.

Structural Proof via Motifs

motifs[] contains the atomic structural primitives that the engine matched when classifying the transaction. For MEV transactions, the most relevant motif kinds are: Group motifs by scope_id to reconstruct each logical sub-flow within a complex transaction, then filter by kind to count swap hops or confirm the closed-flow signature:

Actor Attribution

MEV bots frequently have classification.actor_matches_signer: false. The three attribution fields clarify the ownership chain: When researching a bot, operating_subject gives you the contract to trace across multiple transactions; authority_subject gives you the controlling wallet.

Pipeline Stats

pipeline_stats exposes internal engine metrics that reflect transaction complexity. High values indicate dense, multi-hop MEV transactions: A simple two-hop arbitrage might have tvfg_nodes: 8, tvfg_edges: 6. A complex sandwich attack or multi-pool arbitrage might show tvfg_nodes: 30+, tvfg_edges: 50+.

Example: Extracting Realized Profit and Motif Count

cURL

TypeScript