methodology · s7 ava
adaptive venue arbitrage
on prediction markets.
S7 trades binary outcome markets — Polymarket (Polygon CLOB, USDC-settled, EIP-712 signed) and Kalshi (CFTC-regulated event exchange, USD-settled, RSA-PSS signed). Five distinct engines harvest five different edges. Positions resolve when the event resolves, not on a continuous price exit — so the gate is inventory-aware and cycles are weekly.
taxonomy note
S1-S6 use the TRND / BRK / MR / SWP engine taxonomy — trend, breakout, mean-reversion, sweep — on continuous OHLCV markets. S7 uses E1 / E2 / E3 / E4 / E5 — latency, market-making, cross-venue, intra-market, news-NLP — on binary outcome markets. The taxonomies are not interchangeable. A trade tagged engine=MR on a S1-S6 page is not the same kind of object as a trade tagged engine=E2 on an S7 page.
signal flow
┌──────────────────────────┐ ┌─────────────────────────┐
│ Polymarket CLOB │ │ Kalshi event exchange │
│ (Polygon · EIP-712) │ │ (CFTC · RSA-PSS) │
└────────────┬─────────────┘ └────────────┬────────────┘
│ │
└───────────────┬───────────────┘
▼
┌──────────────────────────────┐
│ q7_s7 venue adapters │
│ (SS-01 in spec) │
└──────────────┬───────────────┘
▼
┌──────────────────────────────────────┐
│ fair-value + signal layer │
│ │
│ E1 LAT_ARB · CLOB delta watcher │
│ E2 MM_REBATE · 2-sided quotes │
│ E3 X_VENUE · cross-venue arb │
│ E4 INTRA · YES + NO != 1.00 │
│ E5 NEWS_NLP · sentiment fair value │
└──────────────┬───────────────────────┘
▼
┌──────────────────────────────┐
│ Kelly sizing + risk caps │
│ (SS-03) │
└──────────────┬───────────────┘
▼
┌──────────────────────────────┐
│ orchestrator → canon-api │
│ → broker adapter execution │
└──────────────────────────────┘
five engines · one paragraph each
E1 · Latency Arbitrage
E1 watches the Polymarket Polygon CLOB for incoming order events and acts on price-improving fills before slower participants can react. Targets micro-edges in 5M and 15M crypto-binary markets. Live RX01.
E2 · Market-Making Rebate Harvest
E2 posts continuous YES/NO quotes inside the spread on Polymarket and Kalshi, harvesting maker rebates while managing inventory to resolution. The flagship allocator under live conditions. SD-06 FATAL on RX01's SyntheticMarketProvider — no order acks → engine cannot validate fills.
E3 · Cross-Venue Divergence
E3 holds long+short across linked markets on Polymarket and Kalshi when their implied probabilities diverge beyond a fee-adjusted threshold. Used for C14 (US_ELECTION) and C16 (NFL_GAME). Held on RX01 pending market_pairs.json correspondence map.
E4 · Intra-Market YES/NO Dislocation
E4 acts when a single market's YES + NO mid prices sum to materially less or more than $1.00 (after fees). Pays when one outcome's market is stale relative to the other. SD-06 FATAL on RX01's SyntheticMarketProvider — no symmetric YES/NO data path.
E5 · News-Sentiment Fair Value
E5 maintains a fair-value estimate for event markets using a news-sentiment stream and trades against the market when implied probability disagrees materially. RX01 runs on a SYNTHETIC sentiment generator — engine code-paths exercise but params carry the SYNTHETIC_SENTIMENT_RX01 suffix; live trading not authorized.
at a glance
Latency Arbitrage
Market-Making Rebate Harvest
Cross-Venue Divergence
Intra-Market YES/NO Dislocation
News-Sentiment Fair Value
defect-code reference
S7 has its own defect-scan codes (SD-06 + SD-11 through SD-15) layered on top of the universal codes. The gate shape is unique — inventory and signature-reject ceilings are not present in S1-S6.
Engine cannot validate fills on the current data source. RX01 SyntheticMarketProvider returns no order acks → E2 (MM_REBATE) and E4 (INTRA_ARB) fail this check by design. NOT a failure of the engine code — a property of the synthetic environment.
Position flipped between YES and NO outcomes more than the churn threshold in 24h on a single market. Flags noise-driven over-trading.
Venue rejected a signed order without surfacing a meaningful error. Catches degraded EIP-712 / RSA-PSS pipelines before they bleed Kelly-sized capital.
Open inventory at market resolution exceeded the weekly cap (default 5%). Binary outcomes resolve to 0 or 1 — uncovered inventory is the structural risk unique to prediction markets.
Cumulative fees consumed more of gross profit than the cap (default 30%). Polymarket maker rebate and Kalshi maker tier are load-bearing — overrun indicates a mis-tuned spread.
Sizing logic attempted to exceed the per-engine Kelly cap. Defended by the sizing layer; logged for audit so we can see when an engine wanted to bet bigger than its sizing rule allows.