Price Cross

One asset quoted from three venues — CoinGecko spot, the Hyperliquid perp mid, and the Uniswap v3 WETH/USDC pool mid on Base (computed from the pool's own slot0 tick, verified on-chain) — with a deviation flag on any pair diverging more than 50 bps. Computed per call; nothing here is trusted from a single source.

Method. Three keyless public reads per call. The Uniswap mid is computed, not quoted: with token0 = WETH (18-dec base) and token1 = USDC (6-dec quote), pool raw price = 1.0001tick, so USD / ETH = 1.0001tick × 1012; it is cross-checked against the pool's own sqrtPriceX96 word within 0.5% (a word-index or sign-decode bug would fail that). The pool is verified on-chain before its price is used: factory.getPool(WETH, USDC, 3000) round-trip, token0/token1 == {WETH, USDC}, fee() == 3000, factory() == the pinned Uniswap v3 Base factory, liquidity() > 0. Pair deviation bps = |a−b| / mean(a,b) × 10000 (exact Decimal, 0.01), flagged when > 50.00 strict — a 50.00 bps divergence is not a flag. The tool flags divergence; it does not reject larger divergences. Replay is byte-deterministic off the pinned transcript; check_cross.py --self-test re-derives every value with its own naive loops (11/11 bars incl. 4 poisoned cases).