ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที เข้าสู่ระบบด้วย Google เพื่อเขียนรีวิวได้แล้วต้นแบบ · อัปเดตทุก 30 นาที
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · วิธีติดตั้งภาษาไทยทุกตัว

outcometick

โดย outcometickรุ่น 3.0.0i★ 1iบนเครื่องหรือคลาวด์
ชื่อใน registryio.github.outcometick/outcometick

วิธีติดตั้ง

ใช้ทำอะไรได้

ยังไม่มีคำอธิบายภาษาไทย ดูข้อเท็จจริงด้านล่าง หรือเปิดคำอธิบายต้นฉบับจากผู้ทำ

  • ต่อแบบ คลาวด์หรือติดตั้งในเครื่อง
  • บัญชีหรือคีย์ คลาวด์: ต้องมี Authorization, X-Backtest-Key, X-Smart-Key · ในเครื่อง: ต้องมี OT_KEY, OT_SMART_KEY, OT_BACKTEST_KEY
  • หมวด คริปโตและบล็อกเชน
คำอธิบายต้นฉบับจากผู้ทำ (อังกฤษ)
Polymarket and Predict.fun historical tick data, plus backtest quotes and status, over MCP

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ผลตรวจผ่าน 5/5 · สิ่งที่คุณถามผ่านเซิร์ฟเวอร์ของผู้ทำ (outcometick.com) · ✓ ตรวจคำสั่งแล้ว 13 พ.ย. 2569

ขั้นแรก: คุณใช้ AI ตัวไหน

เลือกแอปที่คุณใช้ ขั้นตอนจะขึ้นด้านล่าง

ต่อกับ Claude ได้ · ประมาณ 5 นาที

ต้องมีคีย์ของ outcometick (สร้างที่เว็บของผู้ทำ) · ตั้งครั้งเดียวที่ claude.ai หรือแอปบนคอม แล้วใช้ในแชตได้ · บัญชีฟรีเพิ่มได้ 1 ตัว · แผน Team/Enterprise ให้เจ้าของ (Owner) เป็นคนเพิ่ม

  1. สมัครและสร้างคีย์ของ outcometick

    เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ

    เปิดเว็บของ outcometick ↗

  2. เปิดหน้า Connectors ของ Claude

    CustomizeConnectors

    CustomizeConnectors1Add2https://…3Add4
  3. กด “Add” → “Custom” → “Web” แล้วกรอก 2 ช่องนี้

    คัดลอกจากที่นี่ไปวางในช่องชื่อเดียวกันบนหน้าจอของ Claude แล้วกด Continue

    Name · ชื่อoutcometick
    Remote MCP server URL · ที่อยู่https://outcometick.com/v1/mcp

    ที่หัวข้อ Request headers เพิ่มชื่อและค่านี้

    ชื่อ headerAuthorization
    ค่าBearer <วางคีย์ของคุณตรงนี้>
    ชื่อ headerX-Backtest-Key
    ค่า<วางคีย์ของคุณตรงนี้>
    ชื่อ headerX-Smart-Key
    ค่า<วางคีย์ของคุณตรงนี้>

    วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร

    กด Continue ผ่านหน้าตรวจการล็อกอินที่ Claude ตรวจเจอ · หัวข้อ Authentication เลือกตามที่ผู้ทำบอก (Sign in now, Sign in when needed หรือ No sign in) แล้วกด Add

  4. เปิดใช้ในแชต

    +Connectorsoutcometick

  5. ลองเลย

    ใช้ outcometick บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง

    ✓ ถ้า Claude บอกว่ากำลังใช้ outcometick หรือมีชื่อเครื่องมือของ outcometick ขึ้นในคำตอบ แปลว่าต่อสำเร็จ

ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป

ChatGPT ยังต่อ outcometick ไม่ได้

outcometick ต้องใส่คีย์ส่วนตัวตอนต่อ แต่หน้าช่วยเหลือของ OpenAI พูดถึงแค่การเข้าสู่ระบบแบบ OAuth ยังไม่มีวิธีใส่คีย์ที่เราตรวจได้

