> ## Documentation Index
> Fetch the complete documentation index at: https://paralens.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# pipeline_stats — Transaction Analysis Depth Metrics

> pipeline_stats reports how much structure the ParaLens engine reconstructed — trace frames, log entries, graph nodes, and structural scopes analyzed.

`pipeline_stats` reports how much structure the ParaLens engine reconstructed from the transaction trace. This is primarily useful for advanced users, researchers, and debugging — it is safe to ignore in most consumer UIs.

## Example

```json theme={null}
{
  "economic_movements": 61,
  "non_economic_movements": 0,
  "frames": 150,
  "logs": 57,
  "tvfg_nodes": 21,
  "tvfg_edges": 61,
  "scopes": 58,
  "primitives": 24
}
```

## Fields

<ResponseField name="economic_movements" type="number" required>
  Count of normalized value movements reconstructed from the trace. Each entry represents a discrete transfer of economic value between addresses.
</ResponseField>

<ResponseField name="non_economic_movements" type="number" required>
  Count of non-value actions observed — approvals, event emissions, and other non-economic state changes that were processed but did not contribute directly to value flow.
</ResponseField>

<ResponseField name="frames" type="number" required>
  Number of execution trace call frames inspected. Reflects the depth and breadth of the on-chain call graph walked during analysis.
</ResponseField>

<ResponseField name="logs" type="number" required>
  Number of log entries (EVM events) inspected during reconstruction.
</ResponseField>

<ResponseField name="tvfg_nodes" type="number" required>
  Number of nodes in the Token-Value Flow Graph (TVFG) — each node represents a unique address involved in value flow.
</ResponseField>

<ResponseField name="tvfg_edges" type="number" required>
  Number of directed edges in the Token-Value Flow Graph — each edge represents a value movement between two addresses.
</ResponseField>

<ResponseField name="scopes" type="number" required>
  Number of structural scopes discovered. Scopes are coherent sub-units of the trace, analogous to logical sub-transactions within the overall call tree.
</ResponseField>

<ResponseField name="primitives" type="number" required>
  Number of structural primitives discovered. Primitives are the lowest-level recognized patterns from which motifs and higher-order classifications are assembled.
</ResponseField>

## Interpreting the values

Use the following heuristics when inspecting `pipeline_stats` for research or debugging purposes:

| Signal                                     | Interpretation                                                                                |
| ------------------------------------------ | --------------------------------------------------------------------------------------------- |
| High `frames`                              | Deeply nested call chains — typical of aggregators, multi-step DeFi, or complex MEV sequences |
| High `tvfg_edges` relative to `tvfg_nodes` | Many cross-address value flows — common in MEV, arbitrage, and flashloan transactions         |
| High `scopes` + `primitives`               | Complex protocol interactions involving many distinct structural sub-units                    |
| `non_economic_movements` near zero         | Transaction is primarily value-flow driven with few approval or event side effects            |

## Usage guidance

<Tip>
  Hide `pipeline_stats` in consumer-facing UIs. Surface it in analytics tools, analyst dashboards, or debug views where understanding engine reconstruction depth adds value.
</Tip>

* **Consumer UIs** — omit this field entirely. It provides no actionable information for end users interpreting a transaction.
* **Analytics and research** — use `frames`, `tvfg_nodes`, and `tvfg_edges` as complexity proxies when bucketing or filtering transactions by structural complexity.
* **Debugging** — if a `TxReport` produces unexpected classifications, inspect `pipeline_stats` to confirm the engine successfully reconstructed the expected number of scopes and primitives.
