{"id":"4ae22a7f-39ab-4ce6-983b-d3948808f097","entityType":"agent","slug":"clawhub-simmer-polymarket-fast-scaler","name":"Polymarket FastScaler","canonicalUrl":"https://www.xpersona.co/agent/clawhub-simmer-polymarket-fast-scaler","canonicalPath":"/agent/clawhub-simmer-polymarket-fast-scaler","generatedAt":"2026-10-11T05:31:55.168Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T02:52:27.735Z","emptyReason":null},"description":"Trade Polymarket BTC 5-minute fast markets using a magnitude-gated conviction-ladder strategy. Only fires when |1m BTC momentum| >= 0.10%, the magnitude threshold the strategy is built around. Position size scales with signal strength (3 conviction tiers). Reference template for gate-filtered BTC fast-market trading; the original performance claim was retracted (see below).","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.2K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s17eez0vajry6hjb97y9mbtv2s85wekv:polymarket-fast-scaler","sourceUrl":"https://clawhub.ai/simmer/polymarket-fast-scaler","homepage":"https://clawhub.ai/simmer/skills/polymarket-fast-scaler","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/simmer/polymarket-fast-scaler","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/simmer/skills/polymarket-fast-scaler","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":61,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Polymarket FastScaler technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T02:52:27.735Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T02:52:27.735Z","emptyReason":null},"stars":null,"forks":null,"downloads":1182,"packageName":null,"latestVersion":"1.2.3","tractionLabel":"1.2K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T02:52:27.665Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T02:52:27.735Z","lastCrawledAt":"2026-10-11T02:52:27.665Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T02:52:27.665Z","lastVerifiedAt":null,"highlights":[{"version":"1.2.3","createdAt":"2026-08-09T06:53:46.541Z","changelog":"CORRECTION to the 1.2.1 release note. No code change in this version. 1.2.1 said the inverted book read skipped liquid markets 'while near-empty books traded'. The second half was wrong: worst-ask minus worst-bid is always >= the touch spread, so the gate could only ever be too STRICT, never too loose - over-trading was not a reachable outcome. Measured on 96 live books, the old read rejected 96 of 96 where a correct read passes 24: about 25 percent of tradeable books skipped, and ZERO thin books wrongly traded. The harm was missed opportunity, not adverse selection. Your past fills were not affected.","fileCount":10,"zipByteSize":26337},{"version":"1.2.2","createdAt":"2026-08-09T06:24:36.245Z","changelog":"Fail closed when the order book cannot be fetched. A failed fetch was coerced to a perfect zero spread, clearing MAX_SPREAD_PCT every time; the gate was most permissive exactly when it knew least. Now skips the market.","fileCount":10,"zipByteSize":26551},{"version":"1.2.1","createdAt":"2026-08-09T05:01:55.241Z","changelog":"Fix inverted spread gate: sort the CLOB book before reading best bid/ask. The book returns bids LOW-HIGH and asks HIGH-LOW, so index [0] was the worst price on each side and the gate computed the full book width - liquid markets were skipped as illiquid while near-empty books traded.","fileCount":10,"zipByteSize":26162},{"version":"1.2.0","createdAt":"2026-06-13T02:27:54.467Z","changelog":"polymarket-fast-scaler v1.2.0 - Updated core files: SKILL.md, clawhub.json, fast_scaler.py - Removed deprecated skill-card.md file - Documentation and version updated to 1.2.0 - No strategy, configuration, or logic changes documented in SKILL.md; update reflects maintenance, cleanup, and metadata refresh","fileCount":9,"zipByteSize":24314},{"version":"1.1.0","createdAt":"2026-06-12T06:54:00.220Z","changelog":"Retract look-ahead-biased 89.4%/+5.04% claim (SIM-3070 replay gate)","fileCount":9,"zipByteSize":23200},{"version":"1.0.0","createdAt":"2026-06-11T02:54:14.783Z","changelog":"Polymarket FastScaler 1.0.0 - Out of scaffold: initial stable release. - Updates version metadata to 1.0.0 and removes scaffold status. - Documentation refinements; no strategy or parameter changes. - Removes redundant skill-card.md file.","fileCount":9,"zipByteSize":22791},{"version":"0.9.0","createdAt":"2026-05-24T07:31:49.915Z","changelog":"- Initial public release of Polymarket FastScaler (v0.9.0). - Implements conviction-ladder strategy for BTC 5-minute fast markets on Polymarket, trading only when |1m BTC momentum| ≥ 0.10%. - Position sizes auto-scale across 3 tiers based on signal magnitude. - Defaults to paper trading; live mode and configuration via CLI options. - Extensive documentation provided: quick start, config parameters, safety invariants, and caveats. - Includes geo- and API-fallbacks for Binance data sourcing.","fileCount":9,"zipByteSize":22700}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17eez0vajry6hjb97y9mbtv2s85wekv:polymarket-fast-scaler","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s17eez0vajry6hjb97y9mbtv2s85wekv:polymarket-fast-scaler` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/simmer/polymarket-fast-scaler before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-simmer-polymarket-fast-scaler/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-simmer-polymarket-fast-scaler/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-simmer-polymarket-fast-scaler/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-simmer-polymarket-fast-scaler/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-simmer-polymarket-fast-scaler/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-simmer-polymarket-fast-scaler/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T05:31:55.157Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-simmer-polymarket-fast-scaler/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-simmer-polymarket-fast-scaler/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-simmer-polymarket-fast-scaler/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-simmer-polymarket-fast-scaler/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T02:52:27.735Z","emptyReason":null},"readme":"Skill: Polymarket FastScaler\n\nOwner: simmer\n\nSummary: Trade Polymarket BTC 5-minute fast markets using a magnitude-gated conviction-ladder strategy. Only fires when |1m BTC momentum| >= 0.10%, the magnitude threshold the strategy is built around. Position size scales with signal strength (3 conviction tiers). Reference template for gate-filtered BTC fast-market trading; the original performance claim was retracted (see below).\n\nTags: latest:1.2.3\n\nVersion history:\n\nv1.2.3 | 2026-08-09T06:53:46.541Z | user\n\nCORRECTION to the 1.2.1 release note. No code change in this version. 1.2.1 said the inverted book read skipped liquid markets 'while near-empty books traded'. The second half was wrong: worst-ask minus worst-bid is always >= the touch spread, so the gate could only ever be too STRICT, never too loose - over-trading was not a reachable outcome. Measured on 96 live books, the old read rejected 96 of 96 where a correct read passes 24: about 25 percent of tradeable books skipped, and ZERO thin books wrongly traded. The harm was missed opportunity, not adverse selection. Your past fills were not affected.\n\nv1.2.2 | 2026-08-09T06:24:36.245Z | user\n\nFail closed when the order book cannot be fetched. A failed fetch was coerced to a perfect zero spread, clearing MAX_SPREAD_PCT every time; the gate was most permissive exactly when it knew least. Now skips the market.\n\nv1.2.1 | 2026-08-09T05:01:55.241Z | user\n\nFix inverted spread gate: sort the CLOB book before reading best bid/ask. The book returns bids LOW-HIGH and asks HIGH-LOW, so index [0] was the worst price on each side and the gate computed the full book width - liquid markets were skipped as illiquid while near-empty books traded.\n\nv1.2.0 | 2026-06-13T02:27:54.467Z | auto\n\npolymarket-fast-scaler v1.2.0\n\n- Updated core files: SKILL.md, clawhub.json, fast_scaler.py\n- Removed deprecated skill-card.md file\n- Documentation and version updated to 1.2.0\n- No strategy, configuration, or logic changes documented in SKILL.md; update reflects maintenance, cleanup, and metadata refresh\n\nv1.1.0 | 2026-06-12T06:54:00.220Z | user\n\nRetract look-ahead-biased 89.4%/+5.04% claim (SIM-3070 replay gate)\n\nv1.0.0 | 2026-06-11T02:54:14.783Z | auto\n\nPolymarket FastScaler 1.0.0\n\n- Out of scaffold: initial stable release.\n- Updates version metadata to 1.0.0 and removes scaffold status.\n- Documentation refinements; no strategy or parameter changes.\n- Removes redundant skill-card.md file.\n\nv0.9.0 | 2026-05-24T07:31:49.915Z | auto\n\n- Initial public release of Polymarket FastScaler (v0.9.0).\n- Implements conviction-ladder strategy for BTC 5-minute fast markets on Polymarket, trading only when |1m BTC momentum| ≥ 0.10%.\n- Position sizes auto-scale across 3 tiers based on signal magnitude.\n- Defaults to paper trading; live mode and configuration via CLI options.\n- Extensive documentation provided: quick start, config parameters, safety invariants, and caveats.\n- Includes geo- and API-fallbacks for Binance data sourcing.\n\nArchive index:\n\nArchive v1.2.3: 10 files, 26337 bytes\n\nFiles: clawhub.json (2492b), config.json (294b), DISCLAIMER.md (1925b), fast_scaler.py (43004b), NEXT.md (1971b), paper-validation-results.md (4754b), skill-card.md (2506b), SKILL.md (8555b), tests/test_fastscaler_orderbook_spread.py (3509b), _meta.json (141b)\n\nFile v1.2.3:SKILL.md\n\n---\nname: polymarket-fast-scaler\ndescription: Trade Polymarket BTC 5-minute fast markets using a magnitude-gated conviction-ladder strategy. Only fires when |1m BTC momentum| >= 0.10%, the magnitude threshold the strategy is built around. Position size scales with signal strength (3 conviction tiers). Reference template for gate-filtered BTC fast-market trading; the original performance claim was retracted (see below).\nmetadata:\n  author: Simmer (@simmer_markets)\n  version: \"1.2.3\"\n  displayName: Polymarket FastScaler\n  difficulty: advanced\n---\n# Polymarket FastScaler\n\nTrade Polymarket BTC 5-minute fast markets with a conviction-ladder strategy. Only enters when Binance 1m momentum exceeds the 0.10% magnitude gate. Position size scales with signal strength across 3 tiers.\n\n> 🚨 **Framework, not a production trading system.** Read [DISCLAIMER.md](./DISCLAIMER.md) before connecting to a wallet with real funds.\n\n> **Polymarket only.** All trades execute on Polymarket with real USDC. Paper mode is the default.\n\n> ⛔ **Performance claim retracted (2026-06-12).** An earlier version cited an \"89.4% win rate / +5.04%\" backtest. A look-ahead-enforced replay (Simmer skill-replay) found that backtest measured the 1m candle that *starts* at window-open, which only closes 60 seconds into the 5-minute window it is meant to predict. The signal the skill can actually act on at the decision point (the last complete 1m candle, i.e. the prior minute) shows **no measured edge**: roughly a coin flip before fees. Treat this skill as an **unvalidated reference template**, not a validated edge. Run paper mode and form your own view.\n\n> ⚠️ **Strategy invariants.** `magnitude_gate_pct` defaults to 0.10%. Below it the gate admits more low-magnitude noise and fees dominate a larger share of trades. This is a design default, not a validated profit threshold (see the retraction above).\n\n> ⚠️ **Risk monitoring does not apply to sub-15-minute markets.** Simmer's stop-loss and take-profit monitors check positions every 15 minutes — they will never fire on 5m markets before resolution. Size accordingly.\n\n## Strategy\n\n**Signal**: Binance 1m candle at window-open — `momentum = (close - open) / open × 100`\n\n**Gate**: `|momentum| >= magnitude_gate_pct` (default 0.10%). Below = no trade.\n\n**Side**: `momentum > 0 → YES`, `momentum < 0 → NO`. Pure direction — no divergence filter.\n\n**Sizing (conviction ladder)**:\n| Tier | |momentum| | Position |\n|------|-----------|----------|\n| 1 | 0.10% – 0.20% | $3 |\n| 2 | 0.20% – 0.35% | $5 |\n| 3 | ≥ 0.35% | $10 |\n\n**Hold**: position held to expiry. No exit logic.\n\n**Strategy thesis (unvalidated)**: the idea is that strong BTC momentum at window-open correlates with the resolution direction before the market re-prices, and that the 0.10% gate filters the noise zone. Replay testing did **not** confirm this for the signal available at the decision point (the prior complete 1m candle). Treat the thesis as untested.\n\n**Backtest status (2026-06-12)**: the original +5.04% / 89.4% backtest was **retracted**. A look-ahead-enforced replay found it used in-window price action (the first minute *inside* the window) that is not available when the entry decision is made. The live-actionable signal showed no measured edge. See the retraction note at the top and DISCLAIMER.md.\n\n## When to Use This Skill\n\nUse this skill when the user wants to:\n- Trade BTC 5-minute fast markets on Polymarket with a validated magnitude filter\n- Automate conviction-scaled position sizing based on signal strength\n- Run a disciplined, gate-filtered fast-market strategy (not raw momentum)\n\n**Do NOT use for**: ETH/SOL/XRP fast markets (separate backtest required), 15m windows (backtest pending), or any strategy where the user wants to trade below the 0.10% magnitude gate.\n\n## Setup Flow\n\n1. **Install the Simmer SDK**\n   ```bash\n   pip install simmer-sdk\n   ```\n\n2. **Set your Simmer API key**\n   ```bash\n   export SIMMER_API_KEY=\"your-key-here\"\n   # Get from: simmer.markets/dashboard → SDK tab\n   ```\n\n3. **Run in paper mode first**\n   ```bash\n   python fast_scaler.py\n   ```\n\n4. **Set up cron (every minute)**\n   ```bash\n   # crontab -e\n   * * * * * cd /path/to/skill && python fast_scaler.py --live --quiet\n   ```\n\n## Quick Start\n\n```bash\n# Paper mode (default) — see what the strategy would do\npython fast_scaler.py\n\n# Live trading\npython fast_scaler.py --live\n\n# Live + quiet (for cron)\npython fast_scaler.py --live --quiet\n\n# Show current positions\npython fast_scaler.py --positions\n\n# Tune the magnitude gate (don't go below 0.10%)\npython fast_scaler.py --set magnitude_gate_pct=0.12\n\n# Adjust position sizes\npython fast_scaler.py --set position_tier3_usd=15\n```\n\n## Key Config Parameters\n\n| Parameter | Default | Description |\n|-----------|---------|-------------|\n| `magnitude_gate_pct` | 0.10 | Min \\|momentum\\| % to trade. **Strategy invariant — don't lower below 0.10.** |\n| `ladder_tier2_pct` | 0.20 | Momentum threshold to enter tier 2 sizing |\n| `ladder_tier3_pct` | 0.35 | Momentum threshold to enter tier 3 (max) sizing |\n| `position_tier1_usd` | 3.0 | Position size for tier 1 |\n| `position_tier2_usd` | 5.0 | Position size for tier 2 |\n| `position_tier3_usd` | 10.0 | Position size for tier 3 |\n| `daily_budget_usd` | 30.0 | Max total USD per day across all trades |\n| `per_market_cap_usd` | 10.0 | Max USD on a single market window |\n| `asset` | BTC | Asset (BTC only in v1.0) |\n| `window` | 5m | Window (5m only in v1.0) |\n| `order_type` | GTC | GTC or FAK |\n\n## What to Watch For\n\n- **Gate fires ~7×/day** on BTC under normal conditions (0.10% threshold). Significantly fewer = check if markets are live and Binance is reachable. Significantly more = consider raising the gate.\n- **Per-market cap** (default $10) prevents stacking multiple bets on the same slot. Leave it at or below `position_tier3_usd`.\n- **Daily budget** (default $30) is the safety cap. At 7 trades/day × avg $5 = $35, the default may cut the last ~1 trade. Increase if you want full daily exposure.\n\n## Risk-envelope defaults — don't raise without your own validation\n\nThe original backtest that motivated these values was retracted (see the top), so treat them as **conservative risk-envelope defaults**, not edge-preserving constraints. There is no validated edge to preserve; these just bound exposure:\n\n- **`magnitude_gate_pct ≥ 0.10`** — lowering admits more low-magnitude noise and trades a larger share of marginal signals.\n- **`position_tier3_usd ≤ 10`** — caps the largest single bet in the conviction ladder ($3/$5/$10).\n- **`daily_budget_usd ≤ 50`** — caps total daily exposure.\n\nLowering any of these reduces exposure. Raising them increases it, with no validated edge to justify the larger size.\n\n## Geo-fallback (Binance.us)\n\nThe skill fetches BTC 1m klines from `api.binance.com`. In geo-restricted regions (e.g. US-hosted Railway deployments) Binance returns HTTP 451. The skill auto-falls-back to `api.binance.us` in that case. If both endpoints are unreachable, market discovery returns nothing for that cycle — the skill exits cleanly with no orders placed.\n\nIf you're running this on a host that can reach neither endpoint, you'll need to proxy/VPN the request or run the skill from a host that can reach Binance.\n\n## Gamma fallback liveness gap\n\nWhen the Simmer SDK's primary market-discovery path is unavailable, the skill falls back to Polymarket's Gamma API. Gamma-sourced markets come through without `is_live_now` precision — the skill uses a time-window heuristic instead. This can occasionally admit a market that has time remaining on the clock but isn't yet in the live trading window. Known gap; tracked for future fix.\n\n## Advanced: Extending the Strategy\n\nThe conviction ladder and magnitude gate are the two load-bearing components. If you want to:\n\n- **Use ETH/SOL**: change `asset`, and run your own validation first. The 0.10% gate is a BTC-only default; there is no validated win rate to cite.\n- **Use 15m markets**: change `window`. Untested.\n- **Tighten the ladder**: raise `ladder_tier2_pct` / `ladder_tier3_pct` for fewer but higher-conviction trades.\n- **Cap exposure**: lower `position_tier3_usd` or `daily_budget_usd`.\n\n## Caveats\n\n- Fast markets resolve on Chainlink, not Binance. The strategy trades the correlation, not the exact price.\n- Spreads on newly opened fast markets can be wide — the 10% spread cap filters most of these.\n- This is an alpha skill (status: scaffold). Run paper validation before committing real funds.\n\nFile v1.2.3:_meta.json\n\n{\n  \"ownerId\": \"kn7axnp7bzqsf5fkx0z8px7han7zyq1x\",\n  \"slug\": \"polymarket-fast-scaler\",\n  \"version\": \"1.2.3\",\n  \"publishedAt\": 1786258426541\n}\n\nFile v1.2.3:DISCLAIMER.md\n\n# Disclaimer\n\nThis skill is a **framework**, not a production trading system. Read this\nin full before connecting it to a wallet with real funds.\n\n## No financial advice\n\nNothing in this skill constitutes financial, investment, or trading\nadvice. The default strategy implemented here is a starting point, not a\ntested edge. Suitability for any account size or risk tolerance is your\nresponsibility to assess.\n\n## Default parameters are not validated\n\nDefault parameters are calibrated for testing the plumbing, not for live\nprofit. They have not been validated to produce positive returns under\ncurrent market conditions. Run paper mode for an extended period before\nscaling beyond default position sizes.\n\n## Automated trading carries irreversible risk\n\nWhen this skill runs with `--live`, it places real on-chain orders.\nOn-chain trades cannot be recalled. Strategy errors, signal lag, market\nregime shifts, and operator misconfiguration can produce losses\nexceeding any specific position size.\n\n## Risk monitoring may not apply to all market types\n\nStop-loss and take-profit monitors run on a fixed schedule. Markets that\nresolve faster than the monitor cycle cannot be exited automatically.\nPosition sizing is the only risk control on these markets — set it\nconservatively.\n\n## Use of this skill is at your own risk\n\nBy installing and running this skill you agree that the authors are not\nliable for any losses, direct or indirect, that arise from its use. This\napplies regardless of skill provenance — official Simmer skills,\ncommunity skills, and skills imported from external repositories all\ncarry this same disclaimer.\n\n## Where to learn more before going live\n\n- The skill's own `SKILL.md` documents the strategy and parameters\n- Your trading venue's documentation covers fee structure, order types,\n  and resolution rules\n- Simmer SDK documentation covers paper mode, dry-run flags, and\n  position monitoring\n\nFile v1.2.3:NEXT.md\n\n# NEXT — polymarket-fast-scaler\n\n**Status**: B3 complete — live test passed. Published to ClawHub at v1.0.0.\n\nB1 ✅ shipped | B2 ✅ paper validation passed (SIM-1997, PR #115) | B3 ✅ live test passed + published (SIM-1998)\n\n## Live test results (2026-05-20 → 2026-05-22)\n\n- 4 trades executed over 48h, all fills confirmed (exit_code=0)\n- $12.00 total spend vs $10/day budget cap\n- All trades Tier 1 ($3) with |momentum| 0.10–0.20%\n- 2349 signals evaluated, no unexpected errors\n- Budget cap respected per-day\n\n## Strategy invariants (DO NOT change without re-running the backtest)\n\n- **Side-picker**: direction only — up → YES, down → NO. No divergence filter.\n- **Magnitude gate**: `|momentum| >= 0.10%`. A noise filter, not a validated edge. The original \"89.4% win rate\" claim was RETRACTED 2026-06-12 (look-ahead bias — see below).\n- **Signal source**: Binance 1m candle at window-open (last complete 1m candle). Do NOT switch to 5m lookback without re-running the backtest.\n- **Sizing table**: 3-tier conviction ladder. T1 $3 / T2 $5 / T3 $10. Tier thresholds: 0.10%/0.20%/0.35%.\n- **Fee formula**: `fee = shares × 0.07 × p × (1-p)`. Crypto taker category.\n- **Hold policy**: hold to expiry. No exit logic — results are binary.\n\n## Backtest source — RETRACTED 2026-06-12 (look-ahead bias)\n\nThe SIM-3070 skill-replay calibration gate found the original backtest measured the\n1m candle that *starts* at window-open (closes 60s into the window it predicts).\nThe live-actionable signal (prior complete candle) shows no measured edge (~49%,\ncoin flip). Writeup: `simmer/_dev/active/_skill-intelligence/pilot-reports/fast-scaler-calibration-gate.md`.\n\n- Original evidence (now known look-ahead-biased): `simmer/_dev/completed/_fast-loop-rebuild/backtest_binance_ladder.md` (30d BTC fast-5m, 218 markets)\n- Cohort profiling: `profile_winners.md` (ndjjwobaq, btcbeliver01 timeline analysis)\n- Parent audit: SIM-1854 close-out comment (2026-05-18)\n\nFile v1.2.3:paper-validation-results.md\n\n# polymarket-fast-scaler — Paper Validation Results (B2)\n\n**Run period:** 2026-05-18 11:50 UTC → 2026-05-20 15:25 UTC (51.6 hours)  \n**Total cycles:** 3,096 (one per minute)  \n**Config:** magnitude gate 0.10% | T1=$3 / T2=$5 / T3=$10 | daily cap $30 | per-market cap $10  \n**Analyzed by:** Cody / SIM-2008 → SIM-1997  \n\n---\n\n## Gate fire rate\n\n| Window | Executed trades | Expected (±50%) | Result |\n|--------|----------------|-----------------|--------|\n| Day 1 (05/18 11:50 → 05/19 11:50) | **1** | 3.5 – 10.5 | ⚠️ Below (market condition — see note) |\n| Day 2 (05/19 11:50 → 05/20 11:50) | **7** | 3.5 – 10.5 | ✅ PASS |\n| Full run average (51.6h, 8 trades) | **3.7/day** | 3.5 – 10.5 | ⚠️ Dragged down by Day 1 |\n\n**Day 1 anomaly:** 95.2% of cycles on 2026-05-18 returned `no_markets` — Polymarket was not publishing 5-minute BTC momentum windows that day (low-volatility Sunday; cross-checked against skip-reason breakdown). This is a market availability condition, not a skill defect. When markets were available (Day 2+), the gate fired exactly as the backtest predicted.\n\n---\n\n## Markets discovered\n\n| Date | Cycles | `no_markets` | `below_magnitude_gate` | `wide_spread` |\n|------|--------|-------------|----------------------|--------------|\n| 2026-05-18 | 730 | 695 (95.2%) | 30 (4.1%) | 2 (0.3%) |\n| 2026-05-19 | 1,440 | 80 (5.6%) | 1,099 (76.3%) | 137 (9.5%) |\n| 2026-05-20 | 927 | 0 (0%) | 712 (76.8%) | 85 (9.2%) |\n\nDay 2 onward: skill correctly discovers BTC 5m windows from Polymarket and applies gate logic.\n\n---\n\n## Tier distribution (8 executed trades)\n\n| Tier | Threshold | Position size | Trades | % | Total spent |\n|------|-----------|--------------|--------|---|-------------|\n| T1 | 0.10% ≤ \\|m\\| < 0.20% | $3.00 | 7 | 87.5% | $21.00 |\n| T2 | 0.20% ≤ \\|m\\| < 0.35% | $5.00 | 1 | 12.5% | $5.00 |\n| T3 | \\|m\\| ≥ 0.35% | $10.00 | 0 | — | — |\n\nObserved momentum values:\n- T1 examples: 0.1036%, 0.1321%, 0.1200%, 0.1040%, 0.1251%, 0.1100%, 0.1715%\n- T2 example: 0.2852%\n\nAll amounts match tier thresholds exactly. **Tier sizing: PASS ✅**\n\n---\n\n## Budget caps\n\n**Daily budget cap ($30/day):**\n- 2026-05-18: $0.00 ✅\n- 2026-05-19: $18.00 ✅\n- 2026-05-20: $8.00 ✅\n\n**Per-market cap ($10 max):**\n- Max single trade observed: $5.00\n- Trades over $10: 0 ✅\n\n---\n\n## Dedup\n\n9 cycles had `trades_attempted=1, trades_executed=0` — the skill signaled a trade but the dedup layer blocked it. These occur on consecutive-minute windows where the same market was already targeted. No double-entry on the same market window was observed in the executed trades. **Dedup: PASS ✅**\n\n---\n\n## Auto-redeem\n\n`.last_auto_redeem` file present, most recent timestamp: **2026-05-20 15:18 UTC**. The 10-minute cooldown rate-limiter is working. Auto-redeem events are not individually logged in the JSONL (they happen inside the cycle, pre-trade), but the cooldown file confirms they fired. **Auto-redeem: PASS ✅**\n\n---\n\n## GTC cleanup\n\n`ORDER_TYPE=GTC` is active. GTC cancellations are executed at cycle start (before trade logic) and not emitted as JSONL fields. `cron_stderr.log` is empty — no cleanup errors in 51.6 hours. **GTC cleanup: PASS ✅ (no errors observed)**\n\n---\n\n## DOD checklist\n\n| Item | Result |\n|------|--------|\n| Gate fires ~7/day (±50%) | ✅ Day 2 = 7 exactly; Day 1 anomaly = market condition |\n| Markets match Polymarket 5m BTC windows | ✅ When published, discovered correctly |\n| Tier sizing correct | ✅ T1=$3, T2=$5, T3=$10 — verified against 8 trades |\n| Daily budget cap ($30) respected | ✅ Max $18 in any calendar day |\n| Per-market cap ($10) respected | ✅ Max $5 single trade |\n| Dedup works | ✅ 9 dedup blocks, no duplicate fills |\n| Auto-redeem fires | ✅ Confirmed via cooldown file |\n| GTC cleanup fires | ✅ No errors, order_type=GTC active |\n\n---\n\n## Conclusion\n\n**B2 PASS.** The skill behaves correctly against live Polymarket data. The Day 1 low gate-fire count (1 vs expected 7) is explained by Polymarket not publishing 5m BTC windows on a low-volatility Sunday — not a skill bug. When markets are available, the gate rate, tier sizing, budget caps, and dedup all match backtest expectations.\n\n**Recommendation: Unblock SIM-1998 (B3 — live test).**\n\n### Notable observations for B3\n\n1. **`no_markets` rate varies with market day.** On quiet Sundays, Polymarket may not publish 5m BTC windows. B3 live testing should monitor gate fire rate over multiple trading days.\n2. **All fires are T1/T2 so far.** No T3 (≥0.35% momentum) seen in 51h. T3 logic is untested in paper mode; B3 should watch for T3 triggers.\n3. **Wide spread rejections peak ~9-10%** on active days. If this exceeds 20%, investigate whether CLOB spread thresholds need tuning.\n\nFile v1.2.3:skill-card.md\n\n## Description:\n\nTrades Polymarket BTC 5-minute fast markets using Binance 1-minute momentum, a 0.10% magnitude gate, and conviction-ladder position sizing.\n\nThis skill is for demonstration purposes and not for production usage.\n\n## Publisher:\n\n[simmer](https://clawhub.ai/user/simmer)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal developers and traders can use this skill as a reference template for paper-testing and carefully controlled Polymarket BTC 5-minute fast-market automation. It is not evidence of a profitable trading edge and needs review before any live use.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Live mode can place real-money Polymarket orders and may expose the account to irreversible trading losses.\n\nMitigation: Review live-trading risks first, start in paper mode, and use a dedicated low-balance Simmer account or wallet before considering live execution.\n\nRisk: Account actions and live-run safety controls are under-scoped for unattended operation.\n\nMitigation: Pin the Simmer SDK version, avoid exposing WALLET_PRIVATE_KEY unless strictly required, and add single-instance control before running any live cron workflow.\n\nRisk: The original performance claim was retracted, and the available signal has no measured edge in the provided evidence.\n\nMitigation: Treat the strategy as an unvalidated reference template and perform independent paper validation before changing budgets, position sizes, or signal thresholds.\n\n## Reference(s):\n\n- [Polymarket FastScaler ClawHub release](https://clawhub.ai/simmer/skills/polymarket-fast-scaler)\n- [Skill documentation](artifact/SKILL.md)\n- [Disclaimer](artifact/DISCLAIMER.md)\n- [Paper validation results](artifact/paper-validation-results.md)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Shell commands, Configuration, JSON]\n\n**Output Format:** [Markdown guidance, shell command examples, configuration values, and JSON status reports]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May emit paper or live trading summaries and automaton telemetry; live mode can place real-money Polymarket orders.]\n\n## Skill Version(s):\n\n1.2.3 (source: server release evidence and SKILL.md frontmatter)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.2.3:clawhub.json\n\n{\n  \"emoji\": \"⚡\",\n  \"primaryEnv\": \"SIMMER_API_KEY\",\n  \"requires\": {\n    \"env\": [\n      \"SIMMER_API_KEY\"\n    ],\n    \"pip\": [\n      \"simmer-sdk>=0.17.32\"\n    ]\n  },\n  \"envVars\": [\n    {\n      \"name\": \"SIMMER_API_KEY\",\n      \"required\": true,\n      \"description\": \"Your Simmer SDK API key — get from simmer.markets/dashboard\"\n    },\n    {\n      \"name\": \"WALLET_PRIVATE_KEY\",\n      \"required\": false,\n      \"description\": \"Only needed for external-wallet self-custody trading. Not required when using managed wallets.\"\n    }\n  ],\n  \"cron\": null,\n  \"autostart\": false,\n  \"automaton\": {\n    \"managed\": true,\n    \"entrypoint\": \"fast_scaler.py\"\n  },\n  \"tunables\": [\n    {\n      \"env\": \"SIMMER_FASTSCALER_MAGNITUDE_GATE\",\n      \"type\": \"number\",\n      \"default\": 0.10,\n      \"range\": [0.10, 0.50],\n      \"step\": 0.01,\n      \"label\": \"Magnitude gate (%)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_POS_T1\",\n      \"type\": \"number\",\n      \"default\": 3.0,\n      \"range\": [1, 25],\n      \"step\": 1,\n      \"label\": \"Tier 1 position size ($)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_POS_T2\",\n      \"type\": \"number\",\n      \"default\": 5.0,\n      \"range\": [1, 15],\n      \"step\": 1,\n      \"label\": \"Tier 2 position size ($) — default $5; the original backtest was retracted, so raising this just increases exposure with no validated edge\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_POS_T3\",\n      \"type\": \"number\",\n      \"default\": 10.0,\n      \"range\": [1, 20],\n      \"step\": 1,\n      \"label\": \"Tier 3 position size ($) — default $10; the original backtest was retracted, so raising this just increases exposure with no validated edge\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_DAILY_BUDGET\",\n      \"type\": \"number\",\n      \"default\": 30.0,\n      \"range\": [10, 50],\n      \"step\": 5,\n      \"label\": \"Daily budget ($) — default $30; caps total daily exposure (the original backtest was retracted)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_PER_MARKET_CAP\",\n      \"type\": \"number\",\n      \"default\": 10.0,\n      \"range\": [1, 50],\n      \"step\": 1,\n      \"label\": \"Per-market cap ($)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_LADDER_T2\",\n      \"type\": \"number\",\n      \"default\": 0.20,\n      \"range\": [0.10, 1.0],\n      \"step\": 0.05,\n      \"label\": \"Tier 2 momentum threshold (%)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_LADDER_T3\",\n      \"type\": \"number\",\n      \"default\": 0.35,\n      \"range\": [0.20, 1.0],\n      \"step\": 0.05,\n      \"label\": \"Tier 3 momentum threshold (%)\"\n    }\n  ]\n}\n\nFile v1.2.3:config.json\n\n{\n  \"magnitude_gate_pct\": 0.10,\n  \"ladder_tier2_pct\": 0.20,\n  \"ladder_tier3_pct\": 0.35,\n  \"position_tier1_usd\": 3.0,\n  \"position_tier2_usd\": 5.0,\n  \"position_tier3_usd\": 10.0,\n  \"daily_budget_usd\": 30.0,\n  \"per_market_cap_usd\": 10.0,\n  \"asset\": \"BTC\",\n  \"window\": \"5m\",\n  \"order_type\": \"GTC\"\n}\n\nArchive v1.2.2: 10 files, 26551 bytes\n\nFiles: clawhub.json (2492b), config.json (294b), DISCLAIMER.md (1925b), fast_scaler.py (43004b), NEXT.md (1971b), paper-validation-results.md (4754b), skill-card.md (3033b), SKILL.md (8555b), tests/test_fastscaler_orderbook_spread.py (3509b), _meta.json (141b)\n\nFile v1.2.2:SKILL.md\n\n---\nname: polymarket-fast-scaler\ndescription: Trade Polymarket BTC 5-minute fast markets using a magnitude-gated conviction-ladder strategy. Only fires when |1m BTC momentum| >= 0.10%, the magnitude threshold the strategy is built around. Position size scales with signal strength (3 conviction tiers). Reference template for gate-filtered BTC fast-market trading; the original performance claim was retracted (see below).\nmetadata:\n  author: Simmer (@simmer_markets)\n  version: \"1.2.2\"\n  displayName: Polymarket FastScaler\n  difficulty: advanced\n---\n# Polymarket FastScaler\n\nTrade Polymarket BTC 5-minute fast markets with a conviction-ladder strategy. Only enters when Binance 1m momentum exceeds the 0.10% magnitude gate. Position size scales with signal strength across 3 tiers.\n\n> 🚨 **Framework, not a production trading system.** Read [DISCLAIMER.md](./DISCLAIMER.md) before connecting to a wallet with real funds.\n\n> **Polymarket only.** All trades execute on Polymarket with real USDC. Paper mode is the default.\n\n> ⛔ **Performance claim retracted (2026-06-12).** An earlier version cited an \"89.4% win rate / +5.04%\" backtest. A look-ahead-enforced replay (Simmer skill-replay) found that backtest measured the 1m candle that *starts* at window-open, which only closes 60 seconds into the 5-minute window it is meant to predict. The signal the skill can actually act on at the decision point (the last complete 1m candle, i.e. the prior minute) shows **no measured edge**: roughly a coin flip before fees. Treat this skill as an **unvalidated reference template**, not a validated edge. Run paper mode and form your own view.\n\n> ⚠️ **Strategy invariants.** `magnitude_gate_pct` defaults to 0.10%. Below it the gate admits more low-magnitude noise and fees dominate a larger share of trades. This is a design default, not a validated profit threshold (see the retraction above).\n\n> ⚠️ **Risk monitoring does not apply to sub-15-minute markets.** Simmer's stop-loss and take-profit monitors check positions every 15 minutes — they will never fire on 5m markets before resolution. Size accordingly.\n\n## Strategy\n\n**Signal**: Binance 1m candle at window-open — `momentum = (close - open) / open × 100`\n\n**Gate**: `|momentum| >= magnitude_gate_pct` (default 0.10%). Below = no trade.\n\n**Side**: `momentum > 0 → YES`, `momentum < 0 → NO`. Pure direction — no divergence filter.\n\n**Sizing (conviction ladder)**:\n| Tier | |momentum| | Position |\n|------|-----------|----------|\n| 1 | 0.10% – 0.20% | $3 |\n| 2 | 0.20% – 0.35% | $5 |\n| 3 | ≥ 0.35% | $10 |\n\n**Hold**: position held to expiry. No exit logic.\n\n**Strategy thesis (unvalidated)**: the idea is that strong BTC momentum at window-open correlates with the resolution direction before the market re-prices, and that the 0.10% gate filters the noise zone. Replay testing did **not** confirm this for the signal available at the decision point (the prior complete 1m candle). Treat the thesis as untested.\n\n**Backtest status (2026-06-12)**: the original +5.04% / 89.4% backtest was **retracted**. A look-ahead-enforced replay found it used in-window price action (the first minute *inside* the window) that is not available when the entry decision is made. The live-actionable signal showed no measured edge. See the retraction note at the top and DISCLAIMER.md.\n\n## When to Use This Skill\n\nUse this skill when the user wants to:\n- Trade BTC 5-minute fast markets on Polymarket with a validated magnitude filter\n- Automate conviction-scaled position sizing based on signal strength\n- Run a disciplined, gate-filtered fast-market strategy (not raw momentum)\n\n**Do NOT use for**: ETH/SOL/XRP fast markets (separate backtest required), 15m windows (backtest pending), or any strategy where the user wants to trade below the 0.10% magnitude gate.\n\n## Setup Flow\n\n1. **Install the Simmer SDK**\n   ```bash\n   pip install simmer-sdk\n   ```\n\n2. **Set your Simmer API key**\n   ```bash\n   export SIMMER_API_KEY=\"your-key-here\"\n   # Get from: simmer.markets/dashboard → SDK tab\n   ```\n\n3. **Run in paper mode first**\n   ```bash\n   python fast_scaler.py\n   ```\n\n4. **Set up cron (every minute)**\n   ```bash\n   # crontab -e\n   * * * * * cd /path/to/skill && python fast_scaler.py --live --quiet\n   ```\n\n## Quick Start\n\n```bash\n# Paper mode (default) — see what the strategy would do\npython fast_scaler.py\n\n# Live trading\npython fast_scaler.py --live\n\n# Live + quiet (for cron)\npython fast_scaler.py --live --quiet\n\n# Show current positions\npython fast_scaler.py --positions\n\n# Tune the magnitude gate (don't go below 0.10%)\npython fast_scaler.py --set magnitude_gate_pct=0.12\n\n# Adjust position sizes\npython fast_scaler.py --set position_tier3_usd=15\n```\n\n## Key Config Parameters\n\n| Parameter | Default | Description |\n|-----------|---------|-------------|\n| `magnitude_gate_pct` | 0.10 | Min \\|momentum\\| % to trade. **Strategy invariant — don't lower below 0.10.** |\n| `ladder_tier2_pct` | 0.20 | Momentum threshold to enter tier 2 sizing |\n| `ladder_tier3_pct` | 0.35 | Momentum threshold to enter tier 3 (max) sizing |\n| `position_tier1_usd` | 3.0 | Position size for tier 1 |\n| `position_tier2_usd` | 5.0 | Position size for tier 2 |\n| `position_tier3_usd` | 10.0 | Position size for tier 3 |\n| `daily_budget_usd` | 30.0 | Max total USD per day across all trades |\n| `per_market_cap_usd` | 10.0 | Max USD on a single market window |\n| `asset` | BTC | Asset (BTC only in v1.0) |\n| `window` | 5m | Window (5m only in v1.0) |\n| `order_type` | GTC | GTC or FAK |\n\n## What to Watch For\n\n- **Gate fires ~7×/day** on BTC under normal conditions (0.10% threshold). Significantly fewer = check if markets are live and Binance is reachable. Significantly more = consider raising the gate.\n- **Per-market cap** (default $10) prevents stacking multiple bets on the same slot. Leave it at or below `position_tier3_usd`.\n- **Daily budget** (default $30) is the safety cap. At 7 trades/day × avg $5 = $35, the default may cut the last ~1 trade. Increase if you want full daily exposure.\n\n## Risk-envelope defaults — don't raise without your own validation\n\nThe original backtest that motivated these values was retracted (see the top), so treat them as **conservative risk-envelope defaults**, not edge-preserving constraints. There is no validated edge to preserve; these just bound exposure:\n\n- **`magnitude_gate_pct ≥ 0.10`** — lowering admits more low-magnitude noise and trades a larger share of marginal signals.\n- **`position_tier3_usd ≤ 10`** — caps the largest single bet in the conviction ladder ($3/$5/$10).\n- **`daily_budget_usd ≤ 50`** — caps total daily exposure.\n\nLowering any of these reduces exposure. Raising them increases it, with no validated edge to justify the larger size.\n\n## Geo-fallback (Binance.us)\n\nThe skill fetches BTC 1m klines from `api.binance.com`. In geo-restricted regions (e.g. US-hosted Railway deployments) Binance returns HTTP 451. The skill auto-falls-back to `api.binance.us` in that case. If both endpoints are unreachable, market discovery returns nothing for that cycle — the skill exits cleanly with no orders placed.\n\nIf you're running this on a host that can reach neither endpoint, you'll need to proxy/VPN the request or run the skill from a host that can reach Binance.\n\n## Gamma fallback liveness gap\n\nWhen the Simmer SDK's primary market-discovery path is unavailable, the skill falls back to Polymarket's Gamma API. Gamma-sourced markets come through without `is_live_now` precision — the skill uses a time-window heuristic instead. This can occasionally admit a market that has time remaining on the clock but isn't yet in the live trading window. Known gap; tracked for future fix.\n\n## Advanced: Extending the Strategy\n\nThe conviction ladder and magnitude gate are the two load-bearing components. If you want to:\n\n- **Use ETH/SOL**: change `asset`, and run your own validation first. The 0.10% gate is a BTC-only default; there is no validated win rate to cite.\n- **Use 15m markets**: change `window`. Untested.\n- **Tighten the ladder**: raise `ladder_tier2_pct` / `ladder_tier3_pct` for fewer but higher-conviction trades.\n- **Cap exposure**: lower `position_tier3_usd` or `daily_budget_usd`.\n\n## Caveats\n\n- Fast markets resolve on Chainlink, not Binance. The strategy trades the correlation, not the exact price.\n- Spreads on newly opened fast markets can be wide — the 10% spread cap filters most of these.\n- This is an alpha skill (status: scaffold). Run paper validation before committing real funds.\n\nFile v1.2.2:_meta.json\n\n{\n  \"ownerId\": \"kn7axnp7bzqsf5fkx0z8px7han7zyq1x\",\n  \"slug\": \"polymarket-fast-scaler\",\n  \"version\": \"1.2.2\",\n  \"publishedAt\": 1786256676245\n}\n\nFile v1.2.2:DISCLAIMER.md\n\n# Disclaimer\n\nThis skill is a **framework**, not a production trading system. Read this\nin full before connecting it to a wallet with real funds.\n\n## No financial advice\n\nNothing in this skill constitutes financial, investment, or trading\nadvice. The default strategy implemented here is a starting point, not a\ntested edge. Suitability for any account size or risk tolerance is your\nresponsibility to assess.\n\n## Default parameters are not validated\n\nDefault parameters are calibrated for testing the plumbing, not for live\nprofit. They have not been validated to produce positive returns under\ncurrent market conditions. Run paper mode for an extended period before\nscaling beyond default position sizes.\n\n## Automated trading carries irreversible risk\n\nWhen this skill runs with `--live`, it places real on-chain orders.\nOn-chain trades cannot be recalled. Strategy errors, signal lag, market\nregime shifts, and operator misconfiguration can produce losses\nexceeding any specific position size.\n\n## Risk monitoring may not apply to all market types\n\nStop-loss and take-profit monitors run on a fixed schedule. Markets that\nresolve faster than the monitor cycle cannot be exited automatically.\nPosition sizing is the only risk control on these markets — set it\nconservatively.\n\n## Use of this skill is at your own risk\n\nBy installing and running this skill you agree that the authors are not\nliable for any losses, direct or indirect, that arise from its use. This\napplies regardless of skill provenance — official Simmer skills,\ncommunity skills, and skills imported from external repositories all\ncarry this same disclaimer.\n\n## Where to learn more before going live\n\n- The skill's own `SKILL.md` documents the strategy and parameters\n- Your trading venue's documentation covers fee structure, order types,\n  and resolution rules\n- Simmer SDK documentation covers paper mode, dry-run flags, and\n  position monitoring\n\nFile v1.2.2:NEXT.md\n\n# NEXT — polymarket-fast-scaler\n\n**Status**: B3 complete — live test passed. Published to ClawHub at v1.0.0.\n\nB1 ✅ shipped | B2 ✅ paper validation passed (SIM-1997, PR #115) | B3 ✅ live test passed + published (SIM-1998)\n\n## Live test results (2026-05-20 → 2026-05-22)\n\n- 4 trades executed over 48h, all fills confirmed (exit_code=0)\n- $12.00 total spend vs $10/day budget cap\n- All trades Tier 1 ($3) with |momentum| 0.10–0.20%\n- 2349 signals evaluated, no unexpected errors\n- Budget cap respected per-day\n\n## Strategy invariants (DO NOT change without re-running the backtest)\n\n- **Side-picker**: direction only — up → YES, down → NO. No divergence filter.\n- **Magnitude gate**: `|momentum| >= 0.10%`. A noise filter, not a validated edge. The original \"89.4% win rate\" claim was RETRACTED 2026-06-12 (look-ahead bias — see below).\n- **Signal source**: Binance 1m candle at window-open (last complete 1m candle). Do NOT switch to 5m lookback without re-running the backtest.\n- **Sizing table**: 3-tier conviction ladder. T1 $3 / T2 $5 / T3 $10. Tier thresholds: 0.10%/0.20%/0.35%.\n- **Fee formula**: `fee = shares × 0.07 × p × (1-p)`. Crypto taker category.\n- **Hold policy**: hold to expiry. No exit logic — results are binary.\n\n## Backtest source — RETRACTED 2026-06-12 (look-ahead bias)\n\nThe SIM-3070 skill-replay calibration gate found the original backtest measured the\n1m candle that *starts* at window-open (closes 60s into the window it predicts).\nThe live-actionable signal (prior complete candle) shows no measured edge (~49%,\ncoin flip). Writeup: `simmer/_dev/active/_skill-intelligence/pilot-reports/fast-scaler-calibration-gate.md`.\n\n- Original evidence (now known look-ahead-biased): `simmer/_dev/completed/_fast-loop-rebuild/backtest_binance_ladder.md` (30d BTC fast-5m, 218 markets)\n- Cohort profiling: `profile_winners.md` (ndjjwobaq, btcbeliver01 timeline analysis)\n- Parent audit: SIM-1854 close-out comment (2026-05-18)\n\nFile v1.2.2:paper-validation-results.md\n\n# polymarket-fast-scaler — Paper Validation Results (B2)\n\n**Run period:** 2026-05-18 11:50 UTC → 2026-05-20 15:25 UTC (51.6 hours)  \n**Total cycles:** 3,096 (one per minute)  \n**Config:** magnitude gate 0.10% | T1=$3 / T2=$5 / T3=$10 | daily cap $30 | per-market cap $10  \n**Analyzed by:** Cody / SIM-2008 → SIM-1997  \n\n---\n\n## Gate fire rate\n\n| Window | Executed trades | Expected (±50%) | Result |\n|--------|----------------|-----------------|--------|\n| Day 1 (05/18 11:50 → 05/19 11:50) | **1** | 3.5 – 10.5 | ⚠️ Below (market condition — see note) |\n| Day 2 (05/19 11:50 → 05/20 11:50) | **7** | 3.5 – 10.5 | ✅ PASS |\n| Full run average (51.6h, 8 trades) | **3.7/day** | 3.5 – 10.5 | ⚠️ Dragged down by Day 1 |\n\n**Day 1 anomaly:** 95.2% of cycles on 2026-05-18 returned `no_markets` — Polymarket was not publishing 5-minute BTC momentum windows that day (low-volatility Sunday; cross-checked against skip-reason breakdown). This is a market availability condition, not a skill defect. When markets were available (Day 2+), the gate fired exactly as the backtest predicted.\n\n---\n\n## Markets discovered\n\n| Date | Cycles | `no_markets` | `below_magnitude_gate` | `wide_spread` |\n|------|--------|-------------|----------------------|--------------|\n| 2026-05-18 | 730 | 695 (95.2%) | 30 (4.1%) | 2 (0.3%) |\n| 2026-05-19 | 1,440 | 80 (5.6%) | 1,099 (76.3%) | 137 (9.5%) |\n| 2026-05-20 | 927 | 0 (0%) | 712 (76.8%) | 85 (9.2%) |\n\nDay 2 onward: skill correctly discovers BTC 5m windows from Polymarket and applies gate logic.\n\n---\n\n## Tier distribution (8 executed trades)\n\n| Tier | Threshold | Position size | Trades | % | Total spent |\n|------|-----------|--------------|--------|---|-------------|\n| T1 | 0.10% ≤ \\|m\\| < 0.20% | $3.00 | 7 | 87.5% | $21.00 |\n| T2 | 0.20% ≤ \\|m\\| < 0.35% | $5.00 | 1 | 12.5% | $5.00 |\n| T3 | \\|m\\| ≥ 0.35% | $10.00 | 0 | — | — |\n\nObserved momentum values:\n- T1 examples: 0.1036%, 0.1321%, 0.1200%, 0.1040%, 0.1251%, 0.1100%, 0.1715%\n- T2 example: 0.2852%\n\nAll amounts match tier thresholds exactly. **Tier sizing: PASS ✅**\n\n---\n\n## Budget caps\n\n**Daily budget cap ($30/day):**\n- 2026-05-18: $0.00 ✅\n- 2026-05-19: $18.00 ✅\n- 2026-05-20: $8.00 ✅\n\n**Per-market cap ($10 max):**\n- Max single trade observed: $5.00\n- Trades over $10: 0 ✅\n\n---\n\n## Dedup\n\n9 cycles had `trades_attempted=1, trades_executed=0` — the skill signaled a trade but the dedup layer blocked it. These occur on consecutive-minute windows where the same market was already targeted. No double-entry on the same market window was observed in the executed trades. **Dedup: PASS ✅**\n\n---\n\n## Auto-redeem\n\n`.last_auto_redeem` file present, most recent timestamp: **2026-05-20 15:18 UTC**. The 10-minute cooldown rate-limiter is working. Auto-redeem events are not individually logged in the JSONL (they happen inside the cycle, pre-trade), but the cooldown file confirms they fired. **Auto-redeem: PASS ✅**\n\n---\n\n## GTC cleanup\n\n`ORDER_TYPE=GTC` is active. GTC cancellations are executed at cycle start (before trade logic) and not emitted as JSONL fields. `cron_stderr.log` is empty — no cleanup errors in 51.6 hours. **GTC cleanup: PASS ✅ (no errors observed)**\n\n---\n\n## DOD checklist\n\n| Item | Result |\n|------|--------|\n| Gate fires ~7/day (±50%) | ✅ Day 2 = 7 exactly; Day 1 anomaly = market condition |\n| Markets match Polymarket 5m BTC windows | ✅ When published, discovered correctly |\n| Tier sizing correct | ✅ T1=$3, T2=$5, T3=$10 — verified against 8 trades |\n| Daily budget cap ($30) respected | ✅ Max $18 in any calendar day |\n| Per-market cap ($10) respected | ✅ Max $5 single trade |\n| Dedup works | ✅ 9 dedup blocks, no duplicate fills |\n| Auto-redeem fires | ✅ Confirmed via cooldown file |\n| GTC cleanup fires | ✅ No errors, order_type=GTC active |\n\n---\n\n## Conclusion\n\n**B2 PASS.** The skill behaves correctly against live Polymarket data. The Day 1 low gate-fire count (1 vs expected 7) is explained by Polymarket not publishing 5m BTC windows on a low-volatility Sunday — not a skill bug. When markets are available, the gate rate, tier sizing, budget caps, and dedup all match backtest expectations.\n\n**Recommendation: Unblock SIM-1998 (B3 — live test).**\n\n### Notable observations for B3\n\n1. **`no_markets` rate varies with market day.** On quiet Sundays, Polymarket may not publish 5m BTC windows. B3 live testing should monitor gate fire rate over multiple trading days.\n2. **All fires are T1/T2 so far.** No T3 (≥0.35% momentum) seen in 51h. T3 logic is untested in paper mode; B3 should watch for T3 triggers.\n3. **Wide spread rejections peak ~9-10%** on active days. If this exceeds 20%, investigate whether CLOB spread thresholds need tuning.\n\nFile v1.2.2:skill-card.md\n\n## Description:\n\nTrade Polymarket BTC 5-minute fast markets using a magnitude-gated conviction-ladder strategy that scales position size by signal strength.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[simmer](https://clawhub.ai/user/simmer)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal agents and developers use this skill to run or inspect a BTC fast-market trading workflow for Polymarket, including paper-mode testing, configurable risk limits, and optional live execution. It is intended as an unvalidated reference template for gate-filtered trading, not as financial advice or a proven edge.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Live mode can spend real USDC on Polymarket orders.\n\nMitigation: Run paper mode first, keep default or lower position sizes and daily caps, and enable --live only after independently validating the strategy and account permissions.\n\nRisk: The skill's original performance claim was retracted and the current strategy has no measured edge.\n\nMitigation: Treat the skill as an unvalidated reference template and do not rely on the retracted backtest when sizing or deciding whether to trade.\n\nRisk: Sub-15-minute markets can resolve before external stop-loss or take-profit monitoring fires.\n\nMitigation: Use conservative position sizing, per-market caps, and daily budgets because position sizing is the primary risk control for 5-minute markets.\n\nRisk: Automated maintenance can redeem resolved positions and cancel this skill's attributed GTC orders.\n\nMitigation: Review wallet and API-key permissions, confirm only this skill's orders are attributed to its source or slug, and monitor early live runs before scheduling cron.\n\nRisk: Order book, market discovery, or signal data can be unavailable or degraded.\n\nMitigation: Keep the fail-closed behavior for unavailable books and failed signals, and investigate repeated no-market, wide-spread, or signal-fetch failures before live trading.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/simmer/skills/polymarket-fast-scaler)\n- [Publisher profile](https://clawhub.ai/user/simmer)\n- [Disclaimer](artifact/DISCLAIMER.md)\n- [Paper validation results](artifact/paper-validation-results.md)\n- [Release notes and retraction context](artifact/NEXT.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, shell commands, configuration, code, guidance]\n\n**Output Format:** [Markdown guidance with Python commands, JSON configuration, and command-line output]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Paper mode is the default; live mode can place real Polymarket orders when enabled.]\n\n## Skill Version(s):\n\n1.2.2 (source: server evidence and SKILL.md frontmatter)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.2.2:clawhub.json\n\n{\n  \"emoji\": \"⚡\",\n  \"primaryEnv\": \"SIMMER_API_KEY\",\n  \"requires\": {\n    \"env\": [\n      \"SIMMER_API_KEY\"\n    ],\n    \"pip\": [\n      \"simmer-sdk>=0.17.32\"\n    ]\n  },\n  \"envVars\": [\n    {\n      \"name\": \"SIMMER_API_KEY\",\n      \"required\": true,\n      \"description\": \"Your Simmer SDK API key — get from simmer.markets/dashboard\"\n    },\n    {\n      \"name\": \"WALLET_PRIVATE_KEY\",\n      \"required\": false,\n      \"description\": \"Only needed for external-wallet self-custody trading. Not required when using managed wallets.\"\n    }\n  ],\n  \"cron\": null,\n  \"autostart\": false,\n  \"automaton\": {\n    \"managed\": true,\n    \"entrypoint\": \"fast_scaler.py\"\n  },\n  \"tunables\": [\n    {\n      \"env\": \"SIMMER_FASTSCALER_MAGNITUDE_GATE\",\n      \"type\": \"number\",\n      \"default\": 0.10,\n      \"range\": [0.10, 0.50],\n      \"step\": 0.01,\n      \"label\": \"Magnitude gate (%)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_POS_T1\",\n      \"type\": \"number\",\n      \"default\": 3.0,\n      \"range\": [1, 25],\n      \"step\": 1,\n      \"label\": \"Tier 1 position size ($)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_POS_T2\",\n      \"type\": \"number\",\n      \"default\": 5.0,\n      \"range\": [1, 15],\n      \"step\": 1,\n      \"label\": \"Tier 2 position size ($) — default $5; the original backtest was retracted, so raising this just increases exposure with no validated edge\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_POS_T3\",\n      \"type\": \"number\",\n      \"default\": 10.0,\n      \"range\": [1, 20],\n      \"step\": 1,\n      \"label\": \"Tier 3 position size ($) — default $10; the original backtest was retracted, so raising this just increases exposure with no validated edge\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_DAILY_BUDGET\",\n      \"type\": \"number\",\n      \"default\": 30.0,\n      \"range\": [10, 50],\n      \"step\": 5,\n      \"label\": \"Daily budget ($) — default $30; caps total daily exposure (the original backtest was retracted)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_PER_MARKET_CAP\",\n      \"type\": \"number\",\n      \"default\": 10.0,\n      \"range\": [1, 50],\n      \"step\": 1,\n      \"label\": \"Per-market cap ($)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_LADDER_T2\",\n      \"type\": \"number\",\n      \"default\": 0.20,\n      \"range\": [0.10, 1.0],\n      \"step\": 0.05,\n      \"label\": \"Tier 2 momentum threshold (%)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_LADDER_T3\",\n      \"type\": \"number\",\n      \"default\": 0.35,\n      \"range\": [0.20, 1.0],\n      \"step\": 0.05,\n      \"label\": \"Tier 3 momentum threshold (%)\"\n    }\n  ]\n}\n\nFile v1.2.2:config.json\n\n{\n  \"magnitude_gate_pct\": 0.10,\n  \"ladder_tier2_pct\": 0.20,\n  \"ladder_tier3_pct\": 0.35,\n  \"position_tier1_usd\": 3.0,\n  \"position_tier2_usd\": 5.0,\n  \"position_tier3_usd\": 10.0,\n  \"daily_budget_usd\": 30.0,\n  \"per_market_cap_usd\": 10.0,\n  \"asset\": \"BTC\",\n  \"window\": \"5m\",\n  \"order_type\": \"GTC\"\n}\n\nArchive v1.2.1: 10 files, 26162 bytes\n\nFiles: clawhub.json (2492b), config.json (294b), DISCLAIMER.md (1925b), fast_scaler.py (42431b), NEXT.md (1971b), paper-validation-results.md (4754b), skill-card.md (2738b), SKILL.md (8555b), tests/test_fastscaler_orderbook_spread.py (3509b), _meta.json (141b)\n\nFile v1.2.1:SKILL.md\n\n---\nname: polymarket-fast-scaler\ndescription: Trade Polymarket BTC 5-minute fast markets using a magnitude-gated conviction-ladder strategy. Only fires when |1m BTC momentum| >= 0.10%, the magnitude threshold the strategy is built around. Position size scales with signal strength (3 conviction tiers). Reference template for gate-filtered BTC fast-market trading; the original performance claim was retracted (see below).\nmetadata:\n  author: Simmer (@simmer_markets)\n  version: \"1.2.1\"\n  displayName: Polymarket FastScaler\n  difficulty: advanced\n---\n# Polymarket FastScaler\n\nTrade Polymarket BTC 5-minute fast markets with a conviction-ladder strategy. Only enters when Binance 1m momentum exceeds the 0.10% magnitude gate. Position size scales with signal strength across 3 tiers.\n\n> 🚨 **Framework, not a production trading system.** Read [DISCLAIMER.md](./DISCLAIMER.md) before connecting to a wallet with real funds.\n\n> **Polymarket only.** All trades execute on Polymarket with real USDC. Paper mode is the default.\n\n> ⛔ **Performance claim retracted (2026-06-12).** An earlier version cited an \"89.4% win rate / +5.04%\" backtest. A look-ahead-enforced replay (Simmer skill-replay) found that backtest measured the 1m candle that *starts* at window-open, which only closes 60 seconds into the 5-minute window it is meant to predict. The signal the skill can actually act on at the decision point (the last complete 1m candle, i.e. the prior minute) shows **no measured edge**: roughly a coin flip before fees. Treat this skill as an **unvalidated reference template**, not a validated edge. Run paper mode and form your own view.\n\n> ⚠️ **Strategy invariants.** `magnitude_gate_pct` defaults to 0.10%. Below it the gate admits more low-magnitude noise and fees dominate a larger share of trades. This is a design default, not a validated profit threshold (see the retraction above).\n\n> ⚠️ **Risk monitoring does not apply to sub-15-minute markets.** Simmer's stop-loss and take-profit monitors check positions every 15 minutes — they will never fire on 5m markets before resolution. Size accordingly.\n\n## Strategy\n\n**Signal**: Binance 1m candle at window-open — `momentum = (close - open) / open × 100`\n\n**Gate**: `|momentum| >= magnitude_gate_pct` (default 0.10%). Below = no trade.\n\n**Side**: `momentum > 0 → YES`, `momentum < 0 → NO`. Pure direction — no divergence filter.\n\n**Sizing (conviction ladder)**:\n| Tier | |momentum| | Position |\n|------|-----------|----------|\n| 1 | 0.10% – 0.20% | $3 |\n| 2 | 0.20% – 0.35% | $5 |\n| 3 | ≥ 0.35% | $10 |\n\n**Hold**: position held to expiry. No exit logic.\n\n**Strategy thesis (unvalidated)**: the idea is that strong BTC momentum at window-open correlates with the resolution direction before the market re-prices, and that the 0.10% gate filters the noise zone. Replay testing did **not** confirm this for the signal available at the decision point (the prior complete 1m candle). Treat the thesis as untested.\n\n**Backtest status (2026-06-12)**: the original +5.04% / 89.4% backtest was **retracted**. A look-ahead-enforced replay found it used in-window price action (the first minute *inside* the window) that is not available when the entry decision is made. The live-actionable signal showed no measured edge. See the retraction note at the top and DISCLAIMER.md.\n\n## When to Use This Skill\n\nUse this skill when the user wants to:\n- Trade BTC 5-minute fast markets on Polymarket with a validated magnitude filter\n- Automate conviction-scaled position sizing based on signal strength\n- Run a disciplined, gate-filtered fast-market strategy (not raw momentum)\n\n**Do NOT use for**: ETH/SOL/XRP fast markets (separate backtest required), 15m windows (backtest pending), or any strategy where the user wants to trade below the 0.10% magnitude gate.\n\n## Setup Flow\n\n1. **Install the Simmer SDK**\n   ```bash\n   pip install simmer-sdk\n   ```\n\n2. **Set your Simmer API key**\n   ```bash\n   export SIMMER_API_KEY=\"your-key-here\"\n   # Get from: simmer.markets/dashboard → SDK tab\n   ```\n\n3. **Run in paper mode first**\n   ```bash\n   python fast_scaler.py\n   ```\n\n4. **Set up cron (every minute)**\n   ```bash\n   # crontab -e\n   * * * * * cd /path/to/skill && python fast_scaler.py --live --quiet\n   ```\n\n## Quick Start\n\n```bash\n# Paper mode (default) — see what the strategy would do\npython fast_scaler.py\n\n# Live trading\npython fast_scaler.py --live\n\n# Live + quiet (for cron)\npython fast_scaler.py --live --quiet\n\n# Show current positions\npython fast_scaler.py --positions\n\n# Tune the magnitude gate (don't go below 0.10%)\npython fast_scaler.py --set magnitude_gate_pct=0.12\n\n# Adjust position sizes\npython fast_scaler.py --set position_tier3_usd=15\n```\n\n## Key Config Parameters\n\n| Parameter | Default | Description |\n|-----------|---------|-------------|\n| `magnitude_gate_pct` | 0.10 | Min \\|momentum\\| % to trade. **Strategy invariant — don't lower below 0.10.** |\n| `ladder_tier2_pct` | 0.20 | Momentum threshold to enter tier 2 sizing |\n| `ladder_tier3_pct` | 0.35 | Momentum threshold to enter tier 3 (max) sizing |\n| `position_tier1_usd` | 3.0 | Position size for tier 1 |\n| `position_tier2_usd` | 5.0 | Position size for tier 2 |\n| `position_tier3_usd` | 10.0 | Position size for tier 3 |\n| `daily_budget_usd` | 30.0 | Max total USD per day across all trades |\n| `per_market_cap_usd` | 10.0 | Max USD on a single market window |\n| `asset` | BTC | Asset (BTC only in v1.0) |\n| `window` | 5m | Window (5m only in v1.0) |\n| `order_type` | GTC | GTC or FAK |\n\n## What to Watch For\n\n- **Gate fires ~7×/day** on BTC under normal conditions (0.10% threshold). Significantly fewer = check if markets are live and Binance is reachable. Significantly more = consider raising the gate.\n- **Per-market cap** (default $10) prevents stacking multiple bets on the same slot. Leave it at or below `position_tier3_usd`.\n- **Daily budget** (default $30) is the safety cap. At 7 trades/day × avg $5 = $35, the default may cut the last ~1 trade. Increase if you want full daily exposure.\n\n## Risk-envelope defaults — don't raise without your own validation\n\nThe original backtest that motivated these values was retracted (see the top), so treat them as **conservative risk-envelope defaults**, not edge-preserving constraints. There is no validated edge to preserve; these just bound exposure:\n\n- **`magnitude_gate_pct ≥ 0.10`** — lowering admits more low-magnitude noise and trades a larger share of marginal signals.\n- **`position_tier3_usd ≤ 10`** — caps the largest single bet in the conviction ladder ($3/$5/$10).\n- **`daily_budget_usd ≤ 50`** — caps total daily exposure.\n\nLowering any of these reduces exposure. Raising them increases it, with no validated edge to justify the larger size.\n\n## Geo-fallback (Binance.us)\n\nThe skill fetches BTC 1m klines from `api.binance.com`. In geo-restricted regions (e.g. US-hosted Railway deployments) Binance returns HTTP 451. The skill auto-falls-back to `api.binance.us` in that case. If both endpoints are unreachable, market discovery returns nothing for that cycle — the skill exits cleanly with no orders placed.\n\nIf you're running this on a host that can reach neither endpoint, you'll need to proxy/VPN the request or run the skill from a host that can reach Binance.\n\n## Gamma fallback liveness gap\n\nWhen the Simmer SDK's primary market-discovery path is unavailable, the skill falls back to Polymarket's Gamma API. Gamma-sourced markets come through without `is_live_now` precision — the skill uses a time-window heuristic instead. This can occasionally admit a market that has time remaining on the clock but isn't yet in the live trading window. Known gap; tracked for future fix.\n\n## Advanced: Extending the Strategy\n\nThe conviction ladder and magnitude gate are the two load-bearing components. If you want to:\n\n- **Use ETH/SOL**: change `asset`, and run your own validation first. The 0.10% gate is a BTC-only default; there is no validated win rate to cite.\n- **Use 15m markets**: change `window`. Untested.\n- **Tighten the ladder**: raise `ladder_tier2_pct` / `ladder_tier3_pct` for fewer but higher-conviction trades.\n- **Cap exposure**: lower `position_tier3_usd` or `daily_budget_usd`.\n\n## Caveats\n\n- Fast markets resolve on Chainlink, not Binance. The strategy trades the correlation, not the exact price.\n- Spreads on newly opened fast markets can be wide — the 10% spread cap filters most of these.\n- This is an alpha skill (status: scaffold). Run paper validation before committing real funds.\n\nFile v1.2.1:_meta.json\n\n{\n  \"ownerId\": \"kn7axnp7bzqsf5fkx0z8px7han7zyq1x\",\n  \"slug\": \"polymarket-fast-scaler\",\n  \"version\": \"1.2.1\",\n  \"publishedAt\": 1786251715241\n}\n\nFile v1.2.1:DISCLAIMER.md\n\n# Disclaimer\n\nThis skill is a **framework**, not a production trading system. Read this\nin full before connecting it to a wallet with real funds.\n\n## No financial advice\n\nNothing in this skill constitutes financial, investment, or trading\nadvice. The default strategy implemented here is a starting point, not a\ntested edge. Suitability for any account size or risk tolerance is your\nresponsibility to assess.\n\n## Default parameters are not validated\n\nDefault parameters are calibrated for testing the plumbing, not for live\nprofit. They have not been validated to produce positive returns under\ncurrent market conditions. Run paper mode for an extended period before\nscaling beyond default position sizes.\n\n## Automated trading carries irreversible risk\n\nWhen this skill runs with `--live`, it places real on-chain orders.\nOn-chain trades cannot be recalled. Strategy errors, signal lag, market\nregime shifts, and operator misconfiguration can produce losses\nexceeding any specific position size.\n\n## Risk monitoring may not apply to all market types\n\nStop-loss and take-profit monitors run on a fixed schedule. Markets that\nresolve faster than the monitor cycle cannot be exited automatically.\nPosition sizing is the only risk control on these markets — set it\nconservatively.\n\n## Use of this skill is at your own risk\n\nBy installing and running this skill you agree that the authors are not\nliable for any losses, direct or indirect, that arise from its use. This\napplies regardless of skill provenance — official Simmer skills,\ncommunity skills, and skills imported from external repositories all\ncarry this same disclaimer.\n\n## Where to learn more before going live\n\n- The skill's own `SKILL.md` documents the strategy and parameters\n- Your trading venue's documentation covers fee structure, order types,\n  and resolution rules\n- Simmer SDK documentation covers paper mode, dry-run flags, and\n  position monitoring\n\nFile v1.2.1:NEXT.md\n\n# NEXT — polymarket-fast-scaler\n\n**Status**: B3 complete — live test passed. Published to ClawHub at v1.0.0.\n\nB1 ✅ shipped | B2 ✅ paper validation passed (SIM-1997, PR #115) | B3 ✅ live test passed + published (SIM-1998)\n\n## Live test results (2026-05-20 → 2026-05-22)\n\n- 4 trades executed over 48h, all fills confirmed (exit_code=0)\n- $12.00 total spend vs $10/day budget cap\n- All trades Tier 1 ($3) with |momentum| 0.10–0.20%\n- 2349 signals evaluated, no unexpected errors\n- Budget cap respected per-day\n\n## Strategy invariants (DO NOT change without re-running the backtest)\n\n- **Side-picker**: direction only — up → YES, down → NO. No divergence filter.\n- **Magnitude gate**: `|momentum| >= 0.10%`. A noise filter, not a validated edge. The original \"89.4% win rate\" claim was RETRACTED 2026-06-12 (look-ahead bias — see below).\n- **Signal source**: Binance 1m candle at window-open (last complete 1m candle). Do NOT switch to 5m lookback without re-running the backtest.\n- **Sizing table**: 3-tier conviction ladder. T1 $3 / T2 $5 / T3 $10. Tier thresholds: 0.10%/0.20%/0.35%.\n- **Fee formula**: `fee = shares × 0.07 × p × (1-p)`. Crypto taker category.\n- **Hold policy**: hold to expiry. No exit logic — results are binary.\n\n## Backtest source — RETRACTED 2026-06-12 (look-ahead bias)\n\nThe SIM-3070 skill-replay calibration gate found the original backtest measured the\n1m candle that *starts* at window-open (closes 60s into the window it predicts).\nThe live-actionable signal (prior complete candle) shows no measured edge (~49%,\ncoin flip). Writeup: `simmer/_dev/active/_skill-intelligence/pilot-reports/fast-scaler-calibration-gate.md`.\n\n- Original evidence (now known look-ahead-biased): `simmer/_dev/completed/_fast-loop-rebuild/backtest_binance_ladder.md` (30d BTC fast-5m, 218 markets)\n- Cohort profiling: `profile_winners.md` (ndjjwobaq, btcbeliver01 timeline analysis)\n- Parent audit: SIM-1854 close-out comment (2026-05-18)\n\nFile v1.2.1:paper-validation-results.md\n\n# polymarket-fast-scaler — Paper Validation Results (B2)\n\n**Run period:** 2026-05-18 11:50 UTC → 2026-05-20 15:25 UTC (51.6 hours)  \n**Total cycles:** 3,096 (one per minute)  \n**Config:** magnitude gate 0.10% | T1=$3 / T2=$5 / T3=$10 | daily cap $30 | per-market cap $10  \n**Analyzed by:** Cody / SIM-2008 → SIM-1997  \n\n---\n\n## Gate fire rate\n\n| Window | Executed trades | Expected (±50%) | Result |\n|--------|----------------|-----------------|--------|\n| Day 1 (05/18 11:50 → 05/19 11:50) | **1** | 3.5 – 10.5 | ⚠️ Below (market condition — see note) |\n| Day 2 (05/19 11:50 → 05/20 11:50) | **7** | 3.5 – 10.5 | ✅ PASS |\n| Full run average (51.6h, 8 trades) | **3.7/day** | 3.5 – 10.5 | ⚠️ Dragged down by Day 1 |\n\n**Day 1 anomaly:** 95.2% of cycles on 2026-05-18 returned `no_markets` — Polymarket was not publishing 5-minute BTC momentum windows that day (low-volatility Sunday; cross-checked against skip-reason breakdown). This is a market availability condition, not a skill defect. When markets were available (Day 2+), the gate fired exactly as the backtest predicted.\n\n---\n\n## Markets discovered\n\n| Date | Cycles | `no_markets` | `below_magnitude_gate` | `wide_spread` |\n|------|--------|-------------|----------------------|--------------|\n| 2026-05-18 | 730 | 695 (95.2%) | 30 (4.1%) | 2 (0.3%) |\n| 2026-05-19 | 1,440 | 80 (5.6%) | 1,099 (76.3%) | 137 (9.5%) |\n| 2026-05-20 | 927 | 0 (0%) | 712 (76.8%) | 85 (9.2%) |\n\nDay 2 onward: skill correctly discovers BTC 5m windows from Polymarket and applies gate logic.\n\n---\n\n## Tier distribution (8 executed trades)\n\n| Tier | Threshold | Position size | Trades | % | Total spent |\n|------|-----------|--------------|--------|---|-------------|\n| T1 | 0.10% ≤ \\|m\\| < 0.20% | $3.00 | 7 | 87.5% | $21.00 |\n| T2 | 0.20% ≤ \\|m\\| < 0.35% | $5.00 | 1 | 12.5% | $5.00 |\n| T3 | \\|m\\| ≥ 0.35% | $10.00 | 0 | — | — |\n\nObserved momentum values:\n- T1 examples: 0.1036%, 0.1321%, 0.1200%, 0.1040%, 0.1251%, 0.1100%, 0.1715%\n- T2 example: 0.2852%\n\nAll amounts match tier thresholds exactly. **Tier sizing: PASS ✅**\n\n---\n\n## Budget caps\n\n**Daily budget cap ($30/day):**\n- 2026-05-18: $0.00 ✅\n- 2026-05-19: $18.00 ✅\n- 2026-05-20: $8.00 ✅\n\n**Per-market cap ($10 max):**\n- Max single trade observed: $5.00\n- Trades over $10: 0 ✅\n\n---\n\n## Dedup\n\n9 cycles had `trades_attempted=1, trades_executed=0` — the skill signaled a trade but the dedup layer blocked it. These occur on consecutive-minute windows where the same market was already targeted. No double-entry on the same market window was observed in the executed trades. **Dedup: PASS ✅**\n\n---\n\n## Auto-redeem\n\n`.last_auto_redeem` file present, most recent timestamp: **2026-05-20 15:18 UTC**. The 10-minute cooldown rate-limiter is working. Auto-redeem events are not individually logged in the JSONL (they happen inside the cycle, pre-trade), but the cooldown file confirms they fired. **Auto-redeem: PASS ✅**\n\n---\n\n## GTC cleanup\n\n`ORDER_TYPE=GTC` is active. GTC cancellations are executed at cycle start (before trade logic) and not emitted as JSONL fields. `cron_stderr.log` is empty — no cleanup errors in 51.6 hours. **GTC cleanup: PASS ✅ (no errors observed)**\n\n---\n\n## DOD checklist\n\n| Item | Result |\n|------|--------|\n| Gate fires ~7/day (±50%) | ✅ Day 2 = 7 exactly; Day 1 anomaly = market condition |\n| Markets match Polymarket 5m BTC windows | ✅ When published, discovered correctly |\n| Tier sizing correct | ✅ T1=$3, T2=$5, T3=$10 — verified against 8 trades |\n| Daily budget cap ($30) respected | ✅ Max $18 in any calendar day |\n| Per-market cap ($10) respected | ✅ Max $5 single trade |\n| Dedup works | ✅ 9 dedup blocks, no duplicate fills |\n| Auto-redeem fires | ✅ Confirmed via cooldown file |\n| GTC cleanup fires | ✅ No errors, order_type=GTC active |\n\n---\n\n## Conclusion\n\n**B2 PASS.** The skill behaves correctly against live Polymarket data. The Day 1 low gate-fire count (1 vs expected 7) is explained by Polymarket not publishing 5m BTC windows on a low-volatility Sunday — not a skill bug. When markets are available, the gate rate, tier sizing, budget caps, and dedup all match backtest expectations.\n\n**Recommendation: Unblock SIM-1998 (B3 — live test).**\n\n### Notable observations for B3\n\n1. **`no_markets` rate varies with market day.** On quiet Sundays, Polymarket may not publish 5m BTC windows. B3 live testing should monitor gate fire rate over multiple trading days.\n2. **All fires are T1/T2 so far.** No T3 (≥0.35% momentum) seen in 51h. T3 logic is untested in paper mode; B3 should watch for T3 triggers.\n3. **Wide spread rejections peak ~9-10%** on active days. If this exceeds 20%, investigate whether CLOB spread thresholds need tuning.\n\nFile v1.2.1:skill-card.md\n\n## Description:\n\nTrade Polymarket BTC 5-minute fast markets using a magnitude-gated conviction-ladder strategy that scales position size across three conviction tiers and notes the original performance claim was retracted.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[simmer](https://clawhub.ai/user/simmer)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and trading operators use this skill to run or adapt a BTC 5-minute Polymarket fast-market trading template, starting in paper mode and moving to live mode only after their own validation. It automates magnitude-gated signal generation, conviction-scaled sizing, and Polymarket order execution through Simmer.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Live mode can place real Polymarket trades using real USDC.\n\nMitigation: Keep paper mode enabled until the operator has validated the strategy, then use small budgets and verify the Simmer account and wallet before running with --live.\n\nRisk: The security review notes account actions such as auto-redeeming winnings and canceling tagged GTC orders.\n\nMitigation: Review scheduled cron or managed automaton settings before enabling live execution, and monitor open orders and account activity after deployment.\n\nRisk: The original performance claim was retracted and the actionable signal has no measured edge in the provided evidence.\n\nMitigation: Treat the skill as an unvalidated trading template, run extended paper validation, and avoid increasing exposure based on the retracted claim.\n\nRisk: Risk monitoring may not exit sub-15-minute markets before resolution.\n\nMitigation: Use conservative position sizes, daily budget caps, and per-market caps as the primary controls for 5-minute markets.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/simmer/skills/polymarket-fast-scaler)\n- [DISCLAIMER.md](artifact/DISCLAIMER.md)\n- [Paper Validation Results](artifact/paper-validation-results.md)\n- [NEXT.md](artifact/NEXT.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with Python code, shell commands, and JSON configuration]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Default paper mode; live mode can place real Polymarket trades when explicitly enabled.]\n\n## Skill Version(s):\n\n1.2.1 (source: server release evidence and skill frontmatter)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.2.1:clawhub.json\n\n{\n  \"emoji\": \"⚡\",\n  \"primaryEnv\": \"SIMMER_API_KEY\",\n  \"requires\": {\n    \"env\": [\n      \"SIMMER_API_KEY\"\n    ],\n    \"pip\": [\n      \"simmer-sdk>=0.17.32\"\n    ]\n  },\n  \"envVars\": [\n    {\n      \"name\": \"SIMMER_API_KEY\",\n      \"required\": true,\n      \"description\": \"Your Simmer SDK API key — get from simmer.markets/dashboard\"\n    },\n    {\n      \"name\": \"WALLET_PRIVATE_KEY\",\n      \"required\": false,\n      \"description\": \"Only needed for external-wallet self-custody trading. Not required when using managed wallets.\"\n    }\n  ],\n  \"cron\": null,\n  \"autostart\": false,\n  \"automaton\": {\n    \"managed\": true,\n    \"entrypoint\": \"fast_scaler.py\"\n  },\n  \"tunables\": [\n    {\n      \"env\": \"SIMMER_FASTSCALER_MAGNITUDE_GATE\",\n      \"type\": \"number\",\n      \"default\": 0.10,\n      \"range\": [0.10, 0.50],\n      \"step\": 0.01,\n      \"label\": \"Magnitude gate (%)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_POS_T1\",\n      \"type\": \"number\",\n      \"default\": 3.0,\n      \"range\": [1, 25],\n      \"step\": 1,\n      \"label\": \"Tier 1 position size ($)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_POS_T2\",\n      \"type\": \"number\",\n      \"default\": 5.0,\n      \"range\": [1, 15],\n      \"step\": 1,\n      \"label\": \"Tier 2 position size ($) — default $5; the original backtest was retracted, so raising this just increases exposure with no validated edge\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_POS_T3\",\n      \"type\": \"number\",\n      \"default\": 10.0,\n      \"range\": [1, 20],\n      \"step\": 1,\n      \"label\": \"Tier 3 position size ($) — default $10; the original backtest was retracted, so raising this just increases exposure with no validated edge\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_DAILY_BUDGET\",\n      \"type\": \"number\",\n      \"default\": 30.0,\n      \"range\": [10, 50],\n      \"step\": 5,\n      \"label\": \"Daily budget ($) — default $30; caps total daily exposure (the original backtest was retracted)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_PER_MARKET_CAP\",\n      \"type\": \"number\",\n      \"default\": 10.0,\n      \"range\": [1, 50],\n      \"step\": 1,\n      \"label\": \"Per-market cap ($)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_LADDER_T2\",\n      \"type\": \"number\",\n      \"default\": 0.20,\n      \"range\": [0.10, 1.0],\n      \"step\": 0.05,\n      \"label\": \"Tier 2 momentum threshold (%)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_LADDER_T3\",\n      \"type\": \"number\",\n      \"default\": 0.35,\n      \"range\": [0.20, 1.0],\n      \"step\": 0.05,\n      \"label\": \"Tier 3 momentum threshold (%)\"\n    }\n  ]\n}\n\nFile v1.2.1:config.json\n\n{\n  \"magnitude_gate_pct\": 0.10,\n  \"ladder_tier2_pct\": 0.20,\n  \"ladder_tier3_pct\": 0.35,\n  \"position_tier1_usd\": 3.0,\n  \"position_tier2_usd\": 5.0,\n  \"position_tier3_usd\": 10.0,\n  \"daily_budget_usd\": 30.0,\n  \"per_market_cap_usd\": 10.0,\n  \"asset\": \"BTC\",\n  \"window\": \"5m\",\n  \"order_type\": \"GTC\"\n}\n\nArchive v1.2.0: 9 files, 24314 bytes\n\nFiles: clawhub.json (2492b), config.json (294b), DISCLAIMER.md (1925b), fast_scaler.py (41551b), NEXT.md (1971b), paper-validation-results.md (4754b), skill-card.md (3318b), SKILL.md (8555b), _meta.json (141b)\n\nFile v1.2.0:SKILL.md\n\n---\nname: polymarket-fast-scaler\ndescription: Trade Polymarket BTC 5-minute fast markets using a magnitude-gated conviction-ladder strategy. Only fires when |1m BTC momentum| >= 0.10%, the magnitude threshold the strategy is built around. Position size scales with signal strength (3 conviction tiers). Reference template for gate-filtered BTC fast-market trading; the original performance claim was retracted (see below).\nmetadata:\n  author: Simmer (@simmer_markets)\n  version: \"1.2.0\"\n  displayName: Polymarket FastScaler\n  difficulty: advanced\n---\n# Polymarket FastScaler\n\nTrade Polymarket BTC 5-minute fast markets with a conviction-ladder strategy. Only enters when Binance 1m momentum exceeds the 0.10% magnitude gate. Position size scales with signal strength across 3 tiers.\n\n> 🚨 **Framework, not a production trading system.** Read [DISCLAIMER.md](./DISCLAIMER.md) before connecting to a wallet with real funds.\n\n> **Polymarket only.** All trades execute on Polymarket with real USDC. Paper mode is the default.\n\n> ⛔ **Performance claim retracted (2026-06-12).** An earlier version cited an \"89.4% win rate / +5.04%\" backtest. A look-ahead-enforced replay (Simmer skill-replay) found that backtest measured the 1m candle that *starts* at window-open, which only closes 60 seconds into the 5-minute window it is meant to predict. The signal the skill can actually act on at the decision point (the last complete 1m candle, i.e. the prior minute) shows **no measured edge**: roughly a coin flip before fees. Treat this skill as an **unvalidated reference template**, not a validated edge. Run paper mode and form your own view.\n\n> ⚠️ **Strategy invariants.** `magnitude_gate_pct` defaults to 0.10%. Below it the gate admits more low-magnitude noise and fees dominate a larger share of trades. This is a design default, not a validated profit threshold (see the retraction above).\n\n> ⚠️ **Risk monitoring does not apply to sub-15-minute markets.** Simmer's stop-loss and take-profit monitors check positions every 15 minutes — they will never fire on 5m markets before resolution. Size accordingly.\n\n## Strategy\n\n**Signal**: Binance 1m candle at window-open — `momentum = (close - open) / open × 100`\n\n**Gate**: `|momentum| >= magnitude_gate_pct` (default 0.10%). Below = no trade.\n\n**Side**: `momentum > 0 → YES`, `momentum < 0 → NO`. Pure direction — no divergence filter.\n\n**Sizing (conviction ladder)**:\n| Tier | |momentum| | Position |\n|------|-----------|----------|\n| 1 | 0.10% – 0.20% | $3 |\n| 2 | 0.20% – 0.35% | $5 |\n| 3 | ≥ 0.35% | $10 |\n\n**Hold**: position held to expiry. No exit logic.\n\n**Strategy thesis (unvalidated)**: the idea is that strong BTC momentum at window-open correlates with the resolution direction before the market re-prices, and that the 0.10% gate filters the noise zone. Replay testing did **not** confirm this for the signal available at the decision point (the prior complete 1m candle). Treat the thesis as untested.\n\n**Backtest status (2026-06-12)**: the original +5.04% / 89.4% backtest was **retracted**. A look-ahead-enforced replay found it used in-window price action (the first minute *inside* the window) that is not available when the entry decision is made. The live-actionable signal showed no measured edge. See the retraction note at the top and DISCLAIMER.md.\n\n## When to Use This Skill\n\nUse this skill when the user wants to:\n- Trade BTC 5-minute fast markets on Polymarket with a validated magnitude filter\n- Automate conviction-scaled position sizing based on signal strength\n- Run a disciplined, gate-filtered fast-market strategy (not raw momentum)\n\n**Do NOT use for**: ETH/SOL/XRP fast markets (separate backtest required), 15m windows (backtest pending), or any strategy where the user wants to trade below the 0.10% magnitude gate.\n\n## Setup Flow\n\n1. **Install the Simmer SDK**\n   ```bash\n   pip install simmer-sdk\n   ```\n\n2. **Set your Simmer API key**\n   ```bash\n   export SIMMER_API_KEY=\"your-key-here\"\n   # Get from: simmer.markets/dashboard → SDK tab\n   ```\n\n3. **Run in paper mode first**\n   ```bash\n   python fast_scaler.py\n   ```\n\n4. **Set up cron (every minute)**\n   ```bash\n   # crontab -e\n   * * * * * cd /path/to/skill && python fast_scaler.py --live --quiet\n   ```\n\n## Quick Start\n\n```bash\n# Paper mode (default) — see what the strategy would do\npython fast_scaler.py\n\n# Live trading\npython fast_scaler.py --live\n\n# Live + quiet (for cron)\npython fast_scaler.py --live --quiet\n\n# Show current positions\npython fast_scaler.py --positions\n\n# Tune the magnitude gate (don't go below 0.10%)\npython fast_scaler.py --set magnitude_gate_pct=0.12\n\n# Adjust position sizes\npython fast_scaler.py --set position_tier3_usd=15\n```\n\n## Key Config Parameters\n\n| Parameter | Default | Description |\n|-----------|---------|-------------|\n| `magnitude_gate_pct` | 0.10 | Min \\|momentum\\| % to trade. **Strategy invariant — don't lower below 0.10.** |\n| `ladder_tier2_pct` | 0.20 | Momentum threshold to enter tier 2 sizing |\n| `ladder_tier3_pct` | 0.35 | Momentum threshold to enter tier 3 (max) sizing |\n| `position_tier1_usd` | 3.0 | Position size for tier 1 |\n| `position_tier2_usd` | 5.0 | Position size for tier 2 |\n| `position_tier3_usd` | 10.0 | Position size for tier 3 |\n| `daily_budget_usd` | 30.0 | Max total USD per day across all trades |\n| `per_market_cap_usd` | 10.0 | Max USD on a single market window |\n| `asset` | BTC | Asset (BTC only in v1.0) |\n| `window` | 5m | Window (5m only in v1.0) |\n| `order_type` | GTC | GTC or FAK |\n\n## What to Watch For\n\n- **Gate fires ~7×/day** on BTC under normal conditions (0.10% threshold). Significantly fewer = check if markets are live and Binance is reachable. Significantly more = consider raising the gate.\n- **Per-market cap** (default $10) prevents stacking multiple bets on the same slot. Leave it at or below `position_tier3_usd`.\n- **Daily budget** (default $30) is the safety cap. At 7 trades/day × avg $5 = $35, the default may cut the last ~1 trade. Increase if you want full daily exposure.\n\n## Risk-envelope defaults — don't raise without your own validation\n\nThe original backtest that motivated these values was retracted (see the top), so treat them as **conservative risk-envelope defaults**, not edge-preserving constraints. There is no validated edge to preserve; these just bound exposure:\n\n- **`magnitude_gate_pct ≥ 0.10`** — lowering admits more low-magnitude noise and trades a larger share of marginal signals.\n- **`position_tier3_usd ≤ 10`** — caps the largest single bet in the conviction ladder ($3/$5/$10).\n- **`daily_budget_usd ≤ 50`** — caps total daily exposure.\n\nLowering any of these reduces exposure. Raising them increases it, with no validated edge to justify the larger size.\n\n## Geo-fallback (Binance.us)\n\nThe skill fetches BTC 1m klines from `api.binance.com`. In geo-restricted regions (e.g. US-hosted Railway deployments) Binance returns HTTP 451. The skill auto-falls-back to `api.binance.us` in that case. If both endpoints are unreachable, market discovery returns nothing for that cycle — the skill exits cleanly with no orders placed.\n\nIf you're running this on a host that can reach neither endpoint, you'll need to proxy/VPN the request or run the skill from a host that can reach Binance.\n\n## Gamma fallback liveness gap\n\nWhen the Simmer SDK's primary market-discovery path is unavailable, the skill falls back to Polymarket's Gamma API. Gamma-sourced markets come through without `is_live_now` precision — the skill uses a time-window heuristic instead. This can occasionally admit a market that has time remaining on the clock but isn't yet in the live trading window. Known gap; tracked for future fix.\n\n## Advanced: Extending the Strategy\n\nThe conviction ladder and magnitude gate are the two load-bearing components. If you want to:\n\n- **Use ETH/SOL**: change `asset`, and run your own validation first. The 0.10% gate is a BTC-only default; there is no validated win rate to cite.\n- **Use 15m markets**: change `window`. Untested.\n- **Tighten the ladder**: raise `ladder_tier2_pct` / `ladder_tier3_pct` for fewer but higher-conviction trades.\n- **Cap exposure**: lower `position_tier3_usd` or `daily_budget_usd`.\n\n## Caveats\n\n- Fast markets resolve on Chainlink, not Binance. The strategy trades the correlation, not the exact price.\n- Spreads on newly opened fast markets can be wide — the 10% spread cap filters most of these.\n- This is an alpha skill (status: scaffold). Run paper validation before committing real funds.\n\nFile v1.2.0:_meta.json\n\n{\n  \"ownerId\": \"kn7axnp7bzqsf5fkx0z8px7han7zyq1x\",\n  \"slug\": \"polymarket-fast-scaler\",\n  \"version\": \"1.2.0\",\n  \"publishedAt\": 1781317674467\n}\n\nFile v1.2.0:DISCLAIMER.md\n\n# Disclaimer\n\nThis skill is a **framework**, not a production trading system. Read this\nin full before connecting it to a wallet with real funds.\n\n## No financial advice\n\nNothing in this skill constitutes financial, investment, or trading\nadvice. The default strategy implemented here is a starting point, not a\ntested edge. Suitability for any account size or risk tolerance is your\nresponsibility to assess.\n\n## Default parameters are not validated\n\nDefault parameters are calibrated for testing the plumbing, not for live\nprofit. They have not been validated to produce positive returns under\ncurrent market conditions. Run paper mode for an extended period before\nscaling beyond default position sizes.\n\n## Automated trading carries irreversible risk\n\nWhen this skill runs with `--live`, it places real on-chain orders.\nOn-chain trades cannot be recalled. Strategy errors, signal lag, market\nregime shifts, and operator misconfiguration can produce losses\nexceeding any specific position size.\n\n## Risk monitoring may not apply to all market types\n\nStop-loss and take-profit monitors run on a fixed schedule. Markets that\nresolve faster than the monitor cycle cannot be exited automatically.\nPosition sizing is the only risk control on these markets — set it\nconservatively.\n\n## Use of this skill is at your own risk\n\nBy installing and running this skill you agree that the authors are not\nliable for any losses, direct or indirect, that arise from its use. This\napplies regardless of skill provenance — official Simmer skills,\ncommunity skills, and skills imported from external repositories all\ncarry this same disclaimer.\n\n## Where to learn more before going live\n\n- The skill's own `SKILL.md` documents the strategy and parameters\n- Your trading venue's documentation covers fee structure, order types,\n  and resolution rules\n- Simmer SDK documentation covers paper mode, dry-run flags, and\n  position monitoring\n\nFile v1.2.0:NEXT.md\n\n# NEXT — polymarket-fast-scaler\n\n**Status**: B3 complete — live test passed. Published to ClawHub at v1.0.0.\n\nB1 ✅ shipped | B2 ✅ paper validation passed (SIM-1997, PR #115) | B3 ✅ live test passed + published (SIM-1998)\n\n## Live test results (2026-05-20 → 2026-05-22)\n\n- 4 trades executed over 48h, all fills confirmed (exit_code=0)\n- $12.00 total spend vs $10/day budget cap\n- All trades Tier 1 ($3) with |momentum| 0.10–0.20%\n- 2349 signals evaluated, no unexpected errors\n- Budget cap respected per-day\n\n## Strategy invariants (DO NOT change without re-running the backtest)\n\n- **Side-picker**: direction only — up → YES, down → NO. No divergence filter.\n- **Magnitude gate**: `|momentum| >= 0.10%`. A noise filter, not a validated edge. The original \"89.4% win rate\" claim was RETRACTED 2026-06-12 (look-ahead bias — see below).\n- **Signal source**: Binance 1m candle at window-open (last complete 1m candle). Do NOT switch to 5m lookback without re-running the backtest.\n- **Sizing table**: 3-tier conviction ladder. T1 $3 / T2 $5 / T3 $10. Tier thresholds: 0.10%/0.20%/0.35%.\n- **Fee formula**: `fee = shares × 0.07 × p × (1-p)`. Crypto taker category.\n- **Hold policy**: hold to expiry. No exit logic — results are binary.\n\n## Backtest source — RETRACTED 2026-06-12 (look-ahead bias)\n\nThe SIM-3070 skill-replay calibration gate found the original backtest measured the\n1m candle that *starts* at window-open (closes 60s into the window it predicts).\nThe live-actionable signal (prior complete candle) shows no measured edge (~49%,\ncoin flip). Writeup: `simmer/_dev/active/_skill-intelligence/pilot-reports/fast-scaler-calibration-gate.md`.\n\n- Original evidence (now known look-ahead-biased): `simmer/_dev/completed/_fast-loop-rebuild/backtest_binance_ladder.md` (30d BTC fast-5m, 218 markets)\n- Cohort profiling: `profile_winners.md` (ndjjwobaq, btcbeliver01 timeline analysis)\n- Parent audit: SIM-1854 close-out comment (2026-05-18)\n\nFile v1.2.0:paper-validation-results.md\n\n# polymarket-fast-scaler — Paper Validation Results (B2)\n\n**Run period:** 2026-05-18 11:50 UTC → 2026-05-20 15:25 UTC (51.6 hours)  \n**Total cycles:** 3,096 (one per minute)  \n**Config:** magnitude gate 0.10% | T1=$3 / T2=$5 / T3=$10 | daily cap $30 | per-market cap $10  \n**Analyzed by:** Cody / SIM-2008 → SIM-1997  \n\n---\n\n## Gate fire rate\n\n| Window | Executed trades | Expected (±50%) | Result |\n|--------|----------------|-----------------|--------|\n| Day 1 (05/18 11:50 → 05/19 11:50) | **1** | 3.5 – 10.5 | ⚠️ Below (market condition — see note) |\n| Day 2 (05/19 11:50 → 05/20 11:50) | **7** | 3.5 – 10.5 | ✅ PASS |\n| Full run average (51.6h, 8 trades) | **3.7/day** | 3.5 – 10.5 | ⚠️ Dragged down by Day 1 |\n\n**Day 1 anomaly:** 95.2% of cycles on 2026-05-18 returned `no_markets` — Polymarket was not publishing 5-minute BTC momentum windows that day (low-volatility Sunday; cross-checked against skip-reason breakdown). This is a market availability condition, not a skill defect. When markets were available (Day 2+), the gate fired exactly as the backtest predicted.\n\n---\n\n## Markets discovered\n\n| Date | Cycles | `no_markets` | `below_magnitude_gate` | `wide_spread` |\n|------|--------|-------------|----------------------|--------------|\n| 2026-05-18 | 730 | 695 (95.2%) | 30 (4.1%) | 2 (0.3%) |\n| 2026-05-19 | 1,440 | 80 (5.6%) | 1,099 (76.3%) | 137 (9.5%) |\n| 2026-05-20 | 927 | 0 (0%) | 712 (76.8%) | 85 (9.2%) |\n\nDay 2 onward: skill correctly discovers BTC 5m windows from Polymarket and applies gate logic.\n\n---\n\n## Tier distribution (8 executed trades)\n\n| Tier | Threshold | Position size | Trades | % | Total spent |\n|------|-----------|--------------|--------|---|-------------|\n| T1 | 0.10% ≤ \\|m\\| < 0.20% | $3.00 | 7 | 87.5% | $21.00 |\n| T2 | 0.20% ≤ \\|m\\| < 0.35% | $5.00 | 1 | 12.5% | $5.00 |\n| T3 | \\|m\\| ≥ 0.35% | $10.00 | 0 | — | — |\n\nObserved momentum values:\n- T1 examples: 0.1036%, 0.1321%, 0.1200%, 0.1040%, 0.1251%, 0.1100%, 0.1715%\n- T2 example: 0.2852%\n\nAll amounts match tier thresholds exactly. **Tier sizing: PASS ✅**\n\n---\n\n## Budget caps\n\n**Daily budget cap ($30/day):**\n- 2026-05-18: $0.00 ✅\n- 2026-05-19: $18.00 ✅\n- 2026-05-20: $8.00 ✅\n\n**Per-market cap ($10 max):**\n- Max single trade observed: $5.00\n- Trades over $10: 0 ✅\n\n---\n\n## Dedup\n\n9 cycles had `trades_attempted=1, trades_executed=0` — the skill signaled a trade but the dedup layer blocked it. These occur on consecutive-minute windows where the same market was already targeted. No double-entry on the same market window was observed in the executed trades. **Dedup: PASS ✅**\n\n---\n\n## Auto-redeem\n\n`.last_auto_redeem` file present, most recent timestamp: **2026-05-20 15:18 UTC**. The 10-minute cooldown rate-limiter is working. Auto-redeem events are not individually logged in the JSONL (they happen inside the cycle, pre-trade), but the cooldown file confirms they fired. **Auto-redeem: PASS ✅**\n\n---\n\n## GTC cleanup\n\n`ORDER_TYPE=GTC` is active. GTC cancellations are executed at cycle start (before trade logic) and not emitted as JSONL fields. `cron_stderr.log` is empty — no cleanup errors in 51.6 hours. **GTC cleanup: PASS ✅ (no errors observed)**\n\n---\n\n## DOD checklist\n\n| Item | Result |\n|------|--------|\n| Gate fires ~7/day (±50%) | ✅ Day 2 = 7 exactly; Day 1 anomaly = market condition |\n| Markets match Polymarket 5m BTC windows | ✅ When published, discovered correctly |\n| Tier sizing correct | ✅ T1=$3, T2=$5, T3=$10 — verified against 8 trades |\n| Daily budget cap ($30) respected | ✅ Max $18 in any calendar day |\n| Per-market cap ($10) respected | ✅ Max $5 single trade |\n| Dedup works | ✅ 9 dedup blocks, no duplicate fills |\n| Auto-redeem fires | ✅ Confirmed via cooldown file |\n| GTC cleanup fires | ✅ No errors, order_type=GTC active |\n\n---\n\n## Conclusion\n\n**B2 PASS.** The skill behaves correctly against live Polymarket data. The Day 1 low gate-fire count (1 vs expected 7) is explained by Polymarket not publishing 5m BTC windows on a low-volatility Sunday — not a skill bug. When markets are available, the gate rate, tier sizing, budget caps, and dedup all match backtest expectations.\n\n**Recommendation: Unblock SIM-1998 (B3 — live test).**\n\n### Notable observations for B3\n\n1. **`no_markets` rate varies with market day.** On quiet Sundays, Polymarket may not publish 5m BTC windows. B3 live testing should monitor gate fire rate over multiple trading days.\n2. **All fires are T1/T2 so far.** No T3 (≥0.35% momentum) seen in 51h. T3 logic is untested in paper mode; B3 should watch for T3 triggers.\n3. **Wide spread rejections peak ~9-10%** on active days. If this exceeds 20%, investigate whether CLOB spread thresholds need tuning.\n\nFile v1.2.0:skill-card.md\n\n## Description: <br>\nTrade Polymarket BTC 5-minute fast markets with a paper-first, magnitude-gated conviction-ladder strategy that uses Binance 1-minute momentum and explicitly treats prior performance claims as retracted. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[simmer](https://clawhub.ai/user/simmer) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal developers and traders use this skill to run or adapt a paper-first Polymarket BTC 5-minute fast-market strategy with configurable magnitude gates, tiered position sizing, and budget caps. It is intended as an unvalidated reference framework, not as financial advice or a proven trading edge. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Live mode can place real Polymarket trades and change account state. <br>\nMitigation: Run paper mode first, keep the default budget and per-market caps until independently validated, and enable live mode only after reviewing the wallet and credential setup. <br>\nRisk: The skill requires sensitive Simmer or wallet credentials. <br>\nMitigation: Store SIMMER_API_KEY and any wallet private key outside source files, restrict access to the runtime environment, and avoid using an external wallet key unless self-custody trading is required. <br>\nRisk: The documented performance claim was retracted and the magnitude gate is not a validated profitable edge. <br>\nMitigation: Do not rely on historical win-rate claims; run paper validation under current market conditions and treat parameter increases as increased exposure rather than increased expected return. <br>\nRisk: Automated runs can redeem resolved positions and cancel attributed GTC orders. <br>\nMitigation: Review order attribution and cleanup behavior before cron or live operation, and monitor early live runs for unexpected account changes. <br>\nRisk: Stop-loss and take-profit monitoring may not fire before 5-minute markets resolve. <br>\nMitigation: Use conservative position sizing and budget caps as the primary risk controls for sub-15-minute markets. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/simmer/polymarket-fast-scaler) <br>\n- [Publisher profile](https://clawhub.ai/user/simmer) <br>\n- [Skill documentation](artifact/SKILL.md) <br>\n- [Disclaimer](artifact/DISCLAIMER.md) <br>\n- [Paper validation results](artifact/paper-validation-results.md) <br>\n- [Polymarket trading fees](https://docs.polymarket.com/trading/fees) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with Python code, shell commands, configuration values, and JSON status reports] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Paper mode is the default; live mode can place real trades when explicitly enabled.] <br>\n\n## Skill Version(s): <br>\n1.2.0 (source: server release metadata and skill frontmatter) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.2.0:clawhub.json\n\n{\n  \"emoji\": \"⚡\",\n  \"primaryEnv\": \"SIMMER_API_KEY\",\n  \"requires\": {\n    \"env\": [\n      \"SIMMER_API_KEY\"\n    ],\n    \"pip\": [\n      \"simmer-sdk>=0.17.32\"\n    ]\n  },\n  \"envVars\": [\n    {\n      \"name\": \"SIMMER_API_KEY\",\n      \"required\": true,\n      \"description\": \"Your Simmer SDK API key — get from simmer.markets/dashboard\"\n    },\n    {\n      \"name\": \"WALLET_PRIVATE_KEY\",\n      \"required\": false,\n      \"description\": \"Only needed for external-wallet self-custody trading. Not required when using managed wallets.\"\n    }\n  ],\n  \"cron\": null,\n  \"autostart\": false,\n  \"automaton\": {\n    \"managed\": true,\n    \"entrypoint\": \"fast_scaler.py\"\n  },\n  \"tunables\": [\n    {\n      \"env\": \"SIMMER_FASTSCALER_MAGNITUDE_GATE\",\n      \"type\": \"number\",\n      \"default\": 0.10,\n      \"range\": [0.10, 0.50],\n      \"step\": 0.01,\n      \"label\": \"Magnitude gate (%)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_POS_T1\",\n      \"type\": \"number\",\n      \"default\": 3.0,\n      \"range\": [1, 25],\n      \"step\": 1,\n      \"label\": \"Tier 1 position size ($)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_POS_T2\",\n      \"type\": \"number\",\n      \"default\": 5.0,\n      \"range\": [1, 15],\n      \"step\": 1,\n      \"label\": \"Tier 2 position size ($) — default $5; the original backtest was retracted, so raising this just increases exposure with no validated edge\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_POS_T3\",\n      \"type\": \"number\",\n      \"default\": 10.0,\n      \"range\": [1, 20],\n      \"step\": 1,\n      \"label\": \"Tier 3 position size ($) — default $10; the original backtest was retracted, so raising this just increases exposure with no validated edge\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_DAILY_BUDGET\",\n      \"type\": \"number\",\n      \"default\": 30.0,\n      \"range\": [10, 50],\n      \"step\": 5,\n      \"label\": \"Daily budget ($) — default $30; caps total daily exposure (the original backtest was retracted)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_PER_MARKET_CAP\",\n      \"type\": \"number\",\n      \"default\": 10.0,\n      \"range\": [1, 50],\n      \"step\": 1,\n      \"label\": \"Per-market cap ($)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_LADDER_T2\",\n      \"type\": \"number\",\n      \"default\": 0.20,\n      \"range\": [0.10, 1.0],\n      \"step\": 0.05,\n      \"label\": \"Tier 2 momentum threshold (%)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_LADDER_T3\",\n      \"type\": \"number\",\n      \"default\": 0.35,\n      \"range\": [0.20, 1.0],\n      \"step\": 0.05,\n      \"label\": \"Tier 3 momentum threshold (%)\"\n    }\n  ]\n}\n\nFile v1.2.0:config.json\n\n{\n  \"magnitude_gate_pct\": 0.10,\n  \"ladder_tier2_pct\": 0.20,\n  \"ladder_tier3_pct\": 0.35,\n  \"position_tier1_usd\": 3.0,\n  \"position_tier2_usd\": 5.0,\n  \"position_tier3_usd\": 10.0,\n  \"daily_budget_usd\": 30.0,\n  \"per_market_cap_usd\": 10.0,\n  \"asset\": \"BTC\",\n  \"window\": \"5m\",\n  \"order_type\": \"GTC\"\n}\n\nArchive v1.1.0: 9 files, 23200 bytes\n\nFiles: clawhub.json (2491b), config.json (294b), DISCLAIMER.md (1925b), fast_scaler.py (38906b), NEXT.md (1971b), paper-validation-results.md (4754b), skill-card.md (2478b), SKILL.md (8555b), _meta.json (141b)\n\nFile v1.1.0:SKILL.md\n\n---\nname: polymarket-fast-scaler\ndescription: Trade Polymarket BTC 5-minute fast markets using a magnitude-gated conviction-ladder strategy. Only fires when |1m BTC momentum| >= 0.10%, the magnitude threshold the strategy is built around. Position size scales with signal strength (3 conviction tiers). Reference template for gate-filtered BTC fast-market trading; the original performance claim was retracted (see below).\nmetadata:\n  author: Simmer (@simmer_markets)\n  version: \"1.1.0\"\n  displayName: Polymarket FastScaler\n  difficulty: advanced\n---\n# Polymarket FastScaler\n\nTrade Polymarket BTC 5-minute fast markets with a conviction-ladder strategy. Only enters when Binance 1m momentum exceeds the 0.10% magnitude gate. Position size scales with signal strength across 3 tiers.\n\n> 🚨 **Framework, not a production trading system.** Read [DISCLAIMER.md](./DISCLAIMER.md) before connecting to a wallet with real funds.\n\n> **Polymarket only.** All trades execute on Polymarket with real USDC. Paper mode is the default.\n\n> ⛔ **Performance claim retracted (2026-06-12).** An earlier version cited an \"89.4% win rate / +5.04%\" backtest. A look-ahead-enforced replay (Simmer skill-replay) found that backtest measured the 1m candle that *starts* at window-open, which only closes 60 seconds into the 5-minute window it is meant to predict. The signal the skill can actually act on at the decision point (the last complete 1m candle, i.e. the prior minute) shows **no measured edge**: roughly a coin flip before fees. Treat this skill as an **unvalidated reference template**, not a validated edge. Run paper mode and form your own view.\n\n> ⚠️ **Strategy invariants.** `magnitude_gate_pct` defaults to 0.10%. Below it the gate admits more low-magnitude noise and fees dominate a larger share of trades. This is a design default, not a validated profit threshold (see the retraction above).\n\n> ⚠️ **Risk monitoring does not apply to sub-15-minute markets.** Simmer's stop-loss and take-profit monitors check positions every 15 minutes — they will never fire on 5m markets before resolution. Size accordingly.\n\n## Strategy\n\n**Signal**: Binance 1m candle at window-open — `momentum = (close - open) / open × 100`\n\n**Gate**: `|momentum| >= magnitude_gate_pct` (default 0.10%). Below = no trade.\n\n**Side**: `momentum > 0 → YES`, `momentum < 0 → NO`. Pure direction — no divergence filter.\n\n**Sizing (conviction ladder)**:\n| Tier | |momentum| | Position |\n|------|-----------|----------|\n| 1 | 0.10% – 0.20% | $3 |\n| 2 | 0.20% – 0.35% | $5 |\n| 3 | ≥ 0.35% | $10 |\n\n**Hold**: position held to expiry. No exit logic.\n\n**Strategy thesis (unvalidated)**: the idea is that strong BTC momentum at window-open correlates with the resolution direction before the market re-prices, and that the 0.10% gate filters the noise zone. Replay testing did **not** confirm this for the signal available at the decision point (the prior complete 1m candle). Treat the thesis as untested.\n\n**Backtest status (2026-06-12)**: the original +5.04% / 89.4% backtest was **retracted**. A look-ahead-enforced replay found it used in-window price action (the first minute *inside* the window) that is not available when the entry decision is made. The live-actionable signal showed no measured edge. See the retraction note at the top and DISCLAIMER.md.\n\n## When to Use This Skill\n\nUse this skill when the user wants to:\n- Trade BTC 5-minute fast markets on Polymarket with a validated magnitude filter\n- Automate conviction-scaled position sizing based on signal strength\n- Run a disciplined, gate-filtered fast-market strategy (not raw momentum)\n\n**Do NOT use for**: ETH/SOL/XRP fast markets (separate backtest required), 15m windows (backtest pending), or any strategy where the user wants to trade below the 0.10% magnitude gate.\n\n## Setup Flow\n\n1. **Install the Simmer SDK**\n   ```bash\n   pip install simmer-sdk\n   ```\n\n2. **Set your Simmer API key**\n   ```bash\n   export SIMMER_API_KEY=\"your-key-here\"\n   # Get from: simmer.markets/dashboard → SDK tab\n   ```\n\n3. **Run in paper mode first**\n   ```bash\n   python fast_scaler.py\n   ```\n\n4. **Set up cron (every minute)**\n   ```bash\n   # crontab -e\n   * * * * * cd /path/to/skill && python fast_scaler.py --live --quiet\n   ```\n\n## Quick Start\n\n```bash\n# Paper mode (default) — see what the strategy would do\npython fast_scaler.py\n\n# Live trading\npython fast_scaler.py --live\n\n# Live + quiet (for cron)\npython fast_scaler.py --live --quiet\n\n# Show current positions\npython fast_scaler.py --positions\n\n# Tune the magnitude gate (don't go below 0.10%)\npython fast_scaler.py --set magnitude_gate_pct=0.12\n\n# Adjust position sizes\npython fast_scaler.py --set position_tier3_usd=15\n```\n\n## Key Config Parameters\n\n| Parameter | Default | Description |\n|-----------|---------|-------------|\n| `magnitude_gate_pct` | 0.10 | Min \\|momentum\\| % to trade. **Strategy invariant — don't lower below 0.10.** |\n| `ladder_tier2_pct` | 0.20 | Momentum threshold to enter tier 2 sizing |\n| `ladder_tier3_pct` | 0.35 | Momentum threshold to enter tier 3 (max) sizing |\n| `position_tier1_usd` | 3.0 | Position size for tier 1 |\n| `position_tier2_usd` | 5.0 | Position size for tier 2 |\n| `position_tier3_usd` | 10.0 | Position size for tier 3 |\n| `daily_budget_usd` | 30.0 | Max total USD per day across all trades |\n| `per_market_cap_usd` | 10.0 | Max USD on a single market window |\n| `asset` | BTC | Asset (BTC only in v1.0) |\n| `window` | 5m | Window (5m only in v1.0) |\n| `order_type` | GTC | GTC or FAK |\n\n## What to Watch For\n\n- **Gate fires ~7×/day** on BTC under normal conditions (0.10% threshold). Significantly fewer = check if markets are live and Binance is reachable. Significantly more = consider raising the gate.\n- **Per-market cap** (default $10) prevents stacking multiple bets on the same slot. Leave it at or below `position_tier3_usd`.\n- **Daily budget** (default $30) is the safety cap. At 7 trades/day × avg $5 = $35, the default may cut the last ~1 trade. Increase if you want full daily exposure.\n\n## Risk-envelope defaults — don't raise without your own validation\n\nThe original backtest that motivated these values was retracted (see the top), so treat them as **conservative risk-envelope defaults**, not edge-preserving constraints. There is no validated edge to preserve; these just bound exposure:\n\n- **`magnitude_gate_pct ≥ 0.10`** — lowering admits more low-magnitude noise and trades a larger share of marginal signals.\n- **`position_tier3_usd ≤ 10`** — caps the largest single bet in the conviction ladder ($3/$5/$10).\n- **`daily_budget_usd ≤ 50`** — caps total daily exposure.\n\nLowering any of these reduces exposure. Raising them increases it, with no validated edge to justify the larger size.\n\n## Geo-fallback (Binance.us)\n\nThe skill fetches BTC 1m klines from `api.binance.com`. In geo-restricted regions (e.g. US-hosted Railway deployments) Binance returns HTTP 451. The skill auto-falls-back to `api.binance.us` in that case. If both endpoints are unreachable, market discovery returns nothing for that cycle — the skill exits cleanly with no orders placed.\n\nIf you're running this on a host that can reach neither endpoint, you'll need to proxy/VPN the request or run the skill from a host that can reach Binance.\n\n## Gamma fallback liveness gap\n\nWhen the Simmer SDK's primary market-discovery path is unavailable, the skill falls back to Polymarket's Gamma API. Gamma-sourced markets come through without `is_live_now` precision — the skill uses a time-window heuristic instead. This can occasionally admit a market that has time remaining on the clock but isn't yet in the live trading window. Known gap; tracked for future fix.\n\n## Advanced: Extending the Strategy\n\nThe conviction ladder and magnitude gate are the two load-bearing components. If you want to:\n\n- **Use ETH/SOL**: change `asset`, and run your own validation first. The 0.10% gate is a BTC-only default; there is no validated win rate to cite.\n- **Use 15m markets**: change `window`. Untested.\n- **Tighten the ladder**: raise `ladder_tier2_pct` / `ladder_tier3_pct` for fewer but higher-conviction trades.\n- **Cap exposure**: lower `position_tier3_usd` or `daily_budget_usd`.\n\n## Caveats\n\n- Fast markets resolve on Chainlink, not Binance. The strategy trades the correlation, not the exact price.\n- Spreads on newly opened fast markets can be wide — the 10% spread cap filters most of these.\n- This is an alpha skill (status: scaffold). Run paper validation before committing real funds.\n\nFile v1.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn7axnp7bzqsf5fkx0z8px7han7zyq1x\",\n  \"slug\": \"polymarket-fast-scaler\",\n  \"version\": \"1.1.0\",\n  \"publishedAt\": 1781247240220\n}\n\nFile v1.1.0:DISCLAIMER.md\n\n# Disclaimer\n\nThis skill is a **framework**, not a production trading system. Read this\nin full before connecting it to a wallet with real funds.\n\n## No financial advice\n\nNothing in this skill constitutes financial, investment, or trading\nadvice. The default strategy implemented here is a starting point, not a\ntested edge. Suitability for any account size or risk tolerance is your\nresponsibility to assess.\n\n## Default parameters are not validated\n\nDefault parameters are calibrated for testing the plumbing, not for live\nprofit. They have not been validated to produce positive returns under\ncurrent market conditions. Run paper mode for an extended period before\nscaling beyond default position sizes.\n\n## Automated trading carries irreversible risk\n\nWhen this skill runs with `--live`, it places real on-chain orders.\nOn-chain trades cannot be recalled. Strategy errors, signal lag, market\nregime shifts, and operator misconfiguration can produce losses\nexceeding any specific position size.\n\n## Risk monitoring may not apply to all market types\n\nStop-loss and take-profit monitors run on a fixed schedule. Markets that\nresolve faster than the monitor cycle cannot be exited automatically.\nPosition sizing is the only risk control on these markets — set it\nconservatively.\n\n## Use of this skill is at your own risk\n\nBy installing and running this skill you agree that the authors are not\nliable for any losses, direct or indirect, that arise from its use. This\napplies regardless of skill provenance — official Simmer skills,\ncommunity skills, and skills imported from external repositories all\ncarry this same disclaimer.\n\n## Where to learn more before going live\n\n- The skill's own `SKILL.md` documents the strategy and parameters\n- Your trading venue's documentation covers fee structure, order types,\n  and resolution rules\n- Simmer SDK documentation covers paper mode, dry-run flags, and\n  position monitoring\n\nFile v1.1.0:NEXT.md\n\n# NEXT — polymarket-fast-scaler\n\n**Status**: B3 complete — live test passed. Published to ClawHub at v1.0.0.\n\nB1 ✅ shipped | B2 ✅ paper validation passed (SIM-1997, PR #115) | B3 ✅ live test passed + published (SIM-1998)\n\n## Live test results (2026-05-20 → 2026-05-22)\n\n- 4 trades executed over 48h, all fills confirmed (exit_code=0)\n- $12.00 total spend vs $10/day budget cap\n- All trades Tier 1 ($3) with |momentum| 0.10–0.20%\n- 2349 signals evaluated, no unexpected errors\n- Budget cap respected per-day\n\n## Strategy invariants (DO NOT change without re-running the backtest)\n\n- **Side-picker**: direction only — up → YES, down → NO. No divergence filter.\n- **Magnitude gate**: `|momentum| >= 0.10%`. A noise filter, not a validated edge. The original \"89.4% win rate\" claim was RETRACTED 2026-06-12 (look-ahead bias — see below).\n- **Signal source**: Binance 1m candle at window-open (last complete 1m candle). Do NOT switch to 5m lookback without re-running the backtest.\n- **Sizing table**: 3-tier conviction ladder. T1 $3 / T2 $5 / T3 $10. Tier thresholds: 0.10%/0.20%/0.35%.\n- **Fee formula**: `fee = shares × 0.07 × p × (1-p)`. Crypto taker category.\n- **Hold policy**: hold to expiry. No exit logic — results are binary.\n\n## Backtest source — RETRACTED 2026-06-12 (look-ahead bias)\n\nThe SIM-3070 skill-replay calibration gate found the original backtest measured the\n1m candle that *starts* at window-open (closes 60s into the window it predicts).\nThe live-actionable signal (prior complete candle) shows no measured edge (~49%,\ncoin flip). Writeup: `simmer/_dev/active/_skill-intelligence/pilot-reports/fast-scaler-calibration-gate.md`.\n\n- Original evidence (now known look-ahead-biased): `simmer/_dev/completed/_fast-loop-rebuild/backtest_binance_ladder.md` (30d BTC fast-5m, 218 markets)\n- Cohort profiling: `profile_winners.md` (ndjjwobaq, btcbeliver01 timeline analysis)\n- Parent audit: SIM-1854 close-out comment (2026-05-18)\n\nFile v1.1.0:paper-validation-results.md\n\n# polymarket-fast-scaler — Paper Validation Results (B2)\n\n**Run period:** 2026-05-18 11:50 UTC → 2026-05-20 15:25 UTC (51.6 hours)  \n**Total cycles:** 3,096 (one per minute)  \n**Config:** magnitude gate 0.10% | T1=$3 / T2=$5 / T3=$10 | daily cap $30 | per-market cap $10  \n**Analyzed by:** Cody / SIM-2008 → SIM-1997  \n\n---\n\n## Gate fire rate\n\n| Window | Executed trades | Expected (±50%) | Result |\n|--------|----------------|-----------------|--------|\n| Day 1 (05/18 11:50 → 05/19 11:50) | **1** | 3.5 – 10.5 | ⚠️ Below (market condition — see note) |\n| Day 2 (05/19 11:50 → 05/20 11:50) | **7** | 3.5 – 10.5 | ✅ PASS |\n| Full run average (51.6h, 8 trades) | **3.7/day** | 3.5 – 10.5 | ⚠️ Dragged down by Day 1 |\n\n**Day 1 anomaly:** 95.2% of cycles on 2026-05-18 returned `no_markets` — Polymarket was not publishing 5-minute BTC momentum windows that day (low-volatility Sunday; cross-checked against skip-reason breakdown). This is a market availability condition, not a skill defect. When markets were available (Day 2+), the gate fired exactly as the backtest predicted.\n\n---\n\n## Markets discovered\n\n| Date | Cycles | `no_markets` | `below_magnitude_gate` | `wide_spread` |\n|------|--------|-------------|----------------------|--------------|\n| 2026-05-18 | 730 | 695 (95.2%) | 30 (4.1%) | 2 (0.3%) |\n| 2026-05-19 | 1,440 | 80 (5.6%) | 1,099 (76.3%) | 137 (9.5%) |\n| 2026-05-20 | 927 | 0 (0%) | 712 (76.8%) | 85 (9.2%) |\n\nDay 2 onward: skill correctly discovers BTC 5m windows from Polymarket and applies gate logic.\n\n---\n\n## Tier distribution (8 executed trades)\n\n| Tier | Threshold | Position size | Trades | % | Total spent |\n|------|-----------|--------------|--------|---|-------------|\n| T1 | 0.10% ≤ \\|m\\| < 0.20% | $3.00 | 7 | 87.5% | $21.00 |\n| T2 | 0.20% ≤ \\|m\\| < 0.35% | $5.00 | 1 | 12.5% | $5.00 |\n| T3 | \\|m\\| ≥ 0.35% | $10.00 | 0 | — | — |\n\nObserved momentum values:\n- T1 examples: 0.1036%, 0.1321%, 0.1200%, 0.1040%, 0.1251%, 0.1100%, 0.1715%\n- T2 example: 0.2852%\n\nAll amounts match tier thresholds exactly. **Tier sizing: PASS ✅**\n\n---\n\n## Budget caps\n\n**Daily budget cap ($30/day):**\n- 2026-05-18: $0.00 ✅\n- 2026-05-19: $18.00 ✅\n- 2026-05-20: $8.00 ✅\n\n**Per-market cap ($10 max):**\n- Max single trade observed: $5.00\n- Trades over $10: 0 ✅\n\n---\n\n## Dedup\n\n9 cycles had `trades_attempted=1, trades_executed=0` — the skill signaled a trade but the dedup layer blocked it. These occur on consecutive-minute windows where the same market was already targeted. No double-entry on the same market window was observed in the executed trades. **Dedup: PASS ✅**\n\n---\n\n## Auto-redeem\n\n`.last_auto_redeem` file present, most recent timestamp: **2026-05-20 15:18 UTC**. The 10-minute cooldown rate-limiter is working. Auto-redeem events are not individually logged in the JSONL (they happen inside the cycle, pre-trade), but the cooldown file confirms they fired. **Auto-redeem: PASS ✅**\n\n---\n\n## GTC cleanup\n\n`ORDER_TYPE=GTC` is active. GTC cancellations are executed at cycle start (before trade logic) and not emitted as JSONL fields. `cron_stderr.log` is empty — no cleanup errors in 51.6 hours. **GTC cleanup: PASS ✅ (no errors observed)**\n\n---\n\n## DOD checklist\n\n| Item | Result |\n|------|--------|\n| Gate fires ~7/day (±50%) | ✅ Day 2 = 7 exactly; Day 1 anomaly = market condition |\n| Markets match Polymarket 5m BTC windows | ✅ When published, discovered correctly |\n| Tier sizing correct | ✅ T1=$3, T2=$5, T3=$10 — verified against 8 trades |\n| Daily budget cap ($30) respected | ✅ Max $18 in any calendar day |\n| Per-market cap ($10) respected | ✅ Max $5 single trade |\n| Dedup works | ✅ 9 dedup blocks, no duplicate fills |\n| Auto-redeem fires | ✅ Confirmed via cooldown file |\n| GTC cleanup fires | ✅ No errors, order_type=GTC active |\n\n---\n\n## Conclusion\n\n**B2 PASS.** The skill behaves correctly against live Polymarket data. The Day 1 low gate-fire count (1 vs expected 7) is explained by Polymarket not publishing 5m BTC windows on a low-volatility Sunday — not a skill bug. When markets are available, the gate rate, tier sizing, budget caps, and dedup all match backtest expectations.\n\n**Recommendation: Unblock SIM-1998 (B3 — live test).**\n\n### Notable observations for B3\n\n1. **`no_markets` rate varies with market day.** On quiet Sundays, Polymarket may not publish 5m BTC windows. B3 live testing should monitor gate fire rate over multiple trading days.\n2. **All fires are T1/T2 so far.** No T3 (≥0.35% momentum) seen in 51h. T3 logic is untested in paper mode; B3 should watch for T3 triggers.\n3. **Wide spread rejections peak ~9-10%** on active days. If this exceeds 20%, investigate whether CLOB spread thresholds need tuning.\n\nFile v1.1.0:skill-card.md\n\n## Description: <br>\nProvides a Polymarket BTC 5-minute fast-market trading template that uses a 0.10% BTC momentum gate, conviction-tiered position sizing, and paper-first/live execution paths. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[simmer](https://clawhub.ai/user/simmer) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and advanced traders use this skill to configure and run a paper-first Polymarket BTC 5-minute fast-market strategy with magnitude gating, conviction-based sizing, and budget caps. It is appropriate for experimentation or tightly limited live trading after independent validation. <br>\n\n### Deployment Geography for Use: <br>\nGlobal, subject to trading venue and market-data API availability. <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can automate real-money Polymarket trading and may require sensitive credentials. <br>\nMitigation: Start in paper mode, keep budgets and per-market caps small, protect API keys and wallet credentials, and enable live trading only after reviewing the configuration. <br>\nRisk: The trading thesis is unvalidated and the evidence reports inconsistent validation claims around the strategy signal and magnitude filter. <br>\nMitigation: Treat the strategy as a reference template, not a proven edge; perform independent validation before increasing position sizes or relying on the filter. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/simmer/polymarket-fast-scaler) <br>\n- [DISCLAIMER.md](artifact/DISCLAIMER.md) <br>\n- [paper-validation-results.md](artifact/paper-validation-results.md) <br>\n- [NEXT.md](artifact/NEXT.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [guidance, markdown, code, shell commands, configuration] <br>\n**Output Format:** [Markdown guidance with Python commands and JSON-style configuration values] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Paper mode is the default; live trading requires explicit configuration, a Simmer API key, and careful budget limits.] <br>\n\n## Skill Version(s): <br>\n1.1.0 (source: server release metadata and skill frontmatter) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.1.0:clawhub.json\n\n{\n  \"emoji\": \"⚡\",\n  \"primaryEnv\": \"SIMMER_API_KEY\",\n  \"requires\": {\n    \"env\": [\n      \"SIMMER_API_KEY\"\n    ],\n    \"pip\": [\n      \"simmer-sdk>=0.17.0\"\n    ]\n  },\n  \"envVars\": [\n    {\n      \"name\": \"SIMMER_API_KEY\",\n      \"required\": true,\n      \"description\": \"Your Simmer SDK API key — get from simmer.markets/dashboard\"\n    },\n    {\n      \"name\": \"WALLET_PRIVATE_KEY\",\n      \"required\": false,\n      \"description\": \"Only needed for external-wallet self-custody trading. Not required when using managed wallets.\"\n    }\n  ],\n  \"cron\": null,\n  \"autostart\": false,\n  \"automaton\": {\n    \"managed\": true,\n    \"entrypoint\": \"fast_scaler.py\"\n  },\n  \"tunables\": [\n    {\n      \"env\": \"SIMMER_FASTSCALER_MAGNITUDE_GATE\",\n      \"type\": \"number\",\n      \"default\": 0.10,\n      \"range\": [0.10, 0.50],\n      \"step\": 0.01,\n      \"label\": \"Magnitude gate (%)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_POS_T1\",\n      \"type\": \"number\",\n      \"default\": 3.0,\n      \"range\": [1, 25],\n      \"step\": 1,\n      \"label\": \"Tier 1 position size ($)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_POS_T2\",\n      \"type\": \"number\",\n      \"default\": 5.0,\n      \"range\": [1, 15],\n      \"step\": 1,\n      \"label\": \"Tier 2 position size ($) — default $5; the original backtest was retracted, so raising this just increases exposure with no validated edge\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_POS_T3\",\n      \"type\": \"number\",\n      \"default\": 10.0,\n      \"range\": [1, 20],\n      \"step\": 1,\n      \"label\": \"Tier 3 position size ($) — default $10; the original backtest was retracted, so raising this just increases exposure with no validated edge\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_DAILY_BUDGET\",\n      \"type\": \"number\",\n      \"default\": 30.0,\n      \"range\": [10, 50],\n      \"step\": 5,\n      \"label\": \"Daily budget ($) — default $30; caps total daily exposure (the original backtest was retracted)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_PER_MARKET_CAP\",\n      \"type\": \"number\",\n      \"default\": 10.0,\n      \"range\": [1, 50],\n      \"step\": 1,\n      \"label\": \"Per-market cap ($)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_LADDER_T2\",\n      \"type\": \"number\",\n      \"default\": 0.20,\n      \"range\": [0.10, 1.0],\n      \"step\": 0.05,\n      \"label\": \"Tier 2 momentum threshold (%)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_LADDER_T3\",\n      \"type\": \"number\",\n      \"default\": 0.35,\n      \"range\": [0.20, 1.0],\n      \"step\": 0.05,\n      \"label\": \"Tier 3 momentum threshold (%)\"\n    }\n  ]\n}\n\nFile v1.1.0:config.json\n\n{\n  \"magnitude_gate_pct\": 0.10,\n  \"ladder_tier2_pct\": 0.20,\n  \"ladder_tier3_pct\": 0.35,\n  \"position_tier1_usd\": 3.0,\n  \"position_tier2_usd\": 5.0,\n  \"position_tier3_usd\": 10.0,\n  \"daily_budget_usd\": 30.0,\n  \"per_market_cap_usd\": 10.0,\n  \"asset\": \"BTC\",\n  \"window\": \"5m\",\n  \"order_type\": \"GTC\"\n}\n\nArchive v1.0.0: 9 files, 22791 bytes\n\nFiles: clawhub.json (2410b), config.json (294b), DISCLAIMER.md (1925b), fast_scaler.py (38668b), NEXT.md (1563b), paper-validation-results.md (4754b), skill-card.md (3004b), SKILL.md (7939b), _meta.json (141b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: polymarket-fast-scaler\ndescription: Trade Polymarket BTC 5-minute fast markets using a magnitude-gated conviction-ladder strategy. Only fires when |1m BTC momentum| >= 0.10% — the backtested threshold above which the strategy shows positive EV. Position size scales with signal strength (3 conviction tiers). Use when user wants disciplined, gate-filtered BTC fast-market trading.\nmetadata:\n  author: Simmer (@simmer_markets)\n  version: \"1.0.0\"\n  displayName: Polymarket FastScaler\n  difficulty: advanced\n---\n# Polymarket FastScaler\n\nTrade Polymarket BTC 5-minute fast markets with a conviction-ladder strategy. Only enters when Binance 1m momentum exceeds the 0.10% magnitude gate — the EV-positive regime validated by backtest. Position size scales with signal strength across 3 tiers.\n\n> 🚨 **Framework, not a production trading system.** Read [DISCLAIMER.md](./DISCLAIMER.md) before connecting to a wallet with real funds.\n\n> **Polymarket only.** All trades execute on Polymarket with real USDC. Paper mode is the default.\n\n> ⚠️ **Strategy invariants.** Do not lower `magnitude_gate_pct` below 0.10% without re-running the backtest. The 89.4% win rate is gated on this threshold. Below it, the strategy enters the noise zone where fees dominate.\n\n> ⚠️ **Risk monitoring does not apply to sub-15-minute markets.** Simmer's stop-loss and take-profit monitors check positions every 15 minutes — they will never fire on 5m markets before resolution. Size accordingly.\n\n## Strategy\n\n**Signal**: Binance 1m candle at window-open — `momentum = (close - open) / open × 100`\n\n**Gate**: `|momentum| >= magnitude_gate_pct` (default 0.10%). Below = no trade.\n\n**Side**: `momentum > 0 → YES`, `momentum < 0 → NO`. Pure direction — no divergence filter.\n\n**Sizing (conviction ladder)**:\n| Tier | |momentum| | Position |\n|------|-----------|----------|\n| 1 | 0.10% – 0.20% | $3 |\n| 2 | 0.20% – 0.35% | $5 |\n| 3 | ≥ 0.35% | $10 |\n\n**Hold**: position held to expiry. No exit logic.\n\n**Why this works**: Polymarket fast markets resolve on Chainlink oracle snapshots. At the moment of the 1m window-open candle, strong BTC momentum correlates with the resolution direction before the market re-prices. The 0.10% gate filters the noise zone where this correlation collapses and fees dominate.\n\n**Backtest (BTC 5m, 30d)**: +5.04% gross / 218 markets / 89.4% win rate at |momentum| ≥ 0.10%. Past performance does not guarantee future results — see DISCLAIMER.md.\n\n## When to Use This Skill\n\nUse this skill when the user wants to:\n- Trade BTC 5-minute fast markets on Polymarket with a validated magnitude filter\n- Automate conviction-scaled position sizing based on signal strength\n- Run a disciplined, gate-filtered fast-market strategy (not raw momentum)\n\n**Do NOT use for**: ETH/SOL/XRP fast markets (separate backtest required), 15m windows (backtest pending), or any strategy where the user wants to trade below the 0.10% magnitude gate.\n\n## Setup Flow\n\n1. **Install the Simmer SDK**\n   ```bash\n   pip install simmer-sdk\n   ```\n\n2. **Set your Simmer API key**\n   ```bash\n   export SIMMER_API_KEY=\"your-key-here\"\n   # Get from: simmer.markets/dashboard → SDK tab\n   ```\n\n3. **Run in paper mode first**\n   ```bash\n   python fast_scaler.py\n   ```\n\n4. **Set up cron (every minute)**\n   ```bash\n   # crontab -e\n   * * * * * cd /path/to/skill && python fast_scaler.py --live --quiet\n   ```\n\n## Quick Start\n\n```bash\n# Paper mode (default) — see what the strategy would do\npython fast_scaler.py\n\n# Live trading\npython fast_scaler.py --live\n\n# Live + quiet (for cron)\npython fast_scaler.py --live --quiet\n\n# Show current positions\npython fast_scaler.py --positions\n\n# Tune the magnitude gate (don't go below 0.10%)\npython fast_scaler.py --set magnitude_gate_pct=0.12\n\n# Adjust position sizes\npython fast_scaler.py --set position_tier3_usd=15\n```\n\n## Key Config Parameters\n\n| Parameter | Default | Description |\n|-----------|---------|-------------|\n| `magnitude_gate_pct` | 0.10 | Min \\|momentum\\| % to trade. **Strategy invariant — don't lower below 0.10.** |\n| `ladder_tier2_pct` | 0.20 | Momentum threshold to enter tier 2 sizing |\n| `ladder_tier3_pct` | 0.35 | Momentum threshold to enter tier 3 (max) sizing |\n| `position_tier1_usd` | 3.0 | Position size for tier 1 |\n| `position_tier2_usd` | 5.0 | Position size for tier 2 |\n| `position_tier3_usd` | 10.0 | Position size for tier 3 |\n| `daily_budget_usd` | 30.0 | Max total USD per day across all trades |\n| `per_market_cap_usd` | 10.0 | Max USD on a single market window |\n| `asset` | BTC | Asset (BTC only in v1.0) |\n| `window` | 5m | Window (5m only in v1.0) |\n| `order_type` | GTC | GTC or FAK |\n\n## What to Watch For\n\n- **Gate fires ~7×/day** on BTC under normal conditions (0.10% threshold). Significantly fewer = check if markets are live and Binance is reachable. Significantly more = consider raising the gate.\n- **Per-market cap** (default $10) prevents stacking multiple bets on the same slot. Leave it at or below `position_tier3_usd`.\n- **Daily budget** (default $30) is the safety cap. At 7 trades/day × avg $5 = $35, the default may cut the last ~1 trade. Increase if you want full daily exposure.\n\n## Invariants — don't raise without re-backtesting\n\nThe +5.04% / 89.4% backtest result is conditional on the parameter values it was run against. Three values are **invariants** — changing them invalidates the backtest and the skill becomes an unvalidated experiment:\n\n- **`magnitude_gate_pct ≥ 0.10`** — lowering admits noise; backtest win rate degrades fast below 0.10%.\n- **`position_tier3_usd ≤ 10`** — the conviction ladder ($3/$5/$10) is sized for the observed win-rate distribution. Raising T3 without re-running the backtest scales bet size beyond what the empirical edge supports.\n- **`daily_budget_usd ≤ 50`** — the daily budget caps total daily exposure. Raising it past ~$50 admits parameter combinations the backtest didn't cover.\n\nLowering any of these is always safe. Raising them is your call but invalidates the empirical evidence cited above.\n\n## Geo-fallback (Binance.us)\n\nThe skill fetches BTC 1m klines from `api.binance.com`. In geo-restricted regions (e.g. US-hosted Railway deployments) Binance returns HTTP 451. The skill auto-falls-back to `api.binance.us` in that case. If both endpoints are unreachable, market discovery returns nothing for that cycle — the skill exits cleanly with no orders placed.\n\nIf you're running this on a host that can reach neither endpoint, you'll need to proxy/VPN the request or run the skill from a host that can reach Binance.\n\n## Gamma fallback liveness gap\n\nWhen the Simmer SDK's primary market-discovery path is unavailable, the skill falls back to Polymarket's Gamma API. Gamma-sourced markets come through without `is_live_now` precision — the skill uses a time-window heuristic instead. This can occasionally admit a market that has time remaining on the clock but isn't yet in the live trading window. Known gap; tracked for future fix.\n\n## Advanced: Extending the Strategy\n\nThe conviction ladder and magnitude gate are the two load-bearing components. All other parameters are tunable without invalidating the backtest. If you want to:\n\n- **Use ETH/SOL**: change `asset` — but run your own backtest first. The 0.10% gate and 89.4% win rate are BTC-only results.\n- **Use 15m markets**: change `window` — 15m backtest is on the roadmap but not yet run.\n- **Tighten the ladder**: raise `ladder_tier2_pct` / `ladder_tier3_pct` for fewer but higher-conviction trades.\n- **Cap exposure**: lower `position_tier3_usd` or `daily_budget_usd`.\n\n## Caveats\n\n- Fast markets resolve on Chainlink, not Binance. The strategy trades the correlation, not the exact price.\n- Spreads on newly opened fast markets can be wide — the 10% spread cap filters most of these.\n- This is an alpha skill (status: scaffold). Run paper validation before committing real funds.\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7axnp7bzqsf5fkx0z8px7han7zyq1x\",\n  \"slug\": \"polymarket-fast-scaler\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1781146454783\n}\n\nFile v1.0.0:DISCLAIMER.md\n\n# Disclaimer\n\nThis skill is a **framework**, not a production trading system. Read this\nin full before connecting it to a wallet with real funds.\n\n## No financial advice\n\nNothing in this skill constitutes financial, investment, or trading\nadvice. The default strategy implemented here is a starting point, not a\ntested edge. Suitability for any account size or risk tolerance is your\nresponsibility to assess.\n\n## Default parameters are not validated\n\nDefault parameters are calibrated for testing the plumbing, not for live\nprofit. They have not been validated to produce positive returns under\ncurrent market conditions. Run paper mode for an extended period before\nscaling beyond default position sizes.\n\n## Automated trading carries irreversible risk\n\nWhen this skill runs with `--live`, it places real on-chain orders.\nOn-chain trades cannot be recalled. Strategy errors, signal lag, market\nregime shifts, and operator misconfiguration can produce losses\nexceeding any specific position size.\n\n## Risk monitoring may not apply to all market types\n\nStop-loss and take-profit monitors run on a fixed schedule. Markets that\nresolve faster than the monitor cycle cannot be exited automatically.\nPosition sizing is the only risk control on these markets — set it\nconservatively.\n\n## Use of this skill is at your own risk\n\nBy installing and running this skill you agree that the authors are not\nliable for any losses, direct or indirect, that arise from its use. This\napplies regardless of skill provenance — official Simmer skills,\ncommunity skills, and skills imported from external repositories all\ncarry this same disclaimer.\n\n## Where to learn more before going live\n\n- The skill's own `SKILL.md` documents the strategy and parameters\n- Your trading venue's documentation covers fee structure, order types,\n  and resolution rules\n- Simmer SDK documentation covers paper mode, dry-run flags, and\n  position monitoring\n\nFile v1.0.0:NEXT.md\n\n# NEXT — polymarket-fast-scaler\n\n**Status**: B3 complete — live test passed. Published to ClawHub at v1.0.0.\n\nB1 ✅ shipped | B2 ✅ paper validation passed (SIM-1997, PR #115) | B3 ✅ live test passed + published (SIM-1998)\n\n## Live test results (2026-05-20 → 2026-05-22)\n\n- 4 trades executed over 48h, all fills confirmed (exit_code=0)\n- $12.00 total spend vs $10/day budget cap\n- All trades Tier 1 ($3) with |momentum| 0.10–0.20%\n- 2349 signals evaluated, no unexpected errors\n- Budget cap respected per-day\n\n## Strategy invariants (DO NOT change without re-running the backtest)\n\n- **Side-picker**: direction only — up → YES, down → NO. No divergence filter.\n- **Magnitude gate**: `|momentum| >= 0.10%`. This is the load-bearing invariant. At 0.10% the strategy shows 89.4% win rate; below this threshold it enters the noise zone (structurally negative EV after fees).\n- **Signal source**: Binance 1m candle at window-open (last complete 1m candle). Do NOT switch to 5m lookback without re-running the backtest.\n- **Sizing table**: 3-tier conviction ladder. T1 $3 / T2 $5 / T3 $10. Tier thresholds: 0.10%/0.20%/0.35%.\n- **Fee formula**: `fee = shares × 0.07 × p × (1-p)`. Crypto taker category.\n- **Hold policy**: hold to expiry. No exit logic — results are binary.\n\n## Backtest source\n\n- Evidence: `simmer/_dev/active/_fast-loop-rebuild/backtest_binance_ladder.md` (30d BTC fast-5m, 218 markets)\n- Cohort profiling: `profile_winners.md` (ndjjwobaq, btcbeliver01 timeline analysis)\n- Parent audit: SIM-1854 close-out comment (2026-05-18)\n\nFile v1.0.0:paper-validation-results.md\n\n# polymarket-fast-scaler — Paper Validation Results (B2)\n\n**Run period:** 2026-05-18 11:50 UTC → 2026-05-20 15:25 UTC (51.6 hours)  \n**Total cycles:** 3,096 (one per minute)  \n**Config:** magnitude gate 0.10% | T1=$3 / T2=$5 / T3=$10 | daily cap $30 | per-market cap $10  \n**Analyzed by:** Cody / SIM-2008 → SIM-1997  \n\n---\n\n## Gate fire rate\n\n| Window | Executed trades | Expected (±50%) | Result |\n|--------|----------------|-----------------|--------|\n| Day 1 (05/18 11:50 → 05/19 11:50) | **1** | 3.5 – 10.5 | ⚠️ Below (market condition — see note) |\n| Day 2 (05/19 11:50 → 05/20 11:50) | **7** | 3.5 – 10.5 | ✅ PASS |\n| Full run average (51.6h, 8 trades) | **3.7/day** | 3.5 – 10.5 | ⚠️ Dragged down by Day 1 |\n\n**Day 1 anomaly:** 95.2% of cycles on 2026-05-18 returned `no_markets` — Polymarket was not publishing 5-minute BTC momentum windows that day (low-volatility Sunday; cross-checked against skip-reason breakdown). This is a market availability condition, not a skill defect. When markets were available (Day 2+), the gate fired exactly as the backtest predicted.\n\n---\n\n## Markets discovered\n\n| Date | Cycles | `no_markets` | `below_magnitude_gate` | `wide_spread` |\n|------|--------|-------------|----------------------|--------------|\n| 2026-05-18 | 730 | 695 (95.2%) | 30 (4.1%) | 2 (0.3%) |\n| 2026-05-19 | 1,440 | 80 (5.6%) | 1,099 (76.3%) | 137 (9.5%) |\n| 2026-05-20 | 927 | 0 (0%) | 712 (76.8%) | 85 (9.2%) |\n\nDay 2 onward: skill correctly discovers BTC 5m windows from Polymarket and applies gate logic.\n\n---\n\n## Tier distribution (8 executed trades)\n\n| Tier | Threshold | Position size | Trades | % | Total spent |\n|------|-----------|--------------|--------|---|-------------|\n| T1 | 0.10% ≤ \\|m\\| < 0.20% | $3.00 | 7 | 87.5% | $21.00 |\n| T2 | 0.20% ≤ \\|m\\| < 0.35% | $5.00 | 1 | 12.5% | $5.00 |\n| T3 | \\|m\\| ≥ 0.35% | $10.00 | 0 | — | — |\n\nObserved momentum values:\n- T1 examples: 0.1036%, 0.1321%, 0.1200%, 0.1040%, 0.1251%, 0.1100%, 0.1715%\n- T2 example: 0.2852%\n\nAll amounts match tier thresholds exactly. **Tier sizing: PASS ✅**\n\n---\n\n## Budget caps\n\n**Daily budget cap ($30/day):**\n- 2026-05-18: $0.00 ✅\n- 2026-05-19: $18.00 ✅\n- 2026-05-20: $8.00 ✅\n\n**Per-market cap ($10 max):**\n- Max single trade observed: $5.00\n- Trades over $10: 0 ✅\n\n---\n\n## Dedup\n\n9 cycles had `trades_attempted=1, trades_executed=0` — the skill signaled a trade but the dedup layer blocked it. These occur on consecutive-minute windows where the same market was already targeted. No double-entry on the same market window was observed in the executed trades. **Dedup: PASS ✅**\n\n---\n\n## Auto-redeem\n\n`.last_auto_redeem` file present, most recent timestamp: **2026-05-20 15:18 UTC**. The 10-minute cooldown rate-limiter is working. Auto-redeem events are not individually logged in the JSONL (they happen inside the cycle, pre-trade), but the cooldown file confirms they fired. **Auto-redeem: PASS ✅**\n\n---\n\n## GTC cleanup\n\n`ORDER_TYPE=GTC` is active. GTC cancellations are executed at cycle start (before trade logic) and not emitted as JSONL fields. `cron_stderr.log` is empty — no cleanup errors in 51.6 hours. **GTC cleanup: PASS ✅ (no errors observed)**\n\n---\n\n## DOD checklist\n\n| Item | Result |\n|------|--------|\n| Gate fires ~7/day (±50%) | ✅ Day 2 = 7 exactly; Day 1 anomaly = market condition |\n| Markets match Polymarket 5m BTC windows | ✅ When published, discovered correctly |\n| Tier sizing correct | ✅ T1=$3, T2=$5, T3=$10 — verified against 8 trades |\n| Daily budget cap ($30) respected | ✅ Max $18 in any calendar day |\n| Per-market cap ($10) respected | ✅ Max $5 single trade |\n| Dedup works | ✅ 9 dedup blocks, no duplicate fills |\n| Auto-redeem fires | ✅ Confirmed via cooldown file |\n| GTC cleanup fires | ✅ No errors, order_type=GTC active |\n\n---\n\n## Conclusion\n\n**B2 PASS.** The skill behaves correctly against live Polymarket data. The Day 1 low gate-fire count (1 vs expected 7) is explained by Polymarket not publishing 5m BTC windows on a low-volatility Sunday — not a skill bug. When markets are available, the gate rate, tier sizing, budget caps, and dedup all match backtest expectations.\n\n**Recommendation: Unblock SIM-1998 (B3 — live test).**\n\n### Notable observations for B3\n\n1. **`no_markets` rate varies with market day.** On quiet Sundays, Polymarket may not publish 5m BTC windows. B3 live testing should monitor gate fire rate over multiple trading days.\n2. **All fires are T1/T2 so far.** No T3 (≥0.35% momentum) seen in 51h. T3 logic is untested in paper mode; B3 should watch for T3 triggers.\n3. **Wide spread rejections peak ~9-10%** on active days. If this exceeds 20%, investigate whether CLOB spread thresholds need tuning.\n\nFile v1.0.0:skill-card.md\n\n## Description: <br>\nTrades Polymarket BTC 5-minute fast markets using a magnitude-gated conviction-ladder strategy with paper mode by default and optional live execution. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[simmer](https://clawhub.ai/user/simmer) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal developers and advanced trading operators use this skill to evaluate or run a BTC 5-minute Polymarket strategy that gates entries on Binance 1-minute momentum and scales position size by conviction. It is intended for paper-first validation before any live trading with real USDC. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Live mode can place real-money Polymarket trades and spend USDC automatically. <br>\nMitigation: Start in paper mode, require an explicit live-mode decision, keep the default small position and daily budget limits, and monitor results before scaling exposure. <br>\nRisk: On-chain trades cannot be recalled, and strategy errors or market shifts can cause losses. <br>\nMitigation: Use conservative sizing, preserve the documented magnitude gate and budget caps, and re-run validation before changing load-bearing strategy parameters. <br>\nRisk: Fast 5-minute markets may resolve before stop-loss or take-profit monitors can act. <br>\nMitigation: Treat position sizing as the primary risk control for this market type and assume positions are held to expiry. <br>\nRisk: Persistent cron execution can repeatedly evaluate markets and perform account-changing actions such as redeeming resolved positions or cancelling this skill's stale GTC orders. <br>\nMitigation: Run persistent live execution only with active monitoring, a clear disable path, and API credentials scoped to the intended trading account. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/simmer/polymarket-fast-scaler) <br>\n- [Publisher profile](https://clawhub.ai/user/simmer) <br>\n- [Disclaimer](artifact/DISCLAIMER.md) <br>\n- [Paper validation results](artifact/paper-validation-results.md) <br>\n- [Release and live-test notes](artifact/NEXT.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with inline shell commands and configuration values] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Paper mode is the default; live mode can place real-money Polymarket trades, redeem resolved positions, and cancel stale GTC orders created by this skill.] <br>\n\n## Skill Version(s): <br>\n1.0.0 (source: server release metadata and skill frontmatter) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.0:clawhub.json\n\n{\n  \"emoji\": \"⚡\",\n  \"primaryEnv\": \"SIMMER_API_KEY\",\n  \"requires\": {\n    \"env\": [\n      \"SIMMER_API_KEY\"\n    ],\n    \"pip\": [\n      \"simmer-sdk>=0.17.0\"\n    ]\n  },\n  \"envVars\": [\n    {\n      \"name\": \"SIMMER_API_KEY\",\n      \"required\": true,\n      \"description\": \"Your Simmer SDK API key — get from simmer.markets/dashboard\"\n    },\n    {\n      \"name\": \"WALLET_PRIVATE_KEY\",\n      \"required\": false,\n      \"description\": \"Only needed for external-wallet self-custody trading. Not required when using managed wallets.\"\n    }\n  ],\n  \"cron\": null,\n  \"autostart\": false,\n  \"automaton\": {\n    \"managed\": true,\n    \"entrypoint\": \"fast_scaler.py\"\n  },\n  \"tunables\": [\n    {\n      \"env\": \"SIMMER_FASTSCALER_MAGNITUDE_GATE\",\n      \"type\": \"number\",\n      \"default\": 0.10,\n      \"range\": [0.10, 0.50],\n      \"step\": 0.01,\n      \"label\": \"Magnitude gate (%)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_POS_T1\",\n      \"type\": \"number\",\n      \"default\": 3.0,\n      \"range\": [1, 25],\n      \"step\": 1,\n      \"label\": \"Tier 1 position size ($)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_POS_T2\",\n      \"type\": \"number\",\n      \"default\": 5.0,\n      \"range\": [1, 15],\n      \"step\": 1,\n      \"label\": \"Tier 2 position size ($) — backtested at $5; raising past $15 invalidates the +5.04% backtest\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_POS_T3\",\n      \"type\": \"number\",\n      \"default\": 10.0,\n      \"range\": [1, 20],\n      \"step\": 1,\n      \"label\": \"Tier 3 position size ($) — backtested at $10; raising past $20 invalidates the +5.04% backtest\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_DAILY_BUDGET\",\n      \"type\": \"number\",\n      \"default\": 30.0,\n      \"range\": [10, 50],\n      \"step\": 5,\n      \"label\": \"Daily budget ($) — backtested at $30; raising past $50 admits parameter combos the backtest didn't cover\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_PER_MARKET_CAP\",\n      \"type\": \"number\",\n      \"default\": 10.0,\n      \"range\": [1, 50],\n      \"step\": 1,\n      \"label\": \"Per-market cap ($)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_LADDER_T2\",\n      \"type\": \"number\",\n      \"default\": 0.20,\n      \"range\": [0.10, 1.0],\n      \"step\": 0.05,\n      \"label\": \"Tier 2 momentum threshold (%)\"\n    },\n    {\n      \"env\": \"SIMMER_FASTSCALER_LADDER_T3\",\n      \"type\": \"number\",\n      \"default\": 0.35,\n      \"range\": [0.20, 1.0],\n      \"step\": 0.05,\n      \"label\": \"Tier 3 momentum threshold (%)\"\n    }\n  ]\n}\n\nFile v1.0.0:config.json\n\n{\n  \"magnitude_gate_pct\": 0.10,\n  \"ladder_tier2_pct\": 0.20,\n  \"ladder_tier3_pct\": 0.35,\n  \"position_tier1_usd\": 3.0,\n  \"position_tier2_usd\": 5.0,\n  \"position_tier3_usd\": 10.0,\n  \"daily_budget_usd\": 30.0,\n  \"per_market_cap_usd\": 10.0,\n  \"asset\": \"BTC\",\n  \"window\": \"5m\",\n  \"order_type\": \"GTC\"\n}\n\nArchive v0.9.0: 9 files, 22700 bytes\n\nFiles: clawhub.json (2456b), config.json (294b), DISCLAIMER.md (1925b), fast_scaler.py (38668b), NEXT.md (1541b), paper-validation-results.md (4754b), skill-card.md (2700b), SKILL.md (7958b), _meta.json (141b)\n\nFile v0.9.0:SKILL.md\n\n---\nname: polymarket-fast-scaler\ndescription: Trade Polymarket BTC 5-minute fast markets using a magnitude-gated conviction-ladder strategy. Only fires when |1m BTC momentum| >= 0.10% — the backtested threshold above which the strategy shows positive EV. Position size scales with signal strength (3 conviction tiers). Use when user wants disciplined, gate-filtered BTC fast-market trading.\nmetadata:\n  author: Simmer (@simmer_markets)\n  version: \"0.9.0\"\n  status: scaffold\n  displayName: Polymarket FastScaler\n  difficulty: advanced\n---\n# Polymarket FastScaler\n\nTrade Polymarket BTC 5-minute fast markets with a conviction-ladder strategy. Only enters when Binance 1m momentum exceeds the 0.10% magnitude gate — the EV-positive regime validated by backtest. Position size scales with signal strength across 3 tiers.\n\n> 🚨 **Framework, not a production trading system.** Read [DISCLAIMER.md](./DISCLAIMER.md) before connecting to a wallet with real funds.\n\n> **Polymarket only.** All trades execute on Polymarket with real USDC. Paper mode is the default.\n\n> ⚠️ **Strategy invariants.** Do not lower `magnitude_gate_pct` below 0.10% without re-running the backtest. The 89.4% win rate is gated on this threshold. Below it, the strategy enters the noise zone where fees dominate.\n\n> ⚠️ **Risk monitoring does not apply to sub-15-minute markets.** Simmer's stop-loss and take-profit monitors check positions every 15 minutes — they will never fire on 5m markets before resolution. Size accordingly.\n\n## Strategy\n\n**Signal**: Binance 1m candle at window-open — `momentum = (close - open) / open × 100`\n\n**Gate**: `|momentum| >= magnitude_gate_pct` (default 0.10%). Below = no trade.\n\n**Side**: `momentum > 0 → YES`, `momentum < 0 → NO`. Pure direction — no divergence filter.\n\n**Sizing (conviction ladder)**:\n| Tier | |momentum| | Position |\n|------|-----------|----------|\n| 1 | 0.10% – 0.20% | $3 |\n| 2 | 0.20% – 0.35% | $5 |\n| 3 | ≥ 0.35% | $10 |\n\n**Hold**: position held to expiry. No exit logic.\n\n**Why this works**: Polymarket fast markets resolve on Chainlink oracle snapshots. At the moment of the 1m window-open candle, strong BTC momentum correlates with the resolution direction before the market re-prices. The 0.10% gate filters the noise zone where this correlation collapses and fees dominate.\n\n**Backtest (BTC 5m, 30d)**: +5.04% gross / 218 markets / 89.4% win rate at |momentum| ≥ 0.10%. Past performance does not guarantee future results — see DISCLAIMER.md.\n\n## When to Use This Skill\n\nUse this skill when the user wants to:\n- Trade BTC 5-minute fast markets on Polymarket with a validated magnitude filter\n- Automate conviction-scaled position sizing based on signal strength\n- Run a disciplined, gate-filtered fast-market strategy (not raw momentum)\n\n**Do NOT use for**: ETH/SOL/XRP fast markets (separate backtest required), 15m windows (backtest pending), or any strategy where the user wants to trade below the 0.10% magnitude gate.\n\n## Setup Flow\n\n1. **Install the Simmer SDK**\n   ```bash\n   pip install simmer-sdk\n   ```\n\n2. **Set your Simmer API key**\n   ```bash\n   export SIMMER_API_KEY=\"your-key-here\"\n   # Get from: simmer.markets/dashboard → SDK tab\n   ```\n\n3. **Run in paper mode first**\n   ```bash\n   python fast_scaler.py\n   ```\n\n4. **Set up cron (every minute)**\n   ```bash\n   # crontab -e\n   * * * * * cd /path/to/skill && python fast_scaler.py --live --quiet\n   ```\n\n## Quick Start\n\n```bash\n# Paper mode (default) — see what the strategy would do\npython fast_scaler.py\n\n# Live trading\npython fast_scaler.py --live\n\n# Live + quiet (for cron)\npython fast_scaler.py --live --quiet\n\n# Show current positions\npython fast_scaler.py --positions\n\n# Tune the magnitude gate (don't go below 0.10%)\npython fast_scaler.py --set magnitude_gate_pct=0.12\n\n# Adjust position sizes\npython fast_scaler.py --set position_tier3_usd=15\n```\n\n## Key Config Parameters\n\n| Parameter | Default | Description |\n|-----------|---------|-------------|\n| `magnitude_gate_pct` | 0.10 | Min \\|momentum\\| % to trade. **Strategy invariant — don't lower below 0.10.** |\n| `ladder_tier2_pct` | 0.20 | Momentum threshold to enter tier 2 sizing |\n| `ladder_tier3_pct` | 0.35 | Momentum threshold to enter tier 3 (max) sizing |\n| `position_tier1_usd` | 3.0 | Position size for tier 1 |\n| `position_tier2_usd` | 5.0 | Position size for tier 2 |\n| `position_tier3_usd` | 10.0 | Position size for tier 3 |\n| `dail","readmeExcerpt":"Skill: Polymarket FastScaler Owner: simmer Summary: Trade Polymarket BTC 5-minute fast markets using a magnitude-gated conviction-ladder strategy. Only fires when |1m BTC momentum| >= 0.10%, the magnitude threshold the strategy is built around. Position size scales with signal strength (3 conviction tiers). Reference template for gate-filtered BTC fast-market trading; the original performance claim was retracted (see","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"pip install simmer-sdk"},{"language":"bash","snippet":"export SIMMER_API_KEY=\"your-key-here\"\n   # Get from: simmer.markets/dashboard → SDK tab"},{"language":"bash","snippet":"python fast_scaler.py"},{"language":"bash","snippet":"# crontab -e\n   * * * * * cd /path/to/skill && python fast_scaler.py --live --quiet"},{"language":"bash","snippet":"# Paper mode (default) — see what the strategy would do\npython fast_scaler.py\n\n# Live trading\npython fast_scaler.py --live\n\n# Live + quiet (for cron)\npython fast_scaler.py --live --quiet\n\n# Show current positions\npython fast_scaler.py --positions\n\n# Tune the magnitude gate (don't go below 0.10%)\npython fast_scaler.py --set magnitude_gate_pct=0.12\n\n# Adjust position sizes\npython fast_scaler.py --set position_tier3_usd=15"},{"language":"bash","snippet":"pip install simmer-sdk"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: polymarket-fast-scaler\ndescription: Trade Polymarket BTC 5-minute fast markets using a magnitude-gated conviction-ladder strategy. Only fires when |1m BTC momentum| >= 0.10%, the magnitude threshold the strategy is built around. Position size scales with signal strength (3 conviction tiers). Reference template for gate-filtered BTC fast-market trading; the original performance claim was retracted (see below).\nmetadata:\n  author: Simmer (@simmer_markets)\n  version: \"1.2.3\"\n  displayName: Polymarket FastScaler\n  difficulty: advanced\n---\n# Polymarket FastScaler\n\nTrade Polymarket BTC 5-minute fast markets with a conviction-ladder strategy. Only enters when Binance 1m momentum exceeds the 0.10% magnitude gate. Position size scales with signal strength across 3 tiers.\n\n> 🚨 **Framework, not a production trading system.** Read [DISCLAIMER.md](./DISCLAIMER.md) before connecting to a wallet with real funds.\n\n> **Polymarket only.** All trades execute on Polymarket with real USDC. Paper mode is the default.\n\n> ⛔ **Performance claim retracted (2026-06-12).** An earlier version cited an \"89.4% win rate / +5.04%\" backtest. A look-ahead-enforced replay (Simmer skill-replay) found that backtest measured the 1m candle that *starts* at window-open, which only closes 60 seconds into the 5-minute window it is meant to predict. The signal the skill can actually act on at the decision point (the last complete 1m candle, i.e. the prior minute) shows **no measured edge**: roughly a coin flip before fees. Treat this skill as an **unvalidated reference template**, not a validated edge. Run paper mode and form your own view.\n\n> ⚠️ **Strategy invariants.** `magnitude_gate_pct` defaults to 0.10%. Below it the gate admits more low-magnitude noise and fees dominate a larger share of trades. This is a design default, not a validated profit threshold (see the retraction above).\n\n> ⚠️ **Risk monitoring does not apply to sub-15-minute markets.** Simmer's stop-loss and take-profit monitors check positions every 15 minutes — they will never fire on 5m markets before resolution. Size accordingly.\n\n## Strategy\n\n**Signal**: Binance 1m candle at window-open — `momentum = (close - open) / open × 100`\n\n**Gate**: `|momentum| >= magnitude_gate_pct` (default 0.10%). Below = no trade.\n\n**Side**: `momentum > 0 → YES`, `momentum < 0 → NO`. Pure direction — no divergence filter.\n\n**Sizing (conviction ladder)**:\n| Tier | |momentum| | Position |\n|------|-----------|----------|\n| 1 | 0.10% – 0.20% | $3 |\n| 2 | 0.20% – 0.35% | $5 |\n| 3 | ≥ 0.35% | $10 |\n\n**Hold**: position held to expiry. No exit logic.\n\n**Strategy thesis (unvalidated)**: the idea is that strong BTC momentum at window-open correlates with the resolution direction before the market re-prices, and that the 0.10% gate filters the noise zone. Replay testing did **not** confirm this for the signal available at the decision point (the prior complete 1m candle). Treat the thesis as untested.\n\n**Backtest status (2026-06-12)**: the"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7axnp7bzqsf5fkx0z8px7han7zyq1x\",\n  \"slug\": \"polymarket-fast-scaler\",\n  \"version\": \"1.2.3\",\n  \"publishedAt\": 1786258426541\n}"},{"path":"DISCLAIMER.md","content":"# Disclaimer\n\nThis skill is a **framework**, not a production trading system. Read this\nin full before connecting it to a wallet with real funds.\n\n## No financial advice\n\nNothing in this skill constitutes financial, investment, or trading\nadvice. The default strategy implemented here is a starting point, not a\ntested edge. Suitability for any account size or risk tolerance is your\nresponsibility to assess.\n\n## Default parameters are not validated\n\nDefault parameters are calibrated for testing the plumbing, not for live\nprofit. They have not been validated to produce positive returns under\ncurrent market conditions. Run paper mode for an extended period before\nscaling beyond default position sizes.\n\n## Automated trading carries irreversible risk\n\nWhen this skill runs with `--live`, it places real on-chain orders.\nOn-chain trades cannot be recalled. Strategy errors, signal lag, market\nregime shifts, and operator misconfiguration can produce losses\nexceeding any specific position size.\n\n## Risk monitoring may not apply to all market types\n\nStop-loss and take-profit monitors run on a fixed schedule. Markets that\nresolve faster than the monitor cycle cannot be exited automatically.\nPosition sizing is the only risk control on these markets — set it\nconservatively.\n\n## Use of this skill is at your own risk\n\nBy installing and running this skill you agree that the authors are not\nliable for any losses, direct or indirect, that arise from its use. This\napplies regardless of skill provenance — official Simmer skills,\ncommunity skills, and skills imported from external repositories all\ncarry this same disclaimer.\n\n## Where to learn more before going live\n\n- The skill's own `SKILL.md` documents the strategy and parameters\n- Your trading venue's documentation covers fee structure, order types,\n  and resolution rules\n- Simmer SDK documentation covers paper mode, dry-run flags, and\n  position monitoring"},{"path":"NEXT.md","content":"# NEXT — polymarket-fast-scaler\n\n**Status**: B3 complete — live test passed. Published to ClawHub at v1.0.0.\n\nB1 ✅ shipped | B2 ✅ paper validation passed (SIM-1997, PR #115) | B3 ✅ live test passed + published (SIM-1998)\n\n## Live test results (2026-05-20 → 2026-05-22)\n\n- 4 trades executed over 48h, all fills confirmed (exit_code=0)\n- $12.00 total spend vs $10/day budget cap\n- All trades Tier 1 ($3) with |momentum| 0.10–0.20%\n- 2349 signals evaluated, no unexpected errors\n- Budget cap respected per-day\n\n## Strategy invariants (DO NOT change without re-running the backtest)\n\n- **Side-picker**: direction only — up → YES, down → NO. No divergence filter.\n- **Magnitude gate**: `|momentum| >= 0.10%`. A noise filter, not a validated edge. The original \"89.4% win rate\" claim was RETRACTED 2026-06-12 (look-ahead bias — see below).\n- **Signal source**: Binance 1m candle at window-open (last complete 1m candle). Do NOT switch to 5m lookback without re-running the backtest.\n- **Sizing table**: 3-tier conviction ladder. T1 $3 / T2 $5 / T3 $10. Tier thresholds: 0.10%/0.20%/0.35%.\n- **Fee formula**: `fee = shares × 0.07 × p × (1-p)`. Crypto taker category.\n- **Hold policy**: hold to expiry. No exit logic — results are binary.\n\n## Backtest source — RETRACTED 2026-06-12 (look-ahead bias)\n\nThe SIM-3070 skill-replay calibration gate found the original backtest measured the\n1m candle that *starts* at window-open (closes 60s into the window it predicts).\nThe live-actionable signal (prior complete candle) shows no measured edge (~49%,\ncoin flip). Writeup: `simmer/_dev/active/_skill-intelligence/pilot-reports/fast-scaler-calibration-gate.md`.\n\n- Original evidence (now known look-ahead-biased): `simmer/_dev/completed/_fast-loop-rebuild/backtest_binance_ladder.md` (30d BTC fast-5m, 218 markets)\n- Cohort profiling: `profile_winners.md` (ndjjwobaq, btcbeliver01 timeline analysis)\n- Parent audit: SIM-1854 close-out comment (2026-05-18)"},{"path":"paper-validation-results.md","content":"# polymarket-fast-scaler — Paper Validation Results (B2)\n\n**Run period:** 2026-05-18 11:50 UTC → 2026-05-20 15:25 UTC (51.6 hours)  \n**Total cycles:** 3,096 (one per minute)  \n**Config:** magnitude gate 0.10% | T1=$3 / T2=$5 / T3=$10 | daily cap $30 | per-market cap $10  \n**Analyzed by:** Cody / SIM-2008 → SIM-1997  \n\n---\n\n## Gate fire rate\n\n| Window | Executed trades | Expected (±50%) | Result |\n|--------|----------------|-----------------|--------|\n| Day 1 (05/18 11:50 → 05/19 11:50) | **1** | 3.5 – 10.5 | ⚠️ Below (market condition — see note) |\n| Day 2 (05/19 11:50 → 05/20 11:50) | **7** | 3.5 – 10.5 | ✅ PASS |\n| Full run average (51.6h, 8 trades) | **3.7/day** | 3.5 – 10.5 | ⚠️ Dragged down by Day 1 |\n\n**Day 1 anomaly:** 95.2% of cycles on 2026-05-18 returned `no_markets` — Polymarket was not publishing 5-minute BTC momentum windows that day (low-volatility Sunday; cross-checked against skip-reason breakdown). This is a market availability condition, not a skill defect. When markets were available (Day 2+), the gate fired exactly as the backtest predicted.\n\n---\n\n## Markets discovered\n\n| Date | Cycles | `no_markets` | `below_magnitude_gate` | `wide_spread` |\n|------|--------|-------------|----------------------|--------------|\n| 2026-05-18 | 730 | 695 (95.2%) | 30 (4.1%) | 2 (0.3%) |\n| 2026-05-19 | 1,440 | 80 (5.6%) | 1,099 (76.3%) | 137 (9.5%) |\n| 2026-05-20 | 927 | 0 (0%) | 712 (76.8%) | 85 (9.2%) |\n\nDay 2 onward: skill correctly discovers BTC 5m windows from Polymarket and applies gate logic.\n\n---\n\n## Tier distribution (8 executed trades)\n\n| Tier | Threshold | Position size | Trades | % | Total spent |\n|------|-----------|--------------|--------|---|-------------|\n| T1 | 0.10% ≤ \\|m\\| < 0.20% | $3.00 | 7 | 87.5% | $21.00 |\n| T2 | 0.20% ≤ \\|m\\| < 0.35% | $5.00 | 1 | 12.5% | $5.00 |\n| T3 | \\|m\\| ≥ 0.35% | $10.00 | 0 | — | — |\n\nObserved momentum values:\n- T1 examples: 0.1036%, 0.1321%, 0.1200%, 0.1040%, 0.1251%, 0.1100%, 0.1715%\n- T2 example: 0.2852%\n\nAll amounts match tier thresholds exactly. **Tier sizing: PASS ✅**\n\n---\n\n## Budget caps\n\n**Daily budget cap ($30/day):**\n- 2026-05-18: $0.00 ✅\n- 2026-05-19: $18.00 ✅\n- 2026-05-20: $8.00 ✅\n\n**Per-market cap ($10 max):**\n- Max single trade observed: $5.00\n- Trades over $10: 0 ✅\n\n---\n\n## Dedup\n\n9 cycles had `trades_attempted=1, trades_executed=0` — the skill signaled a trade but the dedup layer blocked it. These occur on consecutive-minute windows where the same market was already targeted. No double-entry on the same market window was observed in the executed trades. **Dedup: PASS ✅**\n\n---\n\n## Auto-redeem\n\n`.last_auto_redeem` file present, most recent timestamp: **2026-05-20 15:18 UTC**. The 10-minute cooldown rate-limiter is working. Auto-redeem events are not individually logged in the JSONL (they happen inside the cycle, pre-trade), but the cooldown file confirms they fired. **Auto-redeem: PASS ✅**\n\n---\n\n## GTC cleanup\n\n`ORDER_TYPE=GTC` is active. GTC cancellations are executed at cycle start ("}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":2137,"uniquenessScore":43,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T02:52:27.735Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T02:52:27.735Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T05:31:55.168Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}