คุณทำแบบนี้แทนได้

ก · ใช้แอปที่ต่อ outcometick ได้

  • ต้องมีคีย์ของ outcometick (สร้างที่เว็บของผู้ทำ) · ตั้งครั้งเดียวที่ claude.ai หรือแอปบนคอม แล้วใช้ในแชตได้ · บัญชีฟรีเพิ่มได้ 1 ตัว · แผน Team/Enterprise ให้เจ้าของ (Owner) เป็นคนเพิ่ม
  • ต้องมีคีย์ของ outcometick (สร้างที่เว็บของผู้ทำ)
  • ต้องมีคีย์ของ outcometick (สร้างที่เว็บของผู้ทำ)
  • ต้องมีคีย์ของ outcometick (สร้างที่เว็บของผู้ทำ)

ข · ตัวอื่นในหมวด คริปโตและบล็อกเชน ที่ต่อกับ ChatGPT ได้

เลือกจากตัวที่ใช้มากในหมวดเดียวกัน เฉพาะตัวที่ต่อด้วยที่อยู่ได้โดยไม่ต้องใส่คีย์

ต่อกับ Claude Code ได้ · ประมาณ 5 นาที

ต้องมีคีย์ของ outcometick (สร้างที่เว็บของผู้ทำ)

  1. สมัครและสร้างคีย์ของ outcometick

    เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ

    เปิดเว็บของ outcometick ↗

  2. เปิด Terminal

    Mac: กด Command+Space พิมพ์ Terminal · Windows: เปิด PowerShell

  3. วางคำสั่งนี้แล้วกด Enter

    claude mcp add --transport http --scope user outcometick https://outcometick.com/v1/mcp --header 'Authorization: Bearer ใส่ค่าของคุณ' --header 'X-Backtest-Key: ใส่ค่าของคุณ' --header 'X-Smart-Key: ใส่ค่าของคุณ'

    แก้ “ใส่ค่าของคุณ” เป็นคีย์ของคุณก่อนกด Enter

    วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร

  4. พิมพ์ /mcp ใน Claude Code

    ต้องเห็น outcometick ในรายการและขึ้นว่าเชื่อมต่อแล้ว

  5. ลองเลย

    ใช้ outcometick บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง

    ✓ ถ้า Claude Code บอกว่ากำลังใช้ outcometick หรือมีชื่อเครื่องมือของ outcometick ขึ้นในคำตอบ แปลว่าต่อสำเร็จ

ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป

ต่อกับ Cursor ได้ · ประมาณ 5 นาที

ต้องมีคีย์ของ outcometick (สร้างที่เว็บของผู้ทำ)

  1. สมัครและสร้างคีย์ของ outcometick

    เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ

    เปิดเว็บของ outcometick ↗

  2. กดปุ่มนี้เพื่อเปิด Cursor

    เปิดใน Cursor

    Cursor จะถามยืนยันการติดตั้ง ให้กด Install

  3. ใส่คีย์ในช่องที่ว่างไว้

    ในค่าตั้งของ outcometick ช่อง Authorization, X-Backtest-Key, X-Smart-Key ยังว่าง ใส่คีย์ของคุณแล้วบันทึก

    วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร

  4. เปิดแชตของ AI ใน Cursor โหมด Agent

  5. ลองเลย

    ใช้ outcometick บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง

    ✓ ถ้า Cursor บอกว่ากำลังใช้ outcometick หรือมีชื่อเครื่องมือของ outcometick ขึ้นในคำตอบ แปลว่าต่อสำเร็จ

ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Cursor เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป

ต่อกับ VS Code ได้ · ประมาณ 5 นาที

