Live Probe

awaiting first sweep…
0 50 100 200 400+
ms
latency · idle
min
avg
max

Recent probes

No data yet. Press Start streaming.
Globe · drag to rotate · scroll to zoom
🤖 0 ORACLE NODES
🎯 0 VISITORS
🔥 0 FIRESTICKS
Round-trip latency
0 ms100200400+

Global latency mesh · every measured path

🤖 → exchange · 🤖 → 🤖 · 🎯 → exchange · 🎯 → 🤖. Rows are origins (oracles + visitors), columns are targets. Cells coloured by RTT (green < 100 ms, amber < 250 ms, red ≥ 250 ms, dash = unreachable / not measured).
🎯 → 🎯 and 🤖 → 🎯 are intentionally omitted — browsers behind NAT have no reachable inbound port, so those legs would require a TURN/signalling relay (future work). The 🎯 → 🤖 column lights up only when the 🤖 node has a publicly-reachable edge_pinger on 9876.

TWAP oracle arbitrage · multi-source price comparison

Pulls every available oracle TWAP in parallel — Pyth (hermes.pyth.network), Binance kline TWAP, Coinbase candle TWAP, DexScreener h1, CoinGecko 24h, and our own cross-venue TWAP (from SPREADS.duckdb venue_snaps) — and compares each against every other oracle PLUS the live consolidated best bid/ask PLUS the most recent actual trade prints from Binance + Coinbase. Surfaces every dislocation above a configurable bps threshold.
idle
Oracle TWAPs · live
Spot book + actual trades
Cross-source dislocations (sorted by bps)

Live order books · WebSocket · sub-second ticks

Persistent WebSocket subscriptions to Binance (100 ms depth20), Bybit (orderbook.50), OKX (books5), and Coinbase (level2 incremental) — books updated on the venue's own publish cadence, no REST polling. Aggregated across venues for the selected pair. The detector-stats strip below shows what fraction of candidate signals die at each gate (time-alignment, fee threshold, etc.) — the explicit "is this a real tradeable arb at wire speed?" check.
connecting…
Arb-detector classification · what survives the fee+alignment gates
TOTAL EVALUATED
PASS
STALE (alignment)
UNPROFITABLE (fee)
INVERTED
NO QUOTE
Consolidated · top-10 levels · sum across all venues
Per-venue · live ladder
Tick log · last 40 raw venue updates

HFT live paper-trade · 1s ticks · walking forward from $100,000

A live in-RAM order-book replay: every tick_seconds we take a fresh snapshot of all venues, compute intra-tick bid/ask and high/low across the rolling window, run find_arbs() with DOM-aware sizing (CEX ladder depth + AMM-curve capacity), apply round-trip taker fees, and book the net PnL straight to cash. No DuckDB on the hot path — the snapshot ring is pure RAM so the strategy tick lands in single-digit ms.
idle
Equity curve · live
Headline
EQUITY
PnL
RETURN
TRADES
TICK COUNT
FEED p95
ELAPSED
RING
IOC fill discipline · order-type=IOC · kill if spread < 50% of detected
FILLED
KILLED (in-flight)
FILL RATE
SIZING BASE
Recent trades
Engine is idle. Press Start or wait — this card auto-starts on page load.
Intra-tick stats (per pair · rolling 10-tick window)

Strategy · $10,000 allocation based on observed patterns

Live allocator: routes capital to the venues with the most persistent, contemporaneous (time-skew < 3 s) edges over the selected window. Updates with the snapshot history that the 15-second background scheduler writes to data/SPREADS.duckdb.
Allocation
Scheduler heartbeat
Capital-efficient playbook

    Effective fees · rolling 30-day volume tier

    Fees applied to every arb's net PnL come from the venue's fee schedule at the tier appropriate for cumulative 30-day filled USD. Cold-start = $0 = base tier. As the live engine writes fills via volume_tracker.record_fill(), volume rolls past each min_vol_usd threshold and the next-tier rate auto-applies.
    Mode:   

    Pattern lab · which arbs persist

    Per (pair, buy-venue, sell-venue) edges seen in the selected window — sorted by hit count. This is the same window that drives the allocator above.

    Cross-asset spreads · A/B ratio across venues

    Implied cross rates (midA / midB) on each venue that quotes both. Sorted by spread between cheapest and richest venue. Snapshot is fresh on every refresh.

    Synchronized snapshot · same-tick price + ping

    One coordinated pull spanning up to top-50 exchanges per CoinGecko ranking: LIVE = direct REST depth on this machine, DEX = DexScreener pool TVL, CG = CoinGecko aggregated last-price + spread (synthetic bid/ask). All rows share the same snapshot id; each carries its venue-reported timestamp and a data-age vs snapshot centre, so cross-venue comparisons are explicit about how out-of-phase the two books are.
    no snapshot yet
    Same-tick arbitrage (sorted by spread; time-skew flagged)
    Per-venue alignment (every book, every venue, same tick)

    Arbitrage scan · CEX ↔ CEX ↔ DEX

    Live pull from public order-book endpoints + DexScreener pools. Capacity = max size before the spread closes (CEX side: walks real order-book depth; DEX side: constant-product against pool TVL). Each row also names the hosting region with the lowest worst-case RTT to both venues — your fastest information path to act on the arb.
    no snapshot yet
    Press Scan now to fetch live books.
    Bid · ask spreads by venue

    Fastest routes between parties · overview

    Every party pair (exchange↔exchange, exchange↔API, API↔API) ranked by the fastest provider-mediated round-trip time, or by how much that route saves vs the direct public-internet baseline. Click any row to load it into the route view.
    loading…

    Fastest party ↔ party route via hosting provider

    Three segments modeled: public last-mile from exchange A to nearest provider PoP, private backbone between provider PoPs (lower inflation factor), public last-mile to exchange B. Direct public internet shown as baseline.

    Beating fiber · transport-mode comparison

    For any two information points, compare every transport that can carry the signal — public fiber, hyperscaler backbone, dedicated dark fibre, submarine cable, HFT microwave, troposcatter, free-space laser, HF skywave, Starlink LEO + inter-sat laser, MEO/GEO satellite. Each medium has its own speed (c through air vs c·2/3 through fibre) and path inflation; the fastest option is the one that wins on distance × inflation / medium_speed.

    Modeled provider PoP → party RTT (ms)

    Public-internet last-mile only. Use the chips to filter by provider. Click a column header to point the globe at that PoP and probe from it. fastest PoP per row (▼) slowest PoP per row (▲)
    loading…