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

# Ponder benchmarks and validation

> Review the published Ponder and Portal benchmark results, test conditions, and correctness evidence.

The portal-ponder repository publishes two full-history benchmark results.

| Workload                  | Result                                                                   |
| ------------------------- | ------------------------------------------------------------------------ |
| Euler V2 on Ethereum      | Portal: **1,819 s**; stock Ponder over RPC: **6,543 s**; **3.6x faster** |
| Euler V2 across 15 chains | **28,405,932 events in 51m 47s**                                         |

## Single-chain comparison

The Ethereum comparison covered blocks `20,529,207` through `25,436,954` on the same host and store backend. The Portal run and the stock RPC run were measured one after the other. Both spent most of their time fetching data, and the stock RPC run made 576,207 metered JSON-RPC requests.

This was one comparison, not an average across repeated runs. The ratio reflects the Portal dataset and metered RPC endpoint used for the test. See the repository's [benchmark report](https://github.com/subsquid-labs/portal-ponder/blob/main/harness/bench/BENCHMARKS.md#full-history-backfill--single-chain-36-f-full-flagship-cell) for the full conditions.

## Multichain run

The 15-chain run used:

* a 16 GB memory limit and a 2-core CPU quota, with about one core of actual indexer work
* a separate Postgres 16 database
* dedicated Portal capacity
* a fixed finalized head and local snapshots for the 90 startup RPC responses

The Ponder process made zero external RPC calls. Its only remote data source was Portal. See the [multichain report](https://github.com/subsquid-labs/portal-ponder/blob/main/harness/euler-multichain/REPORT.md) for the chain list, filters, resource limits, and saved run outputs.

## Correctness evidence

The repository validates the Portal path at several levels:

* The full-history Ethereum validation cell compares Portal and stock RPC sync-store rows for logs, transactions, receipts, traces, and blocks.
* The 15-chain run matched its frozen reference on all **62 complete-range aggregate cells**, including per-chain log counts and ranges plus whole-store block and transaction totals. This is aggregate parity, not a row-by-row comparison of the entire 15-chain store.
* Kill-and-resume tests compare an interrupted backfill with an uninterrupted baseline.
* Source-specific validation cells cover receipts, traces, dataset column gaps, and failure behavior across multiple EVM networks.

The validation matrix is still active. Some cells remain pending or are blocked by dataset capabilities, and the Portal-native realtime path remains experimental. Read [`VALIDATION.md`](https://github.com/subsquid-labs/portal-ponder/blob/main/VALIDATION.md) for the current status before applying a result to another network, range, source type, or package version.

<Info>
  The package tracks active Ponder development. Treat the repository reports as the source of truth when a new release changes the tested version or implementation.
</Info>
