mcp
Polymarket preflight verdicts: OK/CAUTION/VETO on orders, COPY/WATCH/VETO on wallets. x402-paid.
사용해야 할까요
품질 및 안전성
발견 사항 (1)
- LOWcredits_balance에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"mcp": {
"url": "https://ticktape.cc/mcp"
}
}
}원격 엔드포인트
https://ticktape.cc/mcpstreamable-http할 수 있는 일
도구 목록
도구 (5)
🟢preflight_trade(slug, outcome, token_id, side, usd, ...)
Pre-flight verdict (OK / CAUTION / VETO) for a Polymarket order before you send it: expected VWAP slippage, visible depth, 2026 taker-fee drag, safe size and book staleness, computed deterministically from the live CLOB book. Identify the market by token_id, or by slug + outcome. Price: $0.02 per call via x402 or 1 credit with a bearer token; sandbox: true is free.
입력 스키마
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Market or event slug (a polymarket.com/event/<slug> URL works too). Use with outcome."
},
"outcome": {
"type": "string",
"description": "Outcome name, e.g. Yes / No / candidate name (partial match OK for multi-outcome events)."
},
"token_id": {
"type": "string",
"description": "CLOB token id - alternative to slug + outcome."
},
"side": {
"type": "string",
"enum": [
"BUY",
"SELL"
],
"description": "Order side. Default BUY."
},
"usd": {
"type": "number",
"description": "Order size in USD. Default 100, max 10000."
},
"max_slippage_c": {
"type": "number",
"description": "Threshold override: slippage in cents above which the verdict degrades from OK to CAUTION. Default 1.0."
},
"veto_slippage_c": {
"type": "number",
"description": "Threshold override: slippage in cents at which the verdict becomes VETO. Default 3.0."
},
"max_book_age_s": {
"type": "number",
"description": "Threshold override: maximum acceptable order-book age in seconds. Default 60."
},
"sandbox": {
"type": "boolean",
"description": "true = free deterministic example response, never charged."
}
},
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"verdict": {
"type": "string",
"enum": [
"OK",
"CAUTION",
"VETO"
],
"description": "Deterministic verdict on executing this order now, at this size, on this book. Not a prediction of the market outcome."
},
"reasons": {
"type": "array",
"items": {
"type": "string"
},
"description": "Reasons, each carrying the number that triggered it."
},
"market": {
"type": "object",
"description": "The market the verdict was computed for.",
"properties": {
"slug": {
"type": [
"string",
"null"
]
},
"question": {
"type": [
"string",
"null"
]
},
"outcome": {
"type": [
"string",
"null"
]
},
"token_id": {
"type": "string"
}
}
},
"order": {
"type": "object",
"description": "The order as understood by the endpoint.",
"properties": {
"side": {
"type": "string",
"enum": [
"BUY",
"SELL"
]
},
"usd": {
"type": "number"
}
}
},
"numbers": {
"type": "object",
"properties": {
"best_price": {
"type": "number",
"description": "Best available price on the relevant side of the book."
},
"expected_vwap": {
"type": "number",
"description": "Volume-weighted average fill price for the requested size."
},
"expected_slippage_cents": {
"type": "number",
"description": "expected_vwap minus best_price, in cents per share."
},
"visible_depth_usd": {
"type": "number",
"description": "Visible depth on the relevant side, in USD."
},
"order_vs_depth_pct": {
"type": "number",
"description": "Order size as a percentage of visible depth."
},
"taker_fee_usd": {
"type": "number",
"description": "Total taker fee for this order under the 2026 schedule."
},
"fee_drag_cents_per_share": {
"type": "number",
"description": "Taker fee in cents per share (rate * p * (1-p))."
},
"fee_category": {
"type": "string",
"description": "Fee schedule category applied to this market."
},
"safe_size_usd": {
"type": "number",
"description": "Largest order size that would still pass the OK thresholds on this book."
},
"book_age_seconds": {
"type": "number",
"description": "Age of the order-book snapshot used."
}
}
},
"meta": {
"type": "object",
"description": "Method, audience and thresholds used. Present on live-book responses (absent on sandbox examples)."
},
"sandbox": {
"type": "boolean",
"description": "True when the response is the free deterministic sandbox example."
},
"note": {
"type": "string"
},
"paid": {
"type": "object",
"description": "Payment record. Per-call x402 lane: price_paid_usdc / transaction / network / receipt. Credit lane: credits_used / credits_remaining. Absent on sandbox and free QUEUED responses.",
"properties": {
"price_paid_usdc": {
"type": "string",
"description": "USDC settled for this call, decimal string (e.g. \"0.02\")."
},
"transaction": {
"type": "string",
"description": "On-chain settlement transaction hash."
},
"network": {
"type": "string",
"description": "CAIP-2 network id, eip155:8453 (Base)."
},
"receipt": {
"type": [
"string",
"null"
],
"description": "Basescan link for the settlement."
},
"credits_used": {
"type": "integer"
},
"credits_remaining": {
"type": "integer"
}
}
}
},
"required": [
"ok",
"verdict"
]
}🟢preflight_copy(wallet, sandbox)
COPY / WATCH / VETO verdict for copy-trading a Polymarket wallet, with the numbers behind it (fee-inclusive copier ROI from a fixed $5-entry / +2c-slippage simulation, win rate, entry-price buckets, category mix). Wallets not yet computed return QUEUED free of charge - typically ready in minutes (retry_after_seconds tells you when); worst case about an hour. Price: $0.10 per call via x402 or 5 credits with a bearer token; sandbox: true is free.
입력 스키마
{
"type": "object",
"properties": {
"wallet": {
"type": "string",
"description": "Polymarket wallet address (0x + 40 hex). Required for live calls; optional with sandbox: true."
},
"sandbox": {
"type": "boolean",
"description": "true = free deterministic example response, never charged."
}
},
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"verdict": {
"type": "string",
"enum": [
"COPY",
"WATCH",
"VETO",
"NO_COVERAGE",
"QUEUED"
],
"description": "COPY only for out-of-sample-validated wallets; in-sample verdicts are capped at WATCH. VETO = negative fee-inclusive copier ROI or both-sides farming. NO_COVERAGE = below the 10-first-entry floor. QUEUED = not computed yet (free) - typically ready in minutes (retry_after_seconds tells you when); worst case about an hour."
},
"reasons": {
"type": "array",
"items": {
"type": "string"
}
},
"wallet": {
"type": "string"
},
"name": {
"type": [
"string",
"null"
],
"description": "Last pseudonym seen on the tape."
},
"window": {
"type": "object",
"properties": {
"from": {
"type": "string"
},
"to": {
"type": "string"
},
"days": {
"type": "integer"
}
}
},
"n_first_entries": {
"type": "integer",
"description": "Distinct (market, outcome) first BUY entries in the window; crypto up/down markets excluded."
},
"n_resolved": {
"type": "integer"
},
"n_pending": {
"type": "integer"
},
"win_rate_pct": {
"type": [
"number",
"null"
]
},
"roi_slippage_basis_pct": {
"type": [
"number",
"null"
],
"description": "$5/entry at whale price +2c slippage, held to resolution."
},
"roi_fee_inclusive_pct": {
"type": [
"number",
"null"
],
"description": "Slippage basis minus explicit 2026 taker fees (rate*p*(1-p))."
},
"avg_entry_price": {
"type": [
"number",
"null"
]
},
"entry_price_buckets": {
"type": "object",
"additionalProperties": {
"type": "integer"
}
},
"category_mix_pct": {
"type": "object",
"additionalProperties": {
"type": "number"
}
},
"clips_per_entry_avg": {
"type": "number",
"description": "Iceberg signal - how many fills the wallet splits one entry into."
},
"both_sides_pct": {
"type": "number",
"description": "Share of markets where the wallet bought BOTH outcomes (farming smell)."
},
"first_trade_at": {
"type": [
"string",
"null"
]
},
"last_trade_at": {
"type": [
"string",
"null"
]
},
"active_days": {
"type": "integer"
},
"retry_after_seconds": {
"type": "integer",
"description": "QUEUED only."
},
"computed_at": {
"type": "string"
},
"method": {
"type": "string"
},
"sandbox": {
"type": "boolean",
"description": "True when the response is the free deterministic sandbox example."
},
"note": {
"type": "string"
},
"paid": {
"type": "object",
"description": "Payment record. Per-call x402 lane: price_paid_usdc / transaction / network / receipt. Credit lane: credits_used / credits_remaining. Absent on sandbox and free QUEUED responses.",
"properties": {
"price_paid_usdc": {
"type": "string",
"description": "USDC settled for this call, decimal string (e.g. \"0.02\")."
},
"transaction": {
"type": "string",
"description": "On-chain settlement transaction hash."
},
"network": {
"type": "string",
"description": "CAIP-2 network id, eip155:8453 (Base)."
},
"receipt": {
"type": [
"string",
"null"
],
"description": "Basescan link for the settlement."
},
"credits_used": {
"type": "integer"
},
"credits_remaining": {
"type": "integer"
}
}
}
},
"required": [
"ok",
"verdict"
],
"description": "Copy-trading profile for one wallet (rolling 90-day window, recomputed nightly). QUEUED responses carry only verdict/wallet/reasons/retry_after_seconds and are always free."
}🟢leaderboard(sandbox)
Polymarket wallets currently rated COPY or WATCH for copyability: simulated copier ROI net of 2026 taker fees and slippage, out-of-sample validation, sample sizes and reasons. Price: $0.02 per call via x402 or 1 credit with a bearer token; sandbox: true is free.
입력 스키마
{
"type": "object",
"properties": {
"sandbox": {
"type": "boolean",
"description": "true = free deterministic example response, never charged."
}
},
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"computed_at": {
"type": "string"
},
"window": {
"type": "string",
"description": "Human-readable audit window."
},
"method": {
"type": "string"
},
"universe": {
"type": "string",
"description": "The selection funnel behind the ratings."
},
"note": {
"type": "string"
},
"sandbox": {
"type": "boolean",
"description": "True when the response is the free deterministic sandbox example."
},
"wallets": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"verdict"
],
"properties": {
"name": {
"type": "string",
"description": "Polymarket display name (public pseudonym)."
},
"verdict": {
"type": "string",
"enum": [
"COPY",
"WATCH",
"VETO"
]
},
"roi_slippage_basis_pct": {
"type": "number",
"description": "Simulated copier ROI net of the 2c slippage floor, before explicit taker fees."
},
"roi_fee_inclusive_pct": {
"type": "number",
"description": "Simulated copier ROI with explicit 2026 taker fees, first-entry mirror $5/trade, 2c slippage."
},
"copied_trades": {
"type": "integer",
"description": "Number of mirrored trades in the in-sample window."
},
"oos_trades": {
"type": "integer",
"description": "Number of mirrored trades in the out-of-sample month. Present when the OOS sample size drove the verdict; distinct from copied_trades, which counts the in-sample window."
},
"win_rate_pct": {
"type": "number"
},
"oos_validated": {
"type": "boolean",
"description": "True if the wallet survived the out-of-sample month."
},
"reasons": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"description": "Wallets rated COPY or WATCH."
},
"paid": {
"type": "object",
"description": "Payment record. Per-call x402 lane: price_paid_usdc / transaction / network / receipt. Credit lane: credits_used / credits_remaining. Absent on sandbox and free QUEUED responses.",
"properties": {
"price_paid_usdc": {
"type": "string",
"description": "USDC settled for this call, decimal string (e.g. \"0.02\")."
},
"transaction": {
"type": "string",
"description": "On-chain settlement transaction hash."
},
"network": {
"type": "string",
"description": "CAIP-2 network id, eip155:8453 (Base)."
},
"receipt": {
"type": [
"string",
"null"
],
"description": "Basescan link for the settlement."
},
"credits_used": {
"type": "integer"
},
"credits_remaining": {
"type": "integer"
}
}
}
},
"required": [
"ok",
"wallets"
]
}🟢red_list(sandbox)
Polymarket wallets a copier should refuse (VETO): negative fee-inclusive copier ROI or farming patterns, same method and window as the leaderboard. Price: $0.02 per call via x402 or 1 credit with a bearer token; sandbox: true is free.
입력 스키마
{
"type": "object",
"properties": {
"sandbox": {
"type": "boolean",
"description": "true = free deterministic example response, never charged."
}
},
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"computed_at": {
"type": "string"
},
"window": {
"type": "string",
"description": "Human-readable audit window."
},
"method": {
"type": "string"
},
"universe": {
"type": "string",
"description": "The selection funnel behind the ratings."
},
"note": {
"type": "string"
},
"sandbox": {
"type": "boolean",
"description": "True when the response is the free deterministic sandbox example."
},
"wallets": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"verdict"
],
"properties": {
"name": {
"type": "string",
"description": "Polymarket display name (public pseudonym)."
},
"verdict": {
"type": "string",
"enum": [
"COPY",
"WATCH",
"VETO"
]
},
"roi_slippage_basis_pct": {
"type": "number",
"description": "Simulated copier ROI net of the 2c slippage floor, before explicit taker fees."
},
"roi_fee_inclusive_pct": {
"type": "number",
"description": "Simulated copier ROI with explicit 2026 taker fees, first-entry mirror $5/trade, 2c slippage."
},
"copied_trades": {
"type": "integer",
"description": "Number of mirrored trades in the in-sample window."
},
"oos_trades": {
"type": "integer",
"description": "Number of mirrored trades in the out-of-sample month. Present when the OOS sample size drove the verdict; distinct from copied_trades, which counts the in-sample window."
},
"win_rate_pct": {
"type": "number"
},
"oos_validated": {
"type": "boolean",
"description": "True if the wallet survived the out-of-sample month."
},
"reasons": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"description": "Wallets rated VETO - copying them lost money for the simulated copier."
},
"paid": {
"type": "object",
"description": "Payment record. Per-call x402 lane: price_paid_usdc / transaction / network / receipt. Credit lane: credits_used / credits_remaining. Absent on sandbox and free QUEUED responses.",
"properties": {
"price_paid_usdc": {
"type": "string",
"description": "USDC settled for this call, decimal string (e.g. \"0.02\")."
},
"transaction": {
"type": "string",
"description": "On-chain settlement transaction hash."
},
"network": {
"type": "string",
"description": "CAIP-2 network id, eip155:8453 (Base)."
},
"receipt": {
"type": [
"string",
"null"
],
"description": "Basescan link for the settlement."
},
"credits_used": {
"type": "integer"
},
"credits_remaining": {
"type": "integer"
}
}
}
},
"required": [
"ok",
"wallets"
]
}🟢credits_balance
Remaining credit balance for your bearer token. Free - requires Authorization: Bearer tk_<wallet>_<secret> on the MCP request; without a token it returns the credit-pack purchase terms instead.
입력 스키마
{
"type": "object",
"properties": {},
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"balance": {
"type": "integer",
"description": "Remaining credits for the wallet behind the bearer token. Present only with a valid token."
},
"expires": {
"type": "string",
"description": "Credit expiry (12 months from purchase). Present only with a valid token."
},
"pack": {
"type": "object",
"description": "Pack terms: {usd, credits, valid_days}."
},
"costs": {
"type": "object",
"description": "Per-endpoint credit costs: preflight_trade / leaderboard / red_list = 1; preflight_copy = 5."
},
"how": {
"type": "string",
"description": "How to buy a pack (x402 payment on POST /api/credits)."
},
"why": {
"type": "string",
"description": "Why credits exist (fast header auth vs per-call on-chain settle)."
}
},
"required": [
"ok"
]
}권장 프롬프트
red_listred_list커뮤니티
증거