ต้องมีคีย์ของ outcometick (สร้างที่เว็บของผู้ทำ)

  1. สมัครและสร้างคีย์ของ outcometick

    เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ

    เปิดเว็บของ outcometick ↗

  2. กดปุ่มนี้เพื่อเปิด VS Code

    เปิดใน VS Code

    VS Code จะถามยืนยันการติดตั้ง ให้กด Install

  3. ใส่คีย์ในช่องที่ว่างไว้

    ในค่าตั้งของ outcometick ช่อง Authorization, X-Backtest-Key, X-Smart-Key ยังว่าง ใส่คีย์ของคุณแล้วบันทึก

    วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร

  4. เปิดแชตของ AI ใน VS Code โหมด Agent

  5. ลองเลย

    ใช้ outcometick บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง

    ✓ ถ้า VS Code บอกว่ากำลังใช้ outcometick หรือมีชื่อเครื่องมือของ outcometick ขึ้นในคำตอบ แปลว่าต่อสำเร็จ

ชื่อเมนูตรวจกับหน้าช่วยเหลือของ VS Code เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป

โปรแกรมอื่นที่ใช้ MCP ได้ เช่น Windsurf, Zed หรือ Gemini CLI มีวิธีเพิ่มต่างกัน ดูวิธีของแต่ละตัวในหน้ารวมโปรแกรม

ดูโปรแกรมที่ใช้ MCP ทั้งหมด →

ที่อยู่สำหรับโปรแกรมที่ต่อผ่านเว็บ

ที่อยู่https://outcometick.com/v1/mcp

ค่าตั้งแบบไฟล์ JSON อยู่ในหัวข้อ “สำหรับคนเขียนโค้ด” ด้านล่าง

ติดตรงไหน? ถามคนที่ใช้ outcometick อยู่💬 พูดคุย →
สำหรับคนเขียนโค้ด: คำสั่ง Terminal และค่าตั้ง JSON

ต่อผ่านเว็บ

Claude Code

claude mcp add --transport http --scope user outcometick https://outcometick.com/v1/mcp --header 'Authorization: Bearer ใส่ค่าของคุณ' --header 'X-Backtest-Key: ใส่ค่าของคุณ' --header 'X-Smart-Key: ใส่ค่าของคุณ'

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "outcometick": {
      "url": "https://outcometick.com/v1/mcp",
      "headers": {
        "Authorization": "Bearer ใส่ค่าของคุณ",
        "X-Backtest-Key": "ใส่ค่าของคุณ",
        "X-Smart-Key": "ใส่ค่าของคุณ"
      }
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "outcometick": {
      "type": "http",
      "url": "https://outcometick.com/v1/mcp",
      "headers": {
        "Authorization": "Bearer ใส่ค่าของคุณ",
        "X-Backtest-Key": "ใส่ค่าของคุณ",
        "X-Smart-Key": "ใส่ค่าของคุณ"
      }
    }
  }
}

ติดตั้งในเครื่อง

Claude Code

claude mcp add --scope user outcometick --env OT_KEY='ใส่ค่าของคุณ' --env OT_SMART_KEY='ใส่ค่าของคุณ' --env OT_BACKTEST_KEY='ใส่ค่าของคุณ' -- npx -y outcometick mcp

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "outcometick": {
      "command": "npx",
      "args": [
        "-y",
        "outcometick",
        "mcp"
      ],
      "env": {
        "OT_KEY": "ใส่ค่าของคุณ",
        "OT_SMART_KEY": "ใส่ค่าของคุณ",
        "OT_BACKTEST_KEY": "ใส่ค่าของคุณ"
      }
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "outcometick": {
      "command": "npx",
      "args": [
        "-y",
        "outcometick",
        "mcp"
      ],
      "env": {
        "OT_KEY": "ใส่ค่าของคุณ",
        "OT_SMART_KEY": "ใส่ค่าของคุณ",
        "OT_BACKTEST_KEY": "ใส่ค่าของคุณ"
      }
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "outcometick": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "outcometick",
        "mcp"
      ],
      "env": {
        "OT_KEY": "ใส่ค่าของคุณ",
        "OT_SMART_KEY": "ใส่ค่าของคุณ",
        "OT_BACKTEST_KEY": "ใส่ค่าของคุณ"
      }
    }
  }
}

