osprey-strategy
OSPREY v1.0.0 — Cross-Venue Lag (crypto leader → XYZ equity proxy). When a crypto leader (BTC) makes a strong move, crypto-correlated equities priced on Hyperliquid XYZ (Coinbase, MicroStrategy, miners) tend to follow — but on a different venue, with a lag. Osprey measures each proxy's catch-up gap (leader move × beta − the proxy's actual move) and trades the proxy in the leader's direction when it still owes a gap. Distinct from Mantis (crypto→ crypto lag from cross_asset_flows); Osprey trades the cross-VENUE crypto→ XYZ-equity lag and self-computes the gap from candles. Let-winners-run DSL.
What this skill does
# 🐟🦅 OSPREY v1.0.0 — Cross-Venue Lag (Crypto Leader → XYZ Equity Proxy) **When BTC moves, the crypto stocks haven't caught up yet.** Coinbase, MicroStrategy and the miners trade on Hyperliquid XYZ, priced on a different venue from spot crypto — so a sharp BTC move shows up in those equities late. Osprey measures *how far behind* each proxy is and bets it closes the gap. ## Why this strategy exists A crypto-correlated equity has a known beta to BTC (COIN ≈ 1.8×, MSTR ≈ 2.5×). When BTC jumps, the *expected* proxy move is `BTC move × beta`. But XYZ pricing can trail spot crypto — especially around trade.xyz reference windows — so the proxy's *actual* move lags. That difference is a measurable, tradeable gap. **Distinct from Mantis:** Mantis trades crypto→crypto laggards surfaced by `market_get_cross_asset_flows`. Osprey trades the **cross-VENUE** crypto→XYZ-equity lag and **self-computes** the gap from candles, because `cross_asset_flows` only surfaces crypto laggards. ## CRITICAL RULES ### RULE 1: The leader must move first Each tick Osprey measures the leader's (BTC's) recent move over `moveLookbackBars` 1h candles. If `|move| < minLeaderMovePct` (default 2%), nothing happens — no leader move, no lag to trade. ### RULE 2: The catch-up gap is the gate For each proxy: `expected = leader_move × beta`, `gap = expected − proxy_actual_move`. Entry requires `|gap| >= minGapPct` (default 2%) **AND** the gap shares the leader's sign (the proxy still owes catch-up *in the leader's direction*). A proxy that already moved proportionally — or overshot (gap flips sign) — is skipped; the catch-up is done. ### RULE 3: Follow the leader Direction = the sign of the gap: leader up + proxy lagging up → **LONG** the proxy; leader down + proxy lagging down → **SHORT**. Osprey never fades the leader. ### RULE 4: Producer enters. DSL exits. No `close_position` call site. Once a proxy starts tracking the leader the move can extend well past the modeled gap, so the DSL is the **let-winners-run** preset — wide ladder (T0 +10% / lock 0), `max_loss 18%`, time-cuts OFF except a **96h hard_timeout** (XYZ proxies can close the gap slowly across pricing windows). No `weak_peak_cut`. ## How Osprey scores a trade **Gate:** leader move `>= minLeaderMovePct` AND a proxy gap `>= minGapPct` in the leader's direction. **Score components** (max ~7): | Signal | Points | |---|---| | Leader moved + proxy owes a gap (gate-confirmed) | +2 | | `|gap| >= strongGapPct` (default 5%) | +2 | | Smart Money on the proxy confirms direction (≥ `smTiltMinPct`) | +1 | | SM strongly tilted (≥ `smStrongTiltPct`) | +1 | | Proxy volume rising (> 15%) | +1 | **Floor:** `minScore: 4`. SM is often sparse on XYZ equities, so SM is a **bonus, not a gate**. ## DSL preset (let-winners-run — ride the catch-up) | Phase | Component | Setting | |---|---|---| | Phase 1 | max_loss_pct | 18% | | Phase 1 | retrace_threshold | 10 | | Time cuts | hard_timeout | **96h** | | Time cuts | weak_peak_cut | DISABLED | | Time cuts | dead_weight_cut | DISABLED | | Phase 2 | T0 → T4 | +10/0 · +20/45 · +35/65 · +55/78 · +90/88 | ## Scanner pattern Extends the **Cross-asset lag detector** archetype (#9, Mantis) across venues — see `senpi-trading-runtime/references/producer-patterns.md`. Primary MCP calls: `market_get_asset_data` (1h candles for the leader **and** each proxy — the producer signature), `leaderboard_get_markets` (SM on the proxy). Stateless gap math (no extra state cache). The pure functions (`move_pct`, `catchup_gap`, `lag_direction`) are unit-tested in `tests/test_signal.py`. **Tuning note:** the proxy list + betas are operator-tunable in `config/osprey-config.json`. Defaults are the most common crypto-proxy equities (`xyz:COIN`, `xyz:MSTR`); add/remove names as trade.xyz lists them, and calibrate each beta to its historical sensitivity to the leader. Any proxy that returns no candles is skipped gracefully. ## Operator install See [README.md](README.md). ## Changelog ### v1.0.0 (2026-05-26) — initial release First fleet agent to trade a **cross-VENUE** lag (crypto spot → XYZ equity), extending Mantis's cross-asset-lag archetype. Built with the let-winners-run DSL class (wide ladder, time-cuts off except a 96h hard_timeout), taker-true entry, no null numeric signal fields, self-computed catch-up gap (no dependence on cross_asset_flows), and unit-tested pure functions. ## License MIT — Copyright 2026 Senpi (https://senpi.ai). ## Skill Attribution When creating a strategy, include `skill_name` and `skill_version`. See `references/skill-attribution.md`.
Related in Web3
xaut-trade
IncludedBuy or sell XAUT (Tether Gold) on Ethereum. Supports market orders (Uniswap V3) and limit orders (UniswapX). Wallet modes: Foundry keystore or WDK. Delegates non-XAUT intents to registered skills (e.g. Polymarket prediction markets, Hyperliquid trading). Triggers: buy XAUT, XAUT trade, swap USDT for XAUT, sell XAUT, swap XAUT for USDT, limit order, limit buy XAUT, limit sell XAUT, check limit order, cancel limit order, XAUT when, create wallet, setup wallet, polymarket, prediction market, bet on, odds on, hyperliquid, perp, perpetual, long, short, open long, open short, close position, leverage.
qfc-openclaw-skill
IncludedQFC blockchain interaction — wallet, faucet, chain queries, staking, epoch & finality, AI inference
gate-dex-trade
IncludedExecutes on-chain token swaps via Gate DEX. Use when user wants to swap, buy, sell, exchange, or convert tokens, or bridge cross-chain. Covers full swap flow: price quotes, transaction build, signing, and submission. Do NOT use for read-only data lookups or wallet account management.
hunch
IncludedDiscover, bet on, track, and settle Hunch prediction markets in natural language. Trigger when a user wants to bet, take a position, or get odds on a crypto outcome — token market-cap milestones and flips, launchpad races (Bankr vs pump.fun volume / #1-days / launches over a cap), token head-to-head outperformance, mcap strike-ladders, and up/down price rounds. Also trigger on "what can I bet on about $TOKEN", "odds on …", "take YES/NO on …", "show my Hunch bets", "did my market resolve". Settles in USDC on Base via x402 (≤ $10 / bet); every bet returns an on-chain proof.
opensea
IncludedQuery NFT data, trade on the Seaport marketplace, and swap ERC20 tokens across Ethereum, Base, Arbitrum, Optimism, Polygon, and more.
polymarket
IncludedTrade on Polymarket prediction markets (CLOB V2) from a Privy EOA wallet. Search markets, place/cancel orders, manage positions. No private key handling. Use when the user wants to bet on event outcomes (e.g. "buy YES at 0.65 on the ceasefire market", "what are my open positions", "close my Trump bet").