{
  "markdown": "<!--\n  Keywords: AI trading signal, crypto market state engine, structural analysis,\n  algorithmic trading API, Telegram trading bot, Python SDK, decker-client,\n  deterministic signal, progress_pct, operation rules, GO WATCH HOLD, KRX, KOSPI\n-->\n<div align=\"center\">\n\n<h1><img src=\"assets/decker_claw_owl_v1.svg\" height=\"46\" align=\"top\" alt=\"DeckerClaw\" />&nbsp; Decker AI</h1>\n\n### The deterministic market-state layer your trading agents call.\n\n**Rules trade, LLMs explain.** Live, non-custodial, with receipts.\n\n[Open the app](https://decker-ai.com) · [Telegram bot](https://t.me/deckerclawbot) · [Kakao channel](https://pf.kakao.com/_RxlxjVX) · [API docs](https://api.decker-ai.com/docs)\n\n[![Open App](https://img.shields.io/badge/Open_App-decker--ai.com-00C853?style=flat-square)](https://decker-ai.com)\n[![Telegram](https://img.shields.io/badge/Telegram-@deckerclawbot-26A5E4?style=flat-square&logo=telegram&logoColor=white)](https://t.me/deckerclawbot)\n[![Kakao Channel](https://img.shields.io/badge/Kakao-Channel-FEE500?style=flat-square&logo=kakaotalk&logoColor=000000)](https://pf.kakao.com/_RxlxjVX)\n[![API Docs](https://img.shields.io/badge/API-docs-4D9FFF?style=flat-square)](https://api.decker-ai.com/docs)\n[![MCP Server](https://img.shields.io/badge/MCP-server-9C27B0?style=flat-square)](https://api.decker-ai.com/api/v1/mcp/health)\n[![PyPI](https://img.shields.io/pypi/v/decker-client?style=flat-square&color=3776AB&label=PyPI)](https://pypi.org/project/decker-client/)\n[![Track record](https://img.shields.io/badge/track_record-stamped_daily-00C853?style=flat-square)](TRACK_RECORD.md)\n[![License](https://img.shields.io/badge/License-MIT-green?style=flat-square)](LICENSE)\n\n<img src=\"assets/screenshots/hero_desktop.jpg\" width=\"880\" alt=\"Decker AI — the live market-state cockpit across crypto and Korean equities (KOSPI 200)\" />\n\n</div>\n\n---\n\n## What you get\n\n- **Signals you can act on, with context.** Not \"BUY\" — `GO / WATCH / HOLD` + `progress_pct` (0–100% lifecycle) + entry / stop / target.\n- **It explains itself.** Every signal has a structural cause (multi-timeframe alignment, state machine phase) that an LLM translates into plain language.\n- **Same engine, two markets.** Crypto (24/7) + Korean equities (KOSPI + KOSDAQ, Beta).\n- **Use it your way.** Web app, Telegram, Kakao channel, REST API, or MCP server inside Claude / Cursor.\n\n> *\"Where are we in the current structural cycle — and what's the next optimal move?\"*\n\n---\n\n## Get started in 60 seconds\n\n| Path | Best for | Start |\n|------|---------|-------|\n| 📱 **Web app** | Most people — full dashboard, mock trading, KRX watchlist | **[decker-ai.com](https://decker-ai.com)** — sign up free |\n| 🤖 **Telegram bot** | Quick signal checks on your phone | **[@deckerclawbot](https://t.me/deckerclawbot)** — `/start` |\n| 💛 **Kakao channel** | 한국 사용자, KRX 시그널 알림 | **[pf.kakao.com/_RxlxjVX](https://pf.kakao.com/_RxlxjVX)** |\n| 🧠 **MCP server** | Claude / Cursor / Codex users | **[decker-ai.com/mcp](https://decker-ai.com/mcp)** — 2-min setup |\n| 🛠 **REST API** | Developers building bots & apps | [DEVELOPER_README.md](DEVELOPER_README.md#api-quickstart-3-steps) |\n\n> Free tier is generous (30 calls/day on the API; Web + Telegram included). During Beta, signed-up users get **PRO access for free**.\n\n---\n\n## See it in action\n\n**Start here — 30 seconds. No signup, no key.**\n\n```bash\ncurl -s https://api.decker-ai.com/api/v1/public/demo | jq .\n```\n\n<a href=\"https://gigshow.github.io/decker-ai/assets/video/decker-mcp-demo.mp4\"><img src=\"assets/screenshots/posters/decker-mcp-demo.jpg\" width=\"760\" alt=\"MCP journey demo — all 13 tools chained through one live session: explore, set risk, decide, execute, manage\" /></a>\n\n▶️ **[Play — MCP journey demo (30s)](https://gigshow.github.io/decker-ai/assets/video/decker-mcp-demo.mp4)** · One live session, all 13 tools: explore a market → set your risk profile → decide → execute → manage — **zero LLM in the signal path.**\n\nShorter cut with the response and the plain-language takeaway shown together on every call (no separate captions needed): **[Play — Shorts cut (35s)](https://gigshow.github.io/decker-ai/assets/video/decker-mcp-shorts.mp4)**\n\n### The engine room — live FSM, MTF alignment, R:R\n\n<a href=\"https://gigshow.github.io/decker-ai/assets/video/decker-webapp-dashboard.mp4\"><img src=\"assets/screenshots/posters/decker-webapp-dashboard.jpg\" width=\"760\" alt=\"The live cockpit — full universe grid with per-symbol state and AI reading\" /></a>\n\n▶️ **[Play — the live cockpit (16s)](https://gigshow.github.io/decker-ai/assets/video/decker-webapp-dashboard.mp4)** · Every signal traces to a structural cause: `progress_pct` + `operation_gate` + entry / stop / target.\n\n### Signal → execution, non-custodial\n\n<a href=\"https://gigshow.github.io/decker-ai/assets/video/decker-hyperliquid-page.mp4\"><img src=\"assets/screenshots/posters/decker-hyperliquid-page.jpg\" width=\"760\" alt=\"Hyperliquid — state, signal-engine coordinates, and a non-custodial order\" /></a>\n\n▶️ **[Play — non-custodial execution (16s)](https://gigshow.github.io/decker-ai/assets/video/decker-hyperliquid-page.mp4)** · Click Order · wallet-sign · **custody 0**. Decker relays your signature only (revocable agent wallet, EIP-712). *For information only — not investment advice.*\n\n### Read it daily — and we score our own calls\n\n<a href=\"https://gigshow.github.io/decker-ai/assets/video/decker-daily-briefing.mp4\"><img src=\"assets/screenshots/posters/decker-daily-briefing.jpg\" width=\"620\" alt=\"The web briefing hub — per-symbol view with baseline, target, and invalidation\" /></a>\n<a href=\"https://gigshow.github.io/decker-ai/assets/video/decker-telegram-briefing.mp4\"><img src=\"assets/screenshots/posters/decker-telegram-briefing.jpg\" width=\"260\" alt=\"The daily briefing on Telegram — picks and subscribe\" /></a>\n\n▶️ **Play:** [web hub (10s)](https://gigshow.github.io/decker-ai/assets/video/decker-daily-briefing.mp4) · [Telegram (6s)](https://gigshow.github.io/decker-ai/assets/video/decker-telegram-briefing.mp4)\n\nEvery morning (08:00 KST): the engine's view per symbol — baseline, what winning and losing look like, and a pick you can answer. Evening: the **same view scored against what actually happened — hits and misses alike, on the record.** *We stamp our wrong calls too.*\n\nWeb hub: [decker-ai.com/briefing](https://decker-ai.com/briefing) · Subscribe: [@deckerclawbot](https://t.me/deckerclawbot) → `/briefing`\n\n### Korean equities (KRX) — Beta, free\n\n<a href=\"https://gigshow.github.io/decker-ai/assets/video/decker-krx-page.mp4\"><img src=\"assets/screenshots/posters/decker-krx-page.jpg\" width=\"760\" alt=\"Korean equities — today's hot market and portfolio actions on KOSPI\" /></a>\n\n▶️ **[Play — KRX (16s)](https://gigshow.github.io/decker-ai/assets/video/decker-krx-page.mp4)** · Same deterministic engine on KOSPI + KOSDAQ. Portfolio states — **ADD / HOLD / REDUCE / EXIT**, not buy/sell. Daily closing-bell checkup at 16:30 KST · [@krxdeckerbot](https://t.me/krxdeckerbot).\n\n---\n\n## Three things that make it different\n\n**1. `progress_pct` — every signal has a lifecycle.**\nA signal at 25% progress is a different trade than the same signal at 80%. Most tools just say \"BUY\"; Decker tells you *where in the move you are*.\n\n```\nEntry                                                           Target\n  0%──────────33%──────────50%──────────67%──────────83%────────100%\n Wait       Entry        Active       Late TP      Final TP     Exit\n```\n\n**2. `GO / WATCH / HOLD` — three gates, not binary.**\n| Gate | Meaning |\n|------|---------|\n| **GO** | Structure confirmed — entry conditions met |\n| **WATCH** | Signal forming — monitor, no entry yet |\n| **HOLD** | Active position — no new entry signal |\n\n> `WATCH` is the gate most tools skip. It's why users enter too early.\n\n**3. Deterministic + traceable. LLM explains, doesn't decide.**\n| | Typical AI signal | Decker |\n|---|---|---|\n| Source | ML / LLM price prediction | Deterministic state machine |\n| Output | BUY / SELL | `progress_pct` + `operation_gate` + ranked choices |\n| LLM role | Makes the call | **Explains the structural state** |\n| Auditability | ❌ Black box | ✅ Every signal has a `trace_id` |\n| Cost per signal | High | **$0 on the rules path** |\n| Reproducibility | ❌ | ✅ Same input → same output, always |\n\n---\n\n## Pricing\n\n| Tier | Price | Daily API limit | MCP | Auto-trade |\n|------|-------|-----------------|-----|------------|\n| **FREE** | $0 forever | 30 calls/day | read-only (1d cache) | ❌ |\n| **PRO** | $20 / mo · 7-day trial | 1,000 / day | full (13 tools) | virtual + real |\n| **ENTERPRISE** | Contact us | 100,000+ / day · custom | full + per-org skill catalog | + custom integration |\n\n> **Beta (now):** all authenticated users get **PRO for free** via `BETA_TIER_OVERRIDE=PRO`. No payment required.\n\nWeb sign-up and Telegram bot are always free for the basics.\n\n---\n\n## For developers\n\nBuilding a bot, app, or agent on top of Decker? Everything you need — REST endpoints, MCP server (Claude / Cursor / Codex), Python SDK, OpenClaw skill, self-host — lives in one place:\n\n### → **[DEVELOPER_README.md](DEVELOPER_README.md)**\n\n```bash\n# 60-second smoke test (no auth needed)\ncurl https://api.decker-ai.com/api/v1/public/demo\n```\n\n```bash\n# With an API key (decker-ai.com → Settings → API Keys, or Telegram /apikey)\ncurl \"https://api.decker-ai.com/api/v1/public/signals/BTCUSDT/latest?timeframe=1h\" \\\n  -H \"X-API-Key: dk_live_xxx\"\n```\n\n**Prefer a runnable file?** → [`examples/quickstart.py`](examples/quickstart.py) — zero dependencies (stdlib only), no key, prints the composed view + receipts in one run. Wrapping Decker for an agent crew: [`examples/langgraph_decker_tool.py`](examples/langgraph_decker_tool.py). More in [`examples/`](examples/).\n\nThe demo returns the **composed view** — the same card our daily briefing sends:\n\n```json\n{ \"layer\": \"STATE_VIEW\", \"symbol\": \"BTCUSDT\", \"ref_price\": 63650.0,\n  \"lines\": [\"■ BTC — 층간 힘겨루기: 주 판 아래쪽 · 지금 판 위쪽\", \"…\"],\n  \"wait_target\": \"...\", \"invalidation\": \"...\",\n  \"verdict_recent\": [{\"briefing_date\": \"2026-07-05\", \"slot\": \"morning\", \"verdict\": \"hit\"}],\n  \"provenance\": { \"composer\": \"briefing_story.compose_card\" } }\n```\n\n**Add to Claude Desktop / Cursor (MCP):** guided 2-minute setup with per-client config → **[decker-ai.com/mcp](https://decker-ai.com/mcp)**.\n\nCursor (`~/.cursor/mcp.json`) takes a remote server directly:\n\n```json\n{\n  \"mcpServers\": {\n    \"decker\": {\n      \"url\": \"https://api.decker-ai.com/api/v1/mcp\",\n      \"headers\": { \"X-API-Key\": \"dk_live_YOUR_KEY\" }\n    }\n  }\n}\n```\n\n> ⚠ Endpoint is `/api/v1/mcp` (stateless Streamable HTTP) — an old `/sse` suffix now returns `405 Method Not Allowed`.\n\nClaude Desktop / Codex reach it through the `mcp-remote` bridge (needs Node/npx) — see [decker-ai.com/mcp](https://decker-ai.com/mcp) or **[DEVELOPER_README.md](DEVELOPER_README.md)** (endpoints · auth · rate limits · MCP tools · SDK · OpenClaw · self-host).\n\n**Running a multi-agent crew** (TradingAgents / LangGraph / AutoGen)? Give your analysts one deterministic market-state instrument — with receipts — instead of re-deriving structure per prompt: → **[docs/integrations/multi-agent-frameworks.md](docs/integrations/multi-agent-frameworks.md)**\n\n---\n\n## How the engine works (one diagram)\n\n```\nRaw OHLCV candles\n  ↓  Sequence Labeler  →  every candle gets a role (anchor / test / signal)\n  ↓  State Machine     →  C_SET → B_FORMING → B_SET → A_FORMING → W_PENDING\n  ↓  Operation Gate    →  GO · WATCH · HOLD\n  ↓  RULES Engine      →  9-layer YAML rulebook → strategy + ranked choices\n  ↓  AI Consultation   →  LLM translates structural state → plain language\n  ↓\n\"67% progress. B-leg confirmed. Recommended: 30% partial TP or hold to target.\"\n```\n\n**No price prediction. No black box. Every output traces to a formal structural cause.**\n\nDeep dives: [Sequence Engine](concept/sequence_engine.md) · [Labeling Algorithm](concept/labeling_algorithm.md) · [Market State Theory](concept/market_state_theory.md)\n\n---\n\n## Supported symbols\n\n**Crypto (GA):** `BTCUSDT` · `ETHUSDT` · `SOLUSDT` · `BNBUSDT` · `XRPUSDT` · `DOGEUSDT` — timeframes `30m`, `1h`, `4h`, `1d`.\n\n**KRX (Beta, free):** KOSPI 948 + KOSDAQ 1,822 = **2,770 tickers**. Universe = top 200 by trading value ∪ user watchlist ∪ momentum spike ∪ volume spike. Timeframe `1d` only (1w expanding). Daily evaluation at 16:30 KST.\n\nKRX details: [`docs/krx/KRX_BUSINESS_MODEL_AND_ROADMAP_2026-05-09.md`](docs/krx/KRX_BUSINESS_MODEL_AND_ROADMAP_2026-05-09.md).\n\n---\n\n## Performance\n\nWe don't publish a headline win rate. Backtest numbers without method\nand sample size are marketing, not evidence — and easy to cherry-pick.\n\nWhat we stand on instead:\n\n- **Deterministic & reproducible.** Same input → same output, always.\n  The rules path has zero LLM in it, so a signal is not a model's opinion —\n  it's a formal structural verdict you can re-derive.\n- **Auditable.** Every read carries its `provenance` (composer + the versioned\n  rulebook contract) and traces back to the exact engine emit. The full\n  RULES.yaml is open, so you can re-derive any verdict yourself.\n- **Scored in public, daily.** The morning briefing's view is graded against\n  what actually happened that evening — hits and misses alike, on the record.\n  → [decker-ai.com/briefing](https://decker-ai.com/briefing) · a GitHub Action\n  stamps the daily scorecard straight into this repo: [TRACK_RECORD.md](TRACK_RECORD.md)\n\nMethod and rulebook are open: [Model & Algorithm](docs/model.md) · [Operation Rules (YAML)](operation_rules/RULES.yaml) · [Signal Performance](docs/signal-performance.md).\n\n*For information only. Not investment advice.*\n\n---\n\n## Docs\n\n| | |\n|--|--|\n| **[DEVELOPER_README.md](DEVELOPER_README.md)** | API · MCP · SDK · OpenClaw · self-host — **start here if you're building** |\n| [Quick Start](docs/quickstart.md) | 5-minute path picker — Telegram / MCP / REST / SDK |\n| [API Guide](docs/api-guide.md) | Full field-level endpoint reference + error codes |\n| [Docs by persona](docs/README.md) | Trader / Builder / Curious about the engine / Evaluating claims |\n| [Architecture](docs/architecture.md) | Pipeline, state engine, modules |\n| [Model & Algorithm](docs/model.md) | How the signal engine works |\n| [Operation Rules](operation_rules/RULES.yaml) | Open YAML rulebook (v2.4.7+) |\n| [Article Series (1–15)](docs/medium/README.md) | Deep dives on Medium |\n| [Roadmap](docs/roadmap.md) | What's next |\n| [llms.txt](llms.txt) | LLM / AI agent discovery manifest |\n\n---\n\n## Links\n\n| | |\n|-|-|\n| **Web app** | https://decker-ai.com |\n| **API docs** | https://api.decker-ai.com/docs |\n| **Telegram bot (crypto)** | https://t.me/deckerclawbot |\n| **Telegram bot (KRX)** | https://t.me/krxdeckerbot |\n| **Kakao channel** | https://pf.kakao.com/_RxlxjVX |\n| **X / Twitter** | https://x.com/blockoceandev |\n\n---\n\n> This repository is the **public hub** for Decker AI — SDK, samples, rulebook, architecture docs, OpenClaw skill packages.\n> Production application code runs in a private monorepo. All listed endpoints, channels, and the web app are live.\n>\n> Built by **[gigshow](https://github.com/gigshow)** (Dohyung Kim · 김도형) — founder. *Open to investor / partnership conversations.*\n",
  "bytes": 15197,
  "sha": "94555779e031ca8b0ffaa26bf3ba11e61d5bb45000f05ad103df42239be3ff4c",
  "repo_slug": "gigshow/decker-ai",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_gigshow_decker_a130db31/readme"
}