Skip to content

built Built. This is a decision record, not documentation.

What is still current: Nothing describes current behaviour: this is a frozen staging validation record. The mirror it accepts is live and documented in the data pipeline.

Landed: companion acceptance record for the mirror cutover (migration 054, v0.14.0)

Header updated 2026-09-14. The body below is frozen history. All plans.

Dune price mirror: staging evidence (2026-07-20) ​

Permanent audit record for the PR "feat: Dune price mirror + coherent market marks (drop DeFiLlama from the mark pipeline)". Companion to dune-price-mirror-plan.md (Phase D acceptance). This page is deliberately NOT in the docs navigation; it is a frozen record of the staging validation. Every figure below was produced on the staging DB after the shadow backfill, the token_basis parity swap, and the two guarded mark-repair runs.

Evidence summary ​

Phantom-wallet acceptance (corrected) ​

The original plan target of +0.05 ± 0.02 ETH assumed both wrapper legs sat at par at the entry block. That assumption was wrong. A block-precise Curve NG round-trip mid at entry block 25407156 shows weETH at −4.5bp (wstETH slightly rich), so the TRUE entered basis is ≈ 0.00 ETH, not +0.05. The repaired app path now reports −0.021 ETH through the app's own deriveLegEnteredBasis on the re-marked rows, each leg reconstructed within 0.9bp of the on-chain pools:

LegMirror-derived (bp)On-chain pool (bp)Divergence (bp)
weETH-3.96-4.490.53
wstETH-0.70-1.590.89

Corrected, falsifiable acceptance criterion: per-leg mark within ~1.5bp of block-precise pool truth. PASSED. The old -0.82 ETH disease is gone.

Market-depth modal markers (before -> after the token_basis swap) ​

Deepest 1-year discount marker on the wrapper depeg charts (client-rendered, verified in a real Chrome via CDP, not SSR grep):

TokenBefore (old feed)After (mirror)
wstETH worst-1y-2.08%-0.78%
weETH worst-1y-1.02%-0.81%

The old markers tagged DeFiLlama cross-vintage feed artifacts; the mirror markers track real dislocation.

On-chain spot-check (5 wrapper flow rows vs pool reads at their own blocks) ​

#TokenBlockMirror vs pool
1wstETH254071560.89bps
2weETH254339390.28bps
3wstETH254841211.82bps
4weETH255343250.41bps
5wstETH255632790.08bps

All five are within the "a random sample of wrapper flow rows re-verified within a few bps" acceptance criterion (row 3 at 1.82bps is the widest, still a few bps).

Repair idempotency ​

Phantom wallet: 61 flow rows and 263 snapshot rows were re-marked on the first --execute. A second --execute reports 0 rows to update: the isMaterialChange write-gate holds because the same stored (already-descaled) amount multiplied by the same standing mirror bar re-derives the identical value_market (sub-EPS_REL, no write). value_redemption was never touched.

syrupUSDT: corrupt Dune bars, excluded from the swap ​

The Dune hourly mirror for syrupUSDT carries corrupt USD bars over 2025-07 through 2025-10: stuck plateaus ranging $0.067 to $6.36 for a token that trades near $1. These drive the parity report's 298x step-noise blow-up and the 47,846bp max offset below; they are source-query ingestion artifacts, not real price. Decisions:

  • syrupUSDT is excluded from the token_basis swap (its shadow rows are deleted before the swap runs).
  • 997 corrupt bars were purged from the mirror under the same [0.8, 1.5]x sanity criterion used for share-rate cleaning.
  • The syrupUSDT share_rate series is clean (the redemption side is unaffected).

