Cross-venue, long-short event trade. TRADED legs: ADAUSDT.OKX, AVAXUSDT.OKX, LINKUSDT.OKX, SOLUSDT.OKX (OKX USDT perpetual swaps, 4H bars, history 2020-03 to 2021-01 onward). SIGNAL legs: the same coins on Binance SPOT (ADAUSDT/AVAXUSDT/LINKUSDT/SOLUSDT.BINANCE_SPOT, 4H bars), which are never traded. Idea: a large move that is carried by spot buying or selling is unlevered demand or supply, i.e. holders adding or dumping inventory. It tends to keep going, because spot flow is slower and more persistent than levered perp flow. A move of the same size carried mostly by perp volume is often leverage churn that unwinds. We measure who drove the bar with the log ratio of Binance spot base volume to OKX perp base volume (both base-unit, so the units cancel), z-scored against its own trailing 180-bar (30-day) distribution. This removes structural venue-share drift. We trade only the spot-led half of the shocks and in their direction. Per coin: shock = |log return of the 4H OKX close| / trailing 180-bar std of 4H returns >= shock_sigma. Spot-led = spot share z >= spot_share_z. Enter in the direction of the shock bar at the next bar, hold a fixed hold_bars (default 12 = 48h), with a protective ATR stop. Each coin has an independent slot; position = 15% of equity per coin, at most 4 concurrent (60% gross), 1x, no leverage. Flat roughly 85-90% of the time. No supplementary feed is needed (L189). Venue choice: OKX is 2.2% of experiments and cross-venue is 7.4%, both under quota, and long-short is 17.4%. BTC/ETH are deliberately excluded (over-concentrated). These four are the OKX swaps with 5+ years of history in the local catalog (DOGE/XRP OKX history is only days). Distinct from the abandoned 'Perp-Led Selloff Absorption' (which used premium index, Binance USD-M only, long-only fade) and from same-coin cross-venue dislocation arb (fee-dead): here the second venue is used only for information, so the trade has one leg per position and pays a single ~0.10% round trip. Prior evidence: the price-shock/volume-confirmation family has survivors in live_stage (LINK Bybit shock absorption, ETH Bybit thrust continuation). This adds a participant-composition filter rather than another volume threshold.