ค่าที่ต้องใส่เอง

  • OT_KEY ความลับ จำเป็น env
    Data subscription key, for meta, list_files and download_file. Public tools work without it.
  • OT_SMART_KEY ความลับ จำเป็น env
    Smart-money key, for smart_days and smart_download. Public tools work without it.
  • OT_BACKTEST_KEY ความลับ จำเป็น env
    Backtest key, for backtest_runs and backtest_status. Public tools work without it.
  • Authorization ความลับ HTTP header
    Bearer . Optional: without it the server asks for OAuth, where you paste your keys on the consent page.
  • X-Backtest-Key ความลับ HTTP header
    Backtest key, when Authorization carries the data key and you want both.
  • X-Smart-Key ความลับ HTTP header
    Smart-money key, when Authorization carries another key and you want both.

คำอธิบายยังเป็นภาษาอังกฤษตามต้นฉบับ

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

สรุป

ดาวน์โหลดต่อสัปดาห์i
587/สัปดาห์
การเชื่อมต่อ
บนเครื่องหรือคลาวด์
รุ่นล่าสุดi
3.0.0
ส่งเข้า registryi
15 ต.ค. 2569
แก้โค้ดล่าสุดi
5 พ.ย. 2569
ผู้ทำ
outcometick
แพ็กเกจ
npm: outcometick
เว็บผู้ทำ
outcometick.com
สถานะใน registry
ใช้งานอยู่

ใช้กับโปรแกรมไหนได้

ดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569

ต่อผ่านคลาวด์ได้ใน

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast

ติดตั้งบนเครื่องได้ใน

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

ดูโปรแกรมทั้งหมดพร้อมข้อดีข้อเสีย →

คู่มือที่เกี่ยวข้อง

ทำอะไรได้บ้าง

server ให้ล็อกอินก่อนจึงจะแสดงรายการเครื่องมือ

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 14 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub outcometick ซึ่งเป็นเจ้าของ repo

  • ✓ ผ่าน

    ยังมีคนดูแล

    มีการแก้โค้ดล่าสุด 9 วันที่ผ่านมา

  • ✓ ผ่าน

    มีสัญญาอนุญาต (license)

    ใช้ MIT

  • ✓ ผ่าน

    endpoint ตอบ

    ตอบกลับใน 195 ms (HTTP 401)

  • ✓ ผ่าน

    ล็อกอินแบบ OAuth

    ประกาศวิธีล็อกอินแบบ OAuth ให้โปรแกรม AI พาไปล็อกอินเอง

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint

พูดคุย

ถาม แชร์เคล็ดลับ หรือแจ้งว่าใช้ไม่ได้ เรียงตามที่คนกดว่ามีประโยชน์

ยังไม่มีใครโพสต์ ถามหรือแชร์เป็นคนแรกได้เลย

ข้อความในส่วนนี้เขียนโดยผู้ใช้ ไม่ใช่ทีม PopNx

เข้าสู่ระบบด้วย Google เพื่อโพสต์

รีวิวจากผู้ใช้

ยังไม่มีรีวิว

เข้าสู่ระบบด้วย Google เพื่อเขียนรีวิว

เทียบกับตัวอื่นในหมวด คริปโตและบล็อกเชนi

  • ดาวมากกว่า 84% ของอีก 1688 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 61% ของอีก 1688 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 1688 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

outcometick ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 5 จาก 5 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: Authorization, X-Backtest-Key, X-Smart-Key, OT_KEY, OT_SMART_KEY, OT_BACKTEST_KEY

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

ได้ทั้งสองแบบ จะลงในเครื่องหรือต่อผ่านคลาวด์ก็ได้

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด 9 วันที่ผ่านมา และส่งรุ่นล่าสุด (3.0.0) เข้า registry 30 วันที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT บนเว็บ (แบบเต็มในแผน Business ขึ้นไป · Pro แบบอ่านอย่างเดียว)

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Solana MCP by Vybe, Oracle3 prediction-market arbitrage checks, Polymarket Paper Trader

ตัวอื่นในหมวดเดียวกัน

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Solana MCP by Vybe

Solana MCP developer toolkit: wallets, trades, markets, PnL, transfers, onchain, swaps & API tools.

โดย vybenetworkกำลังโต★ 2.7K ดาวรวมทั้งรีโปอัปเดต 6 เดือนที่ผ่านมา

รันบนคลาวด์

Oracle3 prediction-market arbitrage checks

Kalshi and Polymarket data, venue fees, no-arbitrage checks and paper execution for AI agents.

โดย YichengYang-Ethanกำลังโต↓ 35/สัปดาห์★ 569อัปเดต 44 วันที่ผ่านมา

รันบนเครื่อง

Polymarket Paper Trader

Polymarket paper trading for AI agents: $10k paper money, real order books, official fees.

โดย agent-nextกำลังโต↓ 226/สัปดาห์★ 507อัปเดต 29 วันที่ผ่านมา

รันบนเครื่อง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

outcometick

The TypeScript / JavaScript strategy SDK and the ot command line for outcometick.com — tick-level data for Polymarket and Predict.fun crypto Up/Down markets.

npm i -g outcometick

ot check . # validate, free, no data ot run . --data ./polymarket-data-samples # replay locally ot submit . --assets btc,eth --days 30 # send it to the queue ot status # where it got to ot fetch # download the report

Breaking in 2.0: backtests cover only the most recent 35 archived days, and the window moves forward as days are archived. A --from before the window, or --days longer than it, is refused with E_SCOPE before anything is uploaded, and the message names the current window. Use --days for the most recent n days; the current dates are at https://outcometick.com/v1/backtest/capacity?venue=polymarket.

Writing a strategy

Fully typed — ot ships .d.ts declarations, so a strategy that type-checks is one the queue will accept.

import { Strategy, Order, type Ctx, type Tick } from "outcometick";

export default class MeanReversion extends Strategy<{ entry_z: number; size: number }> { private entered = false;

onMarketOpen() { this.entered = false; }

onTick(ctx: Ctx<{ entry_z: number; size: number }>, tick: Tick): Order | null { const z = ctx.zscore(tick.value, { window: 180 }); if (this.entered || Math.abs(z) < ctx.p.entry_z) return null; const side = z > 0 ? "DOWN" : "UP"; const limit = ctx.book().best(side); if (limit === null) return null; this.entered = true; return new Order({ side, size: ctx.p.size, limit }); } }

Plain JavaScript works too — the runtime is ESM with no build step.

The point of ot check

It runs the same validator the queue runs — the same module, not a copy. If it passes locally it will not be rejected on submit. That is only true because there is one implementation, which is why the validator and the static analysers ship in this package rather than being reimplemented client-side.

What ot run is and is not

It is the same engine, the same report and the same archive format the queue uses, against a local copy of the archive:

curl -L https://github.com/outcometick/polymarket-tick-data-samples/releases/latest/download/polymarket-data-samples.tar.gz | tar xz

It is not the sandbox. Locally your strategy runs as you, with your privileges, on your machine — which is fine, because it is your code. On our machines it runs in a container with no network, no writable filesystem and a hard CPU and wall-clock budget.

Testing

npm install && npm test

Requires python3 on PATH: one of the two static analysers is written in Python, and the CLI drives it the same way the API does.

Downloading data

The other half of the package: a client for the data subscription, on a separate import because it has nothing to do with writing a strategy.

import { DataClient, NO_VALUE } from "outcometick/data";

const ot = new DataClient(); // key from OT_KEY

const meta = await ot.meta(); // what can this key see?

const { files } = await ot.files({ from: "2026-08-01", to: "2026-08-12", // or date: "2026-08-12" asset: ["BTC", "ETH"], // the BASE symbol, not BTCUSD dataset: "prices", interval: ["5m", NO_VALUE], // "5m" alone EXCLUDES the }); // period-less settlement streams

await ot.download(files[0], { saveTo: files[0].name }); // checksum verified

meta() reports the dimensions this key can actually reach. Note that intervals holds real durations only — the none sentinel is reported separately under filterTokens, so a caller that builds an enum from it or parses the values as durations never meets a token.

Downloads are checksum-verified: /v1/dl redirects to storage with the sha256 in a header, and the client follows that redirect itself so the checksum is not thrown away.

Rebuilding a Polymarket order book

book and price_change are stored at a capture cadence, so a removal can fall between two stored frames and leave a stale level behind. OrderBook applies the documented rebuild rule: snapshots replace a token's ladder, changes set absolute sizes (0 removes), and levels crossed by the newest best bid/ask (from best_bid_ask and from each change) are dropped. Feed it rows from the three files merged by recv_ms.

import { OrderBook } from "outcometick/data";

const book = new OrderBook(); for (const row of rows) book.apply(row); // parsed objects or JSONL lines book.ladder(tokenId); // { bids: [{ price, size }], asks: [...] }, best first book.best(tokenId); // { bid, ask }

That removes every level the best prices have moved past, but it cannot restore what the dropped frames added or resized: until the next snapshot a level, at the top too, can be missing or carry an old size (best_bid_ask has prices only). best() is the best level of the rebuilt ladder, not the market's latest best bid/ask — read best_bid_ask rows for that.

Smart-money trade history

A separate subscription with its own key: daily files of the trades made by the top-ranked Polymarket traders.

const smart = new DataClient({ key: process.env.OT_SMART_KEY });

const { days } = await smart.smartDays(); // newest first const day = days.find((d) => d.lists.top1000?.status === "published")?.day; if (day) await smart.smartDownload(day, "top1000", { saveTo: "top1000.csv.zst" }); // verified

What the lists are and what each column means: https://outcometick.com/polymarket-smart-money-data

MCP server

ot mcp is a Model Context Protocol server over stdio, for coding assistants and agents. It reads, prices, validates and downloads; it never submits a backtest, because that spends credits. Needs Node 24 or newer.

{

"mcpServers": { "outcometick": { "command": "npx", "args": ["-y", "outcometick", "mcp"], "env": { "OT_KEY": " ", "OT_SMART_KEY": " ", "OT_BACKTEST_KEY": " " } } } }

Claude Code: claude mcp add outcometick -e OT_KEY= -- npx -y outcometick mcp

The same tools are also hosted, with nothing to install, over Streamable HTTP:

  • https://outcometick.com/v1/mcp: send Authorization: Bearer (data, smart-money or backtest key; add a second or third key as X-Backtest-Key / X-Smart-Key), or connect without a header and sign in with OAuth, pasting your keys on the consent page (claude.ai and ChatGPT connectors).
  • https://outcometick.com/v1/mcp/public: no key, public tools only.

claude mcp add --transport http outcometick https://outcometick.com/v1/mcp --header "Authorization: Bearer "

Hosted, download_file and smart_download return a signed URL and its sha256 instead of writing to disk, and check_strategy takes the file contents instead of a directory.

ToolKeyWhat it does
coveragenoneWhat the archive holds per venue: assets, datasets, day range
plansnoneData subscription plans and their live prices
backtest_capacitynoneWhich days can be backtested now, and how busy the queue is
backtest_quotenonePrice a backtest scope in credits without submitting it
check_strategynoneValidate a strategy directory with the queue's own validator, locally
metaOT_KEYThe date window and filter values the data key can reach
list_filesOT_KEYSearch archive files the data key can download
download_fileOT_KEYDownload one file and verify its sha256
backtest_runsOT_BACKTEST_KEYRecent runs under the backtest key, and the credit balance
backtest_statusOT_BACKTEST_KEYOne run's status, credits and report summary
smart_plansnoneSmart-money plans (daily Polymarket wallet lists) and their live prices
smart_coveragenoneWhich smart-money days are published
smart_daysOT_SMART_KEYThe days the smart-money key can download, with each list's status
smart_downloadOT_SMART_KEYDownload one day's list and verify its sha256

Writing your strategy in Python instead? The SDK for it is pip install outcometick. ot runs those too — it is the one CLI for both languages.

Full reference: https://outcometick.com/docs/sdk

Links