This class exposes a real gap: USD-book marks are a single quote and lack the same-bar numerator/denominator cancellation that protects the ETH and BTC books, so a stuck USD print is not self-cancelling. The ingest-guard design (a redemption-band check vs a stuck-price detector) is left as a decision for Fred (see the PR's Known limitations).

DeFiLlama one-print artifacts confirmed (old feed, flat in the mirror) ​

Two of the deepest old-series discounts are confirmed DeFiLlama single-print artifacts, flat in the mirror at the same bar:

  • sUSDe / USDe, 2026-02-02: the old series prints -210bps (USDe -210.35, sUSDe -208.65) at a single 6h bucket. The mirror reads roughly -9.5bps (USDe) / +2.3bps (sUSDe) at that bar. A one-print feed spike, not a peg break.
  • USDtb, 2025-11-16: the old series prints -38.90bps at a single bucket; the mirror reads +6.28bps (no dislocation). A one-print feed artifact.

Both match the previously-diagnosed token_basis noise floor (the 6h step at the i.i.d. noise floor).


Full parity report (verbatim) ​

token_basis parity: served vs Dune-mirror shadow ​

Generated 2026-07-20T04:49:39.955Z. Per token, over the window where both series exist. Values in basis points (bps) unless noted. No pass/fail threshold is applied; the numbers are for review.

Summary ​

TokenNumOld step-noiseNew step-noiseNew/OldSkipped 6h (old/new)Mean abs offsetMax abs offsetOld rowsNew rowsMatchedExtremes survived
sUSDeUSD10.079.670.9603/020.38218.131304146013040/5
sUSDSUSD3.863.090.8015/05.1351.641298146012981/5
syrupUSDCUSD5.087.431.46471/05.50141.761372146013725/5
syrupUSDTUSD7.202147.96298.3243/11374.5447846.531173116111585/5
reUSDUSD25.099.150.3656/019.62636.631429146014295/5
wstETHETH19.753.360.1700/07.41191.931460146014605/5
weETHETH12.784.170.3260/05.2284.161460146014605/5
rETHETH15.945.310.3330/07.1080.431460146014605/5
osETHETH65.3065.331.0005/030.871732.551449146014495/5
ezETHETH11.857.860.6642/06.07110.431454146014545/5
GHOUSD3.233.110.9630/04.4222.781460146014605/5
USDeUSD9.422.260.2400/04.84202.921460146014605/5
USDtbUSD11.424.650.4071/05.60212.481459146014592/5
WBTCBTC15.093.940.2610/08.3250.061460146014605/5
cbBTCBTC9.782.670.2730/04.7867.721460146014604/5
USDCUSD0.740.710.9570/00.993.369898985/5
USDTUSD1.301.210.9320/00.702.979898985/5
DAIUSDn/an/an/a0/0n/an/a0000/0

Step-noise is the population stddev of basis deltas between snapshots EXACTLY 6h apart; wider gaps (daily pre-2025 history, refresher outages) are skipped and counted ("Skipped 6h").

Per-token discount extremes ​

Survives = the shadow series shows a same-sign (discount, basis < 0) point within ±1 snapshot (6h) of the old extreme. A non-survivor is an old-feed artifact CANDIDATE (surfaced, not a verdict).

sUSDe (USD) ​

Overlap 2025-07-20T06:00:00.000Z .. 2026-07-20T00:00:00.000Z; old rows 2597 (overlap 1304), new rows 1460 (overlap 1460), matched 1304.

Top-5 deepest old-series discounts:

#TimestampOld basisNew nearbySurvives
12026-02-02T00:00:00.000Z-208.652.34NO
22026-01-31T18:00:00.000Z-83.0010.70NO
32026-02-01T12:00:00.000Z-77.349.79NO
42026-02-01T06:00:00.000Z-45.3710.09NO
52026-02-05T00:00:00.000Z-31.225.52NO

sUSDS (USD) ​

Overlap 2025-07-20T06:00:00.000Z .. 2026-07-20T00:00:00.000Z; old rows 1404 (overlap 1298), new rows 1460 (overlap 1460), matched 1298.

Top-5 deepest old-series discounts:

#TimestampOld basisNew nearbySurvives
12025-10-11T00:00:00.000Z-46.740.59NO
22026-03-24T12:00:00.000Z-39.93-1.06yes
32026-02-05T12:00:00.000Z-22.593.18NO
42025-10-16T00:00:00.000Z-20.661.15NO
52026-02-23T18:00:00.000Z-18.673.59NO

syrupUSDC (USD) ​

Overlap 2025-07-20T06:00:00.000Z .. 2026-07-20T00:00:00.000Z; old rows 2258 (overlap 1372), new rows 1460 (overlap 1460), matched 1372.

Top-5 deepest old-series discounts:

#TimestampOld basisNew nearbySurvives
12025-09-01T18:00:00.000Z-30.37-8.17yes
22025-12-11T00:00:00.000Z-12.29-6.48yes
32025-12-11T06:00:00.000Z-11.78-7.69yes
42026-05-29T12:00:00.000Z-5.29-7.55yes
52026-02-01T00:00:00.000Z-4.93-7.19yes

syrupUSDT (USD) ​

Overlap 2025-09-29T06:00:00.000Z .. 2026-07-20T00:00:00.000Z; old rows 1173 (overlap 1173), new rows 1350 (overlap 1161), matched 1158.

Top-5 deepest old-series discounts:

#TimestampOld basisNew nearbySurvives
12026-06-28T00:00:00.000Z-33.81-17.03yes
22026-06-25T06:00:00.000Z-33.57-34.34yes
32026-01-30T00:00:00.000Z-32.94-27.45yes
42026-06-30T12:00:00.000Z-32.42-31.42yes
52026-01-29T12:00:00.000Z-32.17-27.45yes

reUSD (USD) ​

Overlap 2025-07-20T06:00:00.000Z .. 2026-07-20T00:00:00.000Z; old rows 1512 (overlap 1429), new rows 1460 (overlap 1460), matched 1429.

Top-5 deepest old-series discounts:

#TimestampOld basisNew nearbySurvives
12025-08-21T06:00:00.000Z-647.63-11.00yes
22025-08-21T18:00:00.000Z-487.43-11.00yes
32025-08-21T12:00:00.000Z-367.42-11.00yes
42025-08-22T00:00:00.000Z-315.85-3.48yes
52025-08-22T06:00:00.000Z-307.50-3.48yes

wstETH (ETH) ​

Overlap 2025-07-20T06:00:00.000Z .. 2026-07-20T00:00:00.000Z; old rows 3717 (overlap 1460), new rows 1460 (overlap 1460), matched 1460.

Top-5 deepest old-series discounts:

#TimestampOld basisNew nearbySurvives
12025-08-09T00:00:00.000Z-207.67-21.80yes
22025-08-29T18:00:00.000Z-157.90-28.48yes
32025-11-06T00:00:00.000Z-124.43-13.99yes
42026-04-21T06:00:00.000Z-113.19-78.16yes
52026-04-20T18:00:00.000Z-111.89-76.94yes

weETH (ETH) ​

Overlap 2025-07-20T06:00:00.000Z .. 2026-07-20T00:00:00.000Z; old rows 3513 (overlap 1460), new rows 1460 (overlap 1460), matched 1460.

Top-5 deepest old-series discounts:

#TimestampOld basisNew nearbySurvives
12026-04-20T18:00:00.000Z-101.86-77.07yes
22026-04-21T06:00:00.000Z-93.91-74.41yes
32026-04-19T06:00:00.000Z-83.63-80.87yes
42026-04-20T00:00:00.000Z-74.53-75.67yes
52026-04-20T12:00:00.000Z-74.05-77.07yes

rETH (ETH) ​

Overlap 2025-07-20T06:00:00.000Z .. 2026-07-20T00:00:00.000Z; old rows 3529 (overlap 1460), new rows 1460 (overlap 1460), matched 1460.

Top-5 deepest old-series discounts:

#TimestampOld basisNew nearbySurvives
12026-04-19T18:00:00.000Z-112.74-120.10yes
22025-08-21T00:00:00.000Z-107.34-55.14yes
32025-08-05T06:00:00.000Z-101.10-40.73yes
42026-04-20T18:00:00.000Z-99.75-58.92yes
52025-08-21T06:00:00.000Z-97.85-59.69yes

osETH (ETH) ​

Overlap 2025-07-20T06:00:00.000Z .. 2026-07-20T00:00:00.000Z; old rows 2227 (overlap 1449), new rows 1460 (overlap 1460), matched 1449.

Top-5 deepest old-series discounts:

#TimestampOld basisNew nearbySurvives
12026-05-04T18:00:00.000Z-597.25-87.23yes
22026-06-08T12:00:00.000Z-433.07-169.22yes
32025-12-09T00:00:00.000Z-376.00-333.11yes
42025-11-21T06:00:00.000Z-366.41-372.25yes
52025-12-08T18:00:00.000Z-362.92-333.11yes

ezETH (ETH) ​

Overlap 2025-07-20T06:00:00.000Z .. 2026-07-20T00:00:00.000Z; old rows 2241 (overlap 1454), new rows 1460 (overlap 1460), matched 1454.

Top-5 deepest old-series discounts:

#TimestampOld basisNew nearbySurvives
12026-04-21T00:00:00.000Z-115.56-114.51yes
22026-04-21T06:00:00.000Z-114.41-114.51yes
32026-04-22T00:00:00.000Z-108.47-129.51yes
42026-04-21T18:00:00.000Z-107.57-129.51yes
52026-04-22T06:00:00.000Z-104.34-128.02yes

GHO (USD) ​

Overlap 2025-07-20T06:00:00.000Z .. 2026-07-20T00:00:00.000Z; old rows 3701 (overlap 1460), new rows 1460 (overlap 1460), matched 1460.

Top-5 deepest old-series discounts:

#TimestampOld basisNew nearbySurvives
12026-01-06T18:00:00.000Z-24.72-5.71yes
22026-06-25T06:00:00.000Z-23.94-20.95yes
32026-06-29T06:00:00.000Z-23.49-23.20yes
42026-06-29T00:00:00.000Z-23.34-23.20yes
52026-06-28T00:00:00.000Z-23.33-26.09yes

USDe (USD) ​

Overlap 2025-07-20T06:00:00.000Z .. 2026-07-20T00:00:00.000Z; old rows 3715 (overlap 1460), new rows 1460 (overlap 1460), matched 1460.

Top-5 deepest old-series discounts:

#TimestampOld basisNew nearbySurvives
12026-02-02T00:00:00.000Z-210.35-9.54yes
22026-01-31T18:00:00.000Z-90.62-9.73yes
32026-02-01T12:00:00.000Z-71.98-6.70yes
42026-02-01T06:00:00.000Z-54.94-5.38yes
52026-02-05T00:00:00.000Z-40.36-15.72yes

USDtb (USD) ​

Overlap 2025-07-20T06:00:00.000Z .. 2026-07-20T00:00:00.000Z; old rows 1968 (overlap 1459), new rows 1460 (overlap 1460), matched 1459.

Top-5 deepest old-series discounts:

#TimestampOld basisNew nearbySurvives
12026-07-07T06:00:00.000Z-69.813.32NO
22025-11-16T18:00:00.000Z-38.906.28NO
32026-03-22T00:00:00.000Z-32.833.14NO
42025-11-15T00:00:00.000Z-29.46-2.30yes
52026-02-14T06:00:00.000Z-26.74-4.90yes

WBTC (BTC) ​

Overlap 2025-07-20T06:00:00.000Z .. 2026-07-20T00:00:00.000Z; old rows 3719 (overlap 1460), new rows 1460 (overlap 1460), matched 1460.

Top-5 deepest old-series discounts:

#TimestampOld basisNew nearbySurvives
12026-01-31T18:00:00.000Z-60.50-32.95yes
22026-05-05T12:00:00.000Z-59.28-33.97yes
32025-12-17T18:00:00.000Z-56.49-24.32yes
42026-01-28T18:00:00.000Z-55.45-24.11yes
52026-03-07T06:00:00.000Z-52.54-26.74yes

cbBTC (BTC) ​

Overlap 2025-07-20T06:00:00.000Z .. 2026-07-20T00:00:00.000Z; old rows 2700 (overlap 1460), new rows 1460 (overlap 1460), matched 1460.

Top-5 deepest old-series discounts:

#TimestampOld basisNew nearbySurvives
12025-10-13T18:00:00.000Z-42.340.20NO
22025-11-14T12:00:00.000Z-35.66-0.04yes
32026-02-28T18:00:00.000Z-30.92-2.82yes
42025-11-24T18:00:00.000Z-28.01-1.76yes
52026-02-23T18:00:00.000Z-27.24-2.61yes

USDC (USD) ​

Overlap 2026-06-25T18:00:00.000Z .. 2026-07-20T00:00:00.000Z; old rows 98 (overlap 98), new rows 1460 (overlap 98), matched 98.

Top-5 deepest old-series discounts:

#TimestampOld basisNew nearbySurvives
12026-06-30T06:00:00.000Z-4.48-2.65yes
22026-07-01T06:00:00.000Z-4.41-2.16yes
32026-06-30T12:00:00.000Z-4.25-2.65yes
42026-06-30T00:00:00.000Z-4.05-2.83yes
52026-06-29T18:00:00.000Z-3.76-2.83yes

USDT (USD) ​

Overlap 2026-06-25T18:00:00.000Z .. 2026-07-20T00:00:00.000Z; old rows 98 (overlap 98), new rows 1460 (overlap 98), matched 98.

Top-5 deepest old-series discounts:

#TimestampOld basisNew nearbySurvives
12026-06-30T12:00:00.000Z-16.80-15.66yes
22026-06-29T06:00:00.000Z-16.59-15.53yes
32026-06-30T06:00:00.000Z-16.46-15.66yes
42026-07-01T06:00:00.000Z-15.87-15.07yes
52026-07-01T00:00:00.000Z-15.72-15.14yes

DAI (USD) ​

No overlap window (old rows 0, new rows 1460).

Private documentation. creddit.xyz