Skip to content

[new-plugin] otto-kol-follow v0.1.0#368

Closed
Vb6Z wants to merge 1 commit intookx:mainfrom
useOttoAI:submit/otto-kol-follow
Closed

[new-plugin] otto-kol-follow v0.1.0#368
Vb6Z wants to merge 1 commit intookx:mainfrom
useOttoAI:submit/otto-kol-follow

Conversation

@Vb6Z
Copy link
Copy Markdown

@Vb6Z Vb6Z commented Apr 27, 2026

Summary

Otto KOL Follow v0.1 — Reactive Hyperliquid perp Skill that mirrors aggregated sentiment from the top 50 crypto KOLs on Twitter/X. Submitted for the OKX Plugin Store Developer Challenge S1.

  • Risk tier: advanced — automated trading
  • Basic Skill dependency: hyperliquid-plugin (every HL action flows through it; no raw EIP-712 signing)
  • Signal source: https://signals.useotto.xyz/v1/kol-sentiment — public, keyless, IP-rate-limited (60 req/min)
  • Strategy attribution: every live order passes --strategy-id otto-kol-follow

Single mode: query Otto's KOL-sentiment feed (optionally for a user-specified coin), gate the trade on cohort sample size + confidence + non-flat direction, place one perp with TP/SL.

Decision rule (rejects most trades by design)

A trade only fires when all three gates pass:

  1. kol_count >= MIN_KOL_COUNT (default 40) — prevents thin-sample mirror trades
  2. confidence >= MIN_CONFIDENCE_KOL (default 0.70) — Otto's internal noise gate
  3. direction != "flat" — split sentiment = no trade

Otherwise the Skill aborts cleanly with a reason. This is intentional: KOL consensus is a lagging, reflexive signal that's wrong at tops and bottoms. The Skill caps leverage at MAX_LEVERAGE_KOL = 3 for the same reason.

Advanced-tier safeguards (lines 1501-1510)

  • Dry-run default. DRY_RUN = True. Live orders require explicit per-trade user "confirm" at Step 3.
  • Stop-loss mechanism. Atomic TP/SL bracket via hyperliquid-plugin tpsl. SL_PCT = 0.02 default, configurable.
  • Max-amount limits. MAX_POSITION_PCT_EQUITY = 0.10, MAX_SIZE_USD = 500, SESSION_MAX_DRAWDOWN_PCT = 0.15.
  • Risk disclaimer. Prominent in SKILL.md Security Notices section, including KOL-signal-noise-specific caveats (reflexivity, manipulation, lag).
  • Liquidity floor. MIN_VOLUME_USD = 10_000_000.
  • Cohort sample-size filter. Refuses trades on samples below MIN_KOL_COUNT = 40.
  • Never bypasses Hyperliquid Basic Skill. All HL actions go through hyperliquid-plugin.

Pre-Submission Checklist (lines 1467-1486)

  • plugin.yaml, .claude-plugin/plugin.json, and SKILL.md all present
  • name is lowercase with hyphens only (otto-kol-follow, 15 chars)
  • version matches across all three files (0.1.0)
  • author.github set to useOttoAI
  • license SPDX identifier (MIT)
  • category is trading-strategy
  • api_calls: signals.useotto.xyz, api.hyperliquid.xyz
  • SKILL.md frontmatter has name, description, version, author
  • SKILL.md includes Overview / Pre-flight Checks / Commands / Error Handling / Security Notices
  • No hardcoded API keys or credentials
  • No pre-compiled binary files (Python stdlib only)
  • LICENSE file present (MIT)
  • PR title: [new-plugin] otto-kol-follow v0.1.0
  • PR branch: submit/otto-kol-follow
  • PR only modifies files inside skills/otto-kol-follow/
  • Trading plugin: risk disclaimer included
  • Trading plugin: dry-run / paper-trade mode supported as default

Test plan

  • CI lint + automated checks pass
  • Two-reviewer human review per Advanced-tier requirement
  • Verify SKILL.md trigger phrases route correctly in Onchain OS Agentic Wallet
  • Verify cohort-size + confidence gates abort the trade in degraded conditions
  • Verify TP/SL bracket lands atomically with order

Notes for reviewers

  • Author identity. author.github is useOttoAI (the Otto AI GitHub org). The fork branch lives at Vb6Z/plugin-store due to API restrictions on org-scope forks. Skill is owned and maintained by the Otto AI team.
  • Sibling Skill. This is a focused single-mode variant of otto-alpha-sniper (which has KOL-follow as one of three modes). Listed separately so users who specifically want KOL-mirroring can install just the smaller Skill, and so the leaderboard credits attribution cleanly per --strategy-id.
  • Signal feed. Live at signals.useotto.xyz/v1/kol-sentiment (200 OK on health). Producer Phase 2 ships structured bullish_pct/bearish_pct/direction/confidence fields shortly; current responses include the rich narrative and trending-tokens shape, marked status: degraded so the Skill abstains until producer is fully structured.

@Noah3595
Copy link
Copy Markdown
Collaborator

Plugin Store DApp Popularity Contest

  • 💰 Prize Pool: 17,700 USDC
  • 📅 Period: Apr 23 – May 7, 23:59 (UTC+8)
  • 🧩 Featured Basic Skills: Polymarket Plugin | Hyperliquid Plugin

About the Contest

Plugin 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

  • Strategy Skills must be built on top of the Polymarket Plugin or the Hyperliquid Plugin.
  • Each strategy Skill is ranked across three independent dimensions: trading volume, number of trades, and number of unique trading addresses.

Scoring Rules

  • Stats are aggregated per Skill. If you submit multiple Skills, each one is scored and competes independently.
  • Only trades initiated through Onchain OS and executed via the Polymarket Plugin or Hyperliquid Plugin are counted. Trades that bypass the Basic Skill are excluded.
  • Leaderboards are synced daily in the official community. Final standings are locked at May 7, 23:59 (UTC+8).

Four Steps to Participate

  1. Open Plugin Store and install the Polymarket Plugin or the Hyperliquid Plugin.
  2. Build your own strategy on top of the Plugin.
  3. Use your strategy — the three metrics will be tracked automatically.
  4. Submit the entry form: https://forms.gle/gFCef1Y4qCv49L2z7

Three Leaderboards · 5,900 USDC each · 17,700 USDC in total

Trading Volume | Number of Trades | Unique Trading Addresses

  • Top 1 — 1,300 USDC
  • Top 2 — 800 USDC
  • Top 3–5 — 600 USDC × 3
  • Top 6–10 — 400 USDC × 5

A single Skill can win on multiple leaderboards. All prizes are paid in USDC.

⚠️ Red Lines

Sybil attacks · Plagiarism · Malicious code

The contest follows fair-play principles. Any confirmed violation will result in immediate removal from the leaderboards.


⚠️ Skills/Plugins not officially listed on OKX Plugin Store have not been reviewed by OKX. Please be aware of the risks when installing or running third-party Skills.

@Noah3595 Noah3595 closed this Apr 28, 2026
@Vb6Z
Copy link
Copy Markdown
Author

Vb6Z commented Apr 30, 2026

Resubmitting after Google Form submission (https://forms.gle/gFCef1Y4qCv49L2z7).

v0.1.1 changelog:

  • Added strategy-plugin metadata per FOR-DEVELOPERS.md (dependent_plugin, risk_level: advanced, supported_venues)
  • Threshold tunes calibrated against the live signal feed at signals.useotto.xyz (kol_count, confidence, signal age)
  • Versions bumped to 0.1.1 across plugin.yaml + plugin.json + SKILL.md frontmatter

Stress test: all 3 skills exercised end-to-end against live data, verified with real hyperliquid-plugin order previews. Decision logs at https://github.com/Vb6Z/OttoWallet/blob/development/services/otto-skills/stress_test.py.

Happy to file fresh PRs if reopening these isn't the right workflow — just let me know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants