The central verified finding (2026-06-01): under the same leakage-clean purged + embargoed walk-forward as purged-backtest-gate-no-edge — now extended with a backtest --xref co-occurrence mode and run on EVENT markets only — the cross-reference / “≥K top traders agree” consensus thesis is REJECTED, but copying the cohort’s fresh first entries has a real edge. Independently verified twice; negative control ≈0 across all cells (max |ROI| 1.31% within ±2%). The goal (copy skilled/insider traders) is VALIDATED; it’s the cross-reference mechanism that failed.

For Agents

Purged + embargoed walk-forward, EVENT markets only (updown excluded), 3 disjoint 15-day folds, 200 bps slippage. Negative control ≈0 across all cells (max |ROI| 1.31% within ±2% → leakage-clean). Pooled ROI by --xref arm:

armpooled ROIfoldsfiresnote
xref-K1 (copy the FIRST cohort BUY per event-market outcome)+7.59%+6.7% / +9.4% / +8.4% (positive in ALL 3)34,957best
xref-K2+5.3% to +6.6% (window-dependent)WORSE than K1
xref-K3~−0.4% to −3.9%worse
xref-K4noise~50too few fires
event-only all-watched+2.39%baseline
event-only random+0.93%baseline

Monotonic: more agreement (higher K) → WORSE ROI. Tighter co-occurrence window does NOT help. K1 (+7.59%) crushes random (+0.93%). BUT +7.59% is an UPPER BOUND — measured at the cohort’s own trade price with flat 200bps slippage; tradeability is UNPROVEN until validated at the real ask price at detection + detection latency.

Verdict — consensus is structurally LATE; the first mover is the well-priced entry

Requiring K top traders to agree before copying is structurally late. By the time K of them have all bought, the price has already moved — so you copy at a worse entry. The first informed entry is the well-priced one; subsequent agreement is just the market catching up to the first mover. This is why the curve is monotonic in the wrong direction: every additional wallet you wait for is later, hence pricier, hence lower ROI.

  • xref-K1 (act on the first cohort BUY per event-market outcome) = +7.59% pooled, positive in all 3 folds (+6.7% / +9.4% / +8.4%), 34,957 fires.
  • xref-K2 = +5.3% to +6.6% (window-dependent) — strictly worse than K1.
  • xref-K3 = ~−0.4% to −3.9% — worse still.
  • xref-K4 = noise (only ~50 fires; not enough signal).

So speed/earliness beats agreement. There is no K ≥ 2 at which consensus pays for the entry-price it costs you.

The goal is VALIDATED — only the mechanism failed

The project goal — copy skilled / insider traders — is vindicated: copying the cohort’s fresh first entries beats the indiscriminate baselines decisively (+7.59% vs +0.93% random, +2.39% all-watched). What failed is the cross-reference / quorum mechanism — the specific idea that requiring multiple top traders to agree improves selection. It does the opposite.

This is the answer to the open question best-consensus-algo-design posed and purged-backtest-gate-no-edge set the bar for. The “best consensus algo” outcome is: no consensus gate — copy the first mover, fast. The elaborate skill-weighted log-opinion-pool over independent agreeing wallets is solving the wrong problem; agreement itself is the late signal.

Binding caveat — +7.59% is an UPPER BOUND, tradeability UNPROVEN

K1's edge IS the early entry price — the hardest to actually fill

The +7.59% is measured at the cohort’s own trade price with a flat 200bps slippage charge. K1’s entire edge is the early, well-priced entry. But that early price is precisely the one a copier cannot reliably get: the cohort’s informed buy moves the price before a copier can act. So the measured +7.59% is an UPPER BOUND, not an achievable return.

Tradeability is UNPROVEN until re-measured under realistic execution: the real ask price at detection plus detection latency. This is the same upper-bound discipline as purged-backtest-gate-no-edge (baselines use last-trade price as a mid proxy) — trust the relative ordering (K1 > K2 > K3, K1 ≫ random), not the absolute magnitude as a live P&L.

The copy lane already captures exactly what's needed to validate this

The on-chain copy-trade-lane already records, per copy: cohort_price (the cohort’s fill price), detect_latency_ms (how late we saw it), and up_mid_30s_ago / up_mid_60s_ago (the book a copier could actually have hit). Those columns exist to answer exactly the K1 tradeability question — how much of the +7.59% survives when you enter at the real ask at detection rather than the cohort’s own price.

Product implication — vindicates the fresh single-wallet copy lane; refutes adding a quorum gate

This is a direct, factual mandate for the existing copy-trade-lane:

  • VINDICATES the lane’s core design — copy on any one cohort fill, fast (it already fires on a single wallet’s OrderFilled, not on agreement). K1 is that design, and K1 is the winning arm.
  • REFUTES adding a consensus / quorum gate to it (e.g. “only copy when ≥2 cohort wallets are in”). Every step up in K lowers ROI; a quorum gate would make the lane strictly worse by delaying entry.
  • The lane’s emphasis on on-chain ~1–3s detection (vs the Data API’s ~5-min lag) is the right priority for the same reason: the edge lives in earliness, so detection latency is the whole game.

So the “best consensus algo” question resolves to: there is no consensus gate. Be the fast first-mover copier, and prove out how much of K1’s upper-bound edge is fillable under real execution.

Implementation status

A backtest --xref mode now exists (all uncommitted, working tree):

  • crates/polymarket-fetch/src/backtest.rsdetect_xref_copies (the co-occurrence detector: first/Kth cohort BUY per event-market outcome within a window) + the xref strategy arms (K1..K4).
  • crates/polymarket-fetch/src/cli.rs--xref flag.
  • crates/polymarket-fetch/src/output.rsrender_xref (per-arm pooled + per-fold ROI table).
  • TDD on the co-occurrence detector — the first/Kth-BUY-per-outcome logic is test-covered.

Runs on the same purged + embargoed harness and covering index (idx_pm_pos_condition_enddate) established in purged-backtest-gate-no-edge.

Verified facts

factvalue / location
harnesspurged + embargoed walk-forward; EVENT markets only (updown excluded); 3 disjoint 15-day folds; 200 bps slippage
negative control≈0 across all cells (max |ROI| 1.31% within ±2%) → leakage-clean
xref-K1 (copy first cohort BUY / event-market outcome)+7.59% pooled; +6.7% / +9.4% / +8.4% (all 3 folds positive); 34,957 fires
xref-K2+5.3% to +6.6% (window-dependent) — worse than K1
xref-K3~−0.4% to −3.9% — worse
xref-K4noise (~50 fires)
event-only all-watched+2.39%
event-only random+0.93%
shapemonotonic: more agreement (higher K) → worse ROI; tighter window doesn’t help
interpretationconsensus is structurally LATE; first informed entry is well-priced, agreement = market catching up
goal statusVALIDATED — copy skilled traders’ fresh first entries beats baselines (+7.59% vs +0.93%); the cross-reference MECHANISM failed
binding caveat+7.59% is an UPPER BOUND (cohort’s own price + flat 200bps); tradeability UNPROVEN until real ask at detection + detection latency
tradeability infracopy-trade-lane captures cohort_price, detect_latency_ms, up_mid_30s_ago, up_mid_60s_ago
product implicationvindicates fresh single-wallet copy (copy on one fill, fast); refutes a consensus/quorum gate
implementationbacktest.rs::detect_xref_copies + xref strategies; cli.rs --xref; output.rs::render_xref; TDD on the co-occurrence detector — uncommitted
  • best-consensus-algo-design — the Phase 2+ “skill-weighted log-opinion-pool over independent agreeing wallets” target this finding answers and largely refutes: agreement is the late signal, so the right algo has no consensus gate. The fancy aggregator solves the wrong problem; copy the first mover.
  • purged-backtest-gate-no-edge — the same leakage-clean purged + embargoed harness (negative control ≈0) and Phase 2 ship bar (beat random). This --xref run extends it (EVENT-only) and clears the bar by a wide margin: K1 +7.59% vs +0.93% random. Same upper-bound caveat (mid/own-price proxy → trust relative ordering).
  • consensus-validation-leakage — the leakage playbook this run satisfies (point-in-time signal, purged+embargoed CPCV, negative-control sentinel). The ≈0 negative control here is that sentinel passing.
  • copy-trade-lane — the on-chain fresh single-wallet copy lane this vindicates (copy on one fill, fast; refutes adding a quorum gate). It already records cohort_price / detect_latency_ms / up_mid_30s_ago / up_mid_60s_ago — the exact columns to validate K1’s tradeability under real execution.
  • polymarket-fetch — workspace, backtest.rs / cli.rs / output.rs modules, pm_trades / pm_positions schema, the backtest harness this --xref mode lives in.
  • TOPICS — project theme index.