Observatory · methodology

How the numbers are made.

The Observatory inherits Archon's nothing-fake rule: every figure traces to real Mantle receipts, and sample sizes are always shown.

Sampling

A repeatable worker pulls a recent Mantle block (with a small finality margin), selects transactions that carry calldata, and stratifies the selection across the block so the sample is not biased toward the front. For each transaction it reads the receipt's l1Fee — the data-availability fee the chain actually charged — and computes the calldata byte profile (zero vs nonzero bytes). The block's baseFeePerGas is recorded as the L2 base fee.

Each cycle runs under a hard per-day RPC budget with backpressure: when the budget is reached the cycle stops and logs, never piling up. Per-cycle call counts are logged.

The oracle comparison

For each sampled transaction the worker also calls the legacy GasPriceOracle.getL1Fee predeploy with the same calldata, best-effort, and stores the prediction alongside the charged fee. The tracker chart plots receipt fee versus oracle prediction per byte. Where the oracle call is unavailable at the node, the prediction is stored as null and excluded (the sample count reflects this). The two verified reference transactions from ADR 0007 anchor the chart when live oracle samples are still thin.

One caveat, stated plainly: the oracle is queried with the transaction's calldata payload (not the full RLP-serialized transaction), so the absolute prediction is approximate; the order-of-magnitude divergence it reveals — the chain charges thousands of times more than the oracle predicts — is robust and matches ADR 0007.

Calibration

The same receipt store calibrates a DA model by a two-variable least-squares fit of fee ≈ zeroByteFee·z + nonZeroByteFee·n over the trailing samples (zero and nonzero calldata bytes are priced differently, so a single flat rate misfits). The model is version-stamped and its mean and maximum validation error against the samples are published on the Observatory. Residual error reflects genuine L1 fee-regime variation across the sampling window, not hidden fudging.

The Observatory is the network-wide view; Archon's gas engine keeps its own exact two-receipt solve for per-report pricing until the windowed model matches its accuracy.

Labeling

  • DA cost per byte / receipt fees are measured — read directly from receipts.
  • Typical-transaction cost cards are estimates: representative calldata byte counts × the current DA rate, plus L2 execution at the current base fee. Marked as estimates.
  • Fee-regime changes: Mantle upgrades can shift the fee model; the model is version-stamped and recalibrated continuously.

Use the data

The full snapshot is public JSON at /api/observatory, and the oracle-vs-receipt chart is iframe-embeddable at /embed/observatory/oracle. Attribution to archonaudit.xyz/observatory is appreciated.