mcp
Polymarket preflight verdicts: OK/CAUTION/VETO on orders, COPY/WATCH/VETO on wallets. x402-paid.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (1)
- LOWen credits_balance
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"mcp": {
"url": "https://ticktape.cc/mcp"
}
}
}Puntos de conexión remotos
https://ticktape.cc/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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.
Esquema de entrada
{
"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
}Esquema de salida
{
"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.
Esquema de entrada
{
"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
}Esquema de salida
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {
"sandbox": {
"type": "boolean",
"description": "true = free deterministic example response, never charged."
}
},
"additionalProperties": false
}Esquema de salida
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {
"sandbox": {
"type": "boolean",
"description": "true = free deterministic example response, never charged."
}
},
"additionalProperties": false
}Esquema de salida
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}Esquema de salida
{
"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"
]
}Prompts recomendados
red_listred_listComunidad
Evidencia