Cardboard Monitor
connecting… slot — source check — read-only
— —
—
—
crank seq—
mark age—
feeder vs market—
fresh sources—
Feeder is the published perp mark: the oracle's trust-weighted median of 5 on-chain AMM sources, cranked ~1×/s. Market is this monitor computing that same median every slot; the gap is publish lag.

Live price by slot — feeder vs market

feeder — market — ▲/▼ paper entry ●win ●loss exit

Paper-trade POC latency-arb off the gap · read-only sim 10×100×1000×

simulating from the gap…
direntry → exitheldidealreal
waiting for gap windows…
Opens the way the mark should move to close the gap, fills at the stale mark, and holds until the feeder publishes its next mark (however many slots that takes), exiting at that new mark. Both columns pay Cardboard's real fees: the 0.5 bp round-trip fee on notional (5% of margin at 1000×, win or loss), the 0.2 bp win deadband and the 2% win fee. Ideal = perfect fill; Real = fill one slot late + path-aware liquidation (bust at 1e4/lev − 5 bps). Wins shown at full notional (best case). Places no orders.

Per-slot gap feeder vs market lagging only

— in sync
slotfeedermarketgap bps
waiting for slots…
Each row is one slot: the published feeder mark vs the market (live recompute of the source median), and their gap. lagging only hides in-sync slots and keeps each lag plus the ● caught up slot where the crank landed.

Stale windows & anomalies 0

no stale windows or spikes detected
STALE = the feeder lagged the market by ≥1 bps until the crank caught up. SPIKE/SANDWICH = a crank mid that jumps >8 bps off neighbours and snaps back, with a matching trade. Exposure is the mispricing at 1000× (severity, not a signal).