[new-plugin] otto-mispricing-assistant v0.1.0#369
Conversation
Plugin Store DApp Popularity Contest
About the ContestPlugin Store is the decentralized agent plugin marketplace on Onchain OS. This contest focuses on two trading-related Basic Skills in Plugin Store — the Polymarket Plugin and the Hyperliquid Plugin — and encourages developers to build more high-quality strategy Skills around them. Contest Rules
Scoring Rules
Four Steps to Participate
Three Leaderboards · 5,900 USDC each · 17,700 USDC in totalTrading Volume | Number of Trades | Unique Trading Addresses
A single Skill can win on multiple leaderboards. All prizes are paid in USDC.
|
|
Resubmitting after Google Form submission (https://forms.gle/gFCef1Y4qCv49L2z7). v0.1.1 changelog:
Stress test: all 3 skills exercised end-to-end against live data, verified with real Happy to file fresh PRs if reopening these isn't the right workflow — just let me know. |
Summary
Otto Mispricing Assistant v0.1 — Polymarket scanner that ranks active prediction markets by divergence between implied probability and Otto AI's news + KOL + funding signals, then trades one market at a time only after explicit per-trade user confirmation. Submitted for the OKX Plugin Store Developer Challenge S1.
advanced— automated tradingpolymarket-plugin(every Polymarket action flows through it; no raw CLOB or EIP-712 signing)https://signals.useotto.xyz/v1/{news-flash,kol-sentiment,funding-extremes}— public, keyless, IP-rate-limited--strategy-id otto-mispricing-assistantThis is a scanner, not a bot. No batch execution, no autonomous trading, no fire-and-forget. Each trade requires the user to type "confirm" at Step 7 of the Skill protocol. The optional
scripts/bot.pyis notify-only and never trades — it logs candidates the user can paste back into the reactive Skill flow.Decision flow (9 steps, single-market-per-intent)
crypto/macro/electionscategories|otto_estimate - implied_prob| × signal_confidence × liquidity_scoreMIN_EDGE_PCT = 0.08thresholdpolymarket-plugin buywith strategy-id attributionAdvanced-tier safeguards (lines 1501-1510)
DRY_RUN = True. Live orders require bothDRY_RUN = FalseAND per-trade--confirm.MAX_TRADE_SIZE_USD = 50— no single trade above this regardless of user request.MAX_SESSION_BUDGET_USD = 200— cumulative trades refused once budget is spent.RESOLUTION_WINDOW_DAYS = 14— long-dated markets filtered (Otto's edge estimates degrade further out).MIN_LIQUIDITY_USD = 5,000,MIN_VOLUME_USD = 1,000(24h).SKILL.mdSecurity Notices section, including resolution-oracle risk and "mispricings can persist or widen" caveats.region_blockedand refuses to suggest workarounds.polymarket-plugin.Pre-Submission Checklist (lines 1467-1486)
plugin.yaml,.claude-plugin/plugin.json, andSKILL.mdall presentnameis lowercase with hyphens only (otto-mispricing-assistant, 25 chars)versionmatches across all three files (0.1.0)author.githubset touseOttoAIlicenseSPDX identifier (MIT)categoryistrading-strategyapi_calls:signals.useotto.xyz,gamma-api.polymarket.com[new-plugin] otto-mispricing-assistant v0.1.0submit/otto-mispricing-assistantskills/otto-mispricing-assistant/Test plan
bot.pynever callspolymarket-plugin buy(notify-only)Notes for reviewers
author.githubisuseOttoAI(Otto AI org). Fork branch lives atVb6Z/plugin-storedue to API restrictions on org-scope forks.signals.useotto.xyz/v1/news-flashand/kol-sentiment(200 OK on health). News-flash producer currently emits synthetic severity (default3) and tags (default['macro']); the Skill flags these asstatus: degradedand only uses news as confirmation input — never as sole trade trigger.otto-alpha-sniper,otto-kol-follow) submitted as separate PRs in the past 1-24h.