PolyVision — Polymarket Wallet Analyzer
PolyVision analyzes Polymarket prediction market wallets and returns a comprehensive trading profile: copy trading score (1-10), P&L breakdown, win rate, risk metrics (Sharpe ratio, Sortino ratio, max drawdown), position sizing consistency, market category performance, recent performance windows (7d/30d/90d), streak analysis, red flags, and individual open positions with entry/current prices. It also provides a daily leaderboard of top-ranked traders, hot bets (most profitable open positions from top traders), and random elite wallet discovery. Use it to evaluate whether a trader is worth copy trading, compare multiple wallets, screen for elite performers, find today's best bets, or discover new traders to follow.
When to Use
- - User mentions a Polymarket wallet address (0x...)
- User asks about copy trading, trader evaluation, or wallet scoring
- User wants to compare prediction market traders or screen for elite performers
- User asks about a trader's risk profile, red flags, or trading patterns
- User asks what bets top traders are making, or wants today's best open positions
- User wants to discover or find new Polymarket traders to follow
- User asks about a daily leaderboard or top traders ranking
- User wants to see a trader's individual open positions with P&L details
- User asks about a trader's recent trades, trade history, or latest activity
- User asks for copy trading strategy recommendations or optimal settings
- User wants to know what risk profile or parameters to use for copy trading
When NOT to Use
- - General crypto price queries (not Polymarket-specific)
- Placing trades or executing orders (PolyVision is read-only analysis)
- Non-Polymarket wallet lookups (Ethereum DeFi, NFTs, etc.)
Setup: MCP Server (Recommended)
Add to your MCP client configuration (e.g. claude_desktop_config.json, Cursor, Windsurf):
CODEBLOCK0
Setup: Get an API Key
Get a free API key (no daily limits) from the Telegram bot:
- 1. Open the PolyVision bot on Telegram
- Run
/apikey to generate your key - Copy the
pv_live_... key (shown only once, store it securely)
Set it as an environment variable:
CODEBLOCK1
Full API docs: https://polyvisionx.com/docs
MCP Tools Reference
analyze_wallet
Run a comprehensive Polymarket wallet analysis.
| Parameter | Type | Required | Default | Description |
|---|
| INLINECODE4 | string | Yes | — | Ethereum address (42 chars, starts with 0x) |
| INLINECODE6 |
string | No |
"quick" |
"quick" (~5s) or
"full" (~30-60s with timing data) |
Returns: Full analysis dict with P&L, win rate, risk metrics, categories, copy trading score (1-10), red flags, and usage info. Results are cached for 6 hours — cache hits are instant. See references/response-schemas.md for the complete field reference.
Timing: Quick mode ~5s, full mode ~30-60s. Cached responses are instant.
get_score
Get a compact copy-trading score for a wallet. Shares the same cache as analyze_wallet.
| Parameter | Type | Required | Description |
|---|
| INLINECODE13 | string | Yes | Ethereum address (42 chars, starts with 0x) |
Returns: Score (1-10), recommendation, tier (green/yellow/orange/red), total P&L, win rate, trade count, Sharpe ratio, red flags, cache status, and usage info.
Timing: ~5s fresh, instant if cached.
get_hot_bets
Get today's hot bets from top traders. Returns the most profitable open positions from top-ranked Polymarket traders, sourced from the daily strategy report.
| Parameter | Type | Required | Default | Description |
|---|
| INLINECODE16 | integer | No | INLINECODE17 | Maximum number of bets to return |
| INLINECODE18 |
string | No |
"rank" |
"rank" (default) or
"pnl" |
Returns: Scan date, total count, and list of hot bets — each with trader info (wallet, username, score, win rate), market details (title, slug, outcome), pricing (entry price, current price, current value), P&L (unrealized P&L, percent), resolution info (end date, days until resolution), entry timing (entry date, days since entry, hold hours), and Polymarket URL. See references/response-schemas.md for the complete field reference.
get_leaderboard
Get the daily top-10 leaderboard of ranked Polymarket traders. Synced daily from the scan pipeline.
| Parameter | Type | Required | Default | Description |
|---|
| INLINECODE24 | string | No | INLINECODE25 | INLINECODE26 (default), "score", or INLINECODE28 |
Returns: Scan date, total count, and list of leaderboard entries — each with wallet address, username, total P&L, volume, ROI%, win rate, risk metrics (Sharpe ratio, max drawdown, profit factor), copy score (1-10), recommendation, tier (green/yellow/orange/red), red flags, track record days, last trade date, and category percentages (politics, crypto, sports). See references/response-schemas.md for the complete field reference.
get_strategy
Get pre-computed copy trading strategy profiles. Returns 3 risk profiles (conservative, moderate, aggressive) with backtested parameters and expected metrics, updated daily.
Parameters: None
Returns: Scan date, total count, and list of strategy profiles — each with parameters (price range, min score, max trades/day, min trade size, position sizing method), backtest results (win rate, ROI, Sharpe ratio, max drawdown, profit factor, EV/trade, total P&L), cost-adjusted results, and a plain-English description. See references/response-schemas.md for the complete field reference.
get_recent_trades
Get recent trades for a Polymarket wallet. Returns trade history with side, size, price, market title, and timestamps.
| Parameter | Type | Required | Default | Description |
|---|
| INLINECODE33 | string | Yes | — | Ethereum address (42 chars, starts with 0x) |
| INLINECODE35 |
integer | No | — | Unix timestamp — only return trades after this time |
|
limit | integer | No |
50 | Max trades to return (1-100) |
Returns: Dict with wallet_address, since, count, and trades list — each trade with side (BUY/SELL), size, price, timestamp, market title, outcome, slug, and transaction hash. See references/response-schemas.md for the complete field reference.
discover_wallet
Discover a random elite trader from the curated wallet pool (250+). Returns a random wallet address each call — use analyze_wallet or get_score to investigate it.
Parameters: None
Returns: INLINECODE46
check_quota
Check your usage statistics. Does not consume quota.
Parameters: None
Returns: INLINECODE48
API/MCP access has no daily limits — usage is tracked for analytics only.
get_portfolio
Get the user's tracked wallet portfolio with scores and nicknames.
| Parameter | Type | Required | Default | Description |
|---|
| INLINECODE50 | integer | No | INLINECODE51 | Page number (0-indexed) |
| INLINECODE52 |
integer | No |
10 | Results per page (1-50) |
Returns: Dict with total_count, page, limit, and wallets list — each with wallet address, nickname, score, last analyzed date, and notifications status. See references/response-schemas.md for the complete field reference.
add_to_portfolio
Add a wallet to the user's portfolio for tracking.
| Parameter | Type | Required | Default | Description |
|---|
| INLINECODE60 | string | Yes | — | Ethereum address (42 chars, starts with 0x) |
| INLINECODE62 |
string | No | — | Display name (defaults to first 10 chars of address) |
Returns: Dict with wallet_address, nickname, and message on success, or dict with error key on failure (duplicate, limit reached).
Limits: Free users: 3 wallets. Premium users: 20 wallets.
remove_from_portfolio
Remove a wallet from the user's portfolio.
| Parameter | Type | Required | Description |
|---|
| INLINECODE68 | string | Yes | Ethereum address to remove |
Returns: Dict with wallet_address and message on success, or dict with error key if wallet not found.
health
Check system health.
Parameters: None
Returns: { "status": "ok" } or INLINECODE74
Score Tiers
| Tier | Score Range | Recommendation | Meaning |
|---|
| Green | 8.0 – 10.0 | Strong Copy | Consistently profitable, good risk management, strong track record |
| Yellow |
6.0 – 7.9 | Moderate Copy | Decent performance with some concerns, proceed with caution |
| Orange | 4.0 – 5.9 | Risky Copy | Mixed results, significant red flags, high risk |
| Red | 0.0 – 3.9 | Don't Copy | Poor performance, major red flags, likely to lose money |
Decision Table
| User Intent | Tool | Mode | Why |
|---|
| "Should I copy this trader?" | INLINECODE75 | — | Quick yes/no with score + red flags |
| "Deep dive on this wallet" |
analyze_wallet |
full | Complete analysis with timing data |
| "Quick check on a wallet" |
analyze_wallet |
quick | Full analysis without activity timing |
| "What are this trader's open positions?" |
analyze_wallet |
quick |
open_positions_detail in analysis response |
| "Compare two traders" |
get_score x2 | — | Side-by-side scores for fast comparison |
| "What categories does this trader focus on?" |
analyze_wallet |
quick | Category breakdown in analysis |
| "What are the best bets right now?" |
get_hot_bets | — | Today's most profitable open positions from top traders |
| "What bets are top traders making?" |
get_hot_bets | sort=
pnl | Hot bets sorted by P&L |
| "Who are the top traders today?" |
get_leaderboard | — | Daily top-10 ranked traders |
| "Find me a good trader to follow" |
discover_wallet | — | Random elite wallet, then
get_score or
analyze_wallet |
| "What trades has this wallet made recently?" |
get_recent_trades | — | Recent trade history for a wallet |
| "What strategy should I use for copy trading?" |
get_strategy | — | 3 risk profiles with backtested parameters |
| "What's the safest way to copy trade?" |
get_strategy | — | Conservative profile with low drawdown |
| "Discover new traders" |
discover_wallet x3 | — | Multiple random picks to explore |
| "Show my tracked wallets" |
get_portfolio | — | View portfolio with scores and nicknames |
| "Add this wallet to my portfolio" |
add_to_portfolio | — | Track a wallet with optional nickname |
| "Remove wallet from portfolio" |
remove_from_portfolio | — | Stop tracking a wallet |
| "Is the system up?" |
health | — | System status check |
| "How many analyses have I run?" |
check_quota | — | Usage stats (no limits enforced) |
Red Flag Reference
Red flags are returned as a list of strings. Here's what each one means:
| Red Flag | Trigger | Severity |
|---|
| Low win rate | Win rate below 40% | High |
| Large single loss |
Single worst trade exceeds 50% of total P&L | Medium |
| Overall unprofitable | Net P&L is negative | High |
| Limited track record | Fewer than 10 closed positions | Medium |
| Inactive | No trades in 30+ days | Low |
| BOT ALERT | Median trade duration under 5 minutes | High |
| Very fast trading | Median trade duration under 30 minutes | Medium |
| LOSS HIDING | 70%+ of open positions underwater (5+ open) | High |
| Open positions losing | 50%+ of open positions underwater (3+ open) | Medium |
| No major red flags detected | No concerning patterns found | None |
REST API (Alternative)
For agents that cannot use MCP, all tools are available as REST endpoints at https://api.polyvisionx.com. Most endpoints require Bearer token authentication (exceptions noted below).
Interactive docs and the OpenAPI spec are available at:
- - Swagger UI: INLINECODE103
- OpenAPI JSON: INLINECODE104
| Endpoint | Method | Description |
|---|
| INLINECODE105 | GET | Get current user info and usage stats |
| INLINECODE106 |
GET | Full wallet analysis (includes
open_positions_detail) |
|
GET /v1/score/{wallet_address} | GET | Compact copy-trading score |
|
GET /v1/hot-bets?page=0&limit=20&sort_by=rank | GET | Today's hot bets from top traders |
|
GET /v1/leaderboard?sort_by=rank | GET | Daily top-10 leaderboard |
|
GET /v1/strategy | GET | Pre-computed copy trading strategy profiles (3 risk levels) |
|
GET /v1/trades/{wallet_address}?since=&limit=50 | GET | Recent trades for a wallet |
|
GET /v1/discover | GET | Discover a random elite trader |
|
GET /v1/portfolio?page=0&limit=10 | GET | Get your tracked wallet portfolio |
|
POST /v1/portfolio | POST | Add a wallet to your portfolio (JSON body:
wallet_address,
nickname) |
|
DELETE /v1/portfolio/{wallet_address} | DELETE | Remove a wallet from your portfolio |
|
GET /health | GET | Health check (no auth required) |
Example: Analyze a wallet
CODEBLOCK2
Example: Get a score
CODEBLOCK3
Example: Get hot bets
CODEBLOCK4
Example: Get leaderboard
CODEBLOCK5
Example: Get strategy profiles
CODEBLOCK6
Example: Discover a random trader
CODEBLOCK7
Error Codes
| Code | Meaning | Recovery |
|---|
| 400 | Invalid wallet address (must be 42-char hex starting with 0x) | Fix the address format |
| 401 |
Invalid or inactive API key | Get a key from the
PolyVision Telegram bot via
/apikey |
| 429 | Rate limited | Wait and retry — Polymarket API has upstream limits |
| 503 | System at capacity (all analysis slots in use) | Retry in 30-60 seconds |
| 502 | Upstream Polymarket API error | Retry — the upstream data API may be temporarily unavailable |
| 504 | Analysis timed out | Retry — the wallet may have extensive history |
PolyVision — Polymarket钱包分析器
PolyVision分析Polymarket预测市场钱包,并返回全面的交易档案:跟单交易评分(1-10分)、盈亏明细、胜率、风险指标(夏普比率、索提诺比率、最大回撤)、仓位规模一致性、市场类别表现、近期表现窗口(7天/30天/90天)、连胜/连败分析、危险信号以及各持仓的入场价/当前价。它还提供每日顶级交易者排行榜、热门押注(顶级交易者中最盈利的未平仓头寸)以及随机精英钱包发现功能。使用它来评估某个交易者是否值得跟单、比较多个钱包、筛选精英表现者、寻找今日最佳押注,或发现值得关注的新交易者。
何时使用
- - 用户提及Polymarket钱包地址(0x...)
- 用户询问跟单交易、交易者评估或钱包评分
- 用户想要比较预测市场交易者或筛选精英表现者
- 用户询问交易者的风险状况、危险信号或交易模式
- 用户询问顶级交易者正在下什么注,或想要今日最佳未平仓头寸
- 用户想要发现或寻找新的Polymarket交易者关注
- 用户询问每日排行榜或顶级交易者排名
- 用户想要查看交易者的各未平仓头寸及盈亏详情
- 用户询问交易者的近期交易、交易历史或最新活动
- 用户请求跟单交易策略建议或最佳设置
- 用户想知道跟单交易应使用什么风险参数
何时不使用
- - 一般加密货币价格查询(非Polymarket专用)
- 下单或执行交易(PolyVision为只读分析)
- 非Polymarket钱包查询(以太坊DeFi、NFT等)
设置:MCP服务器(推荐)
添加到您的MCP客户端配置中(例如 claudedesktopconfig.json、Cursor、Windsurf):
json
{
mcpServers: {
polyvision: {
type: streamable-http,
url: https://api.polyvisionx.com/mcp,
headers: {
Authorization: Bearer ${POLYVISIONAPIKEY}
}
}
}
}
设置:获取API密钥
从Telegram机器人获取免费API密钥(无每日限制):
- 1. 在Telegram上打开 PolyVision机器人
- 运行 /apikey 生成您的密钥
- 复制 pvlive_... 密钥(仅显示一次,请安全存储)
将其设置为环境变量:
bash
export POLYVISIONAPIKEY=pvliveabc123...
完整API文档:https://polyvisionx.com/docs
MCP工具参考
analyze_wallet
运行全面的Polymarket钱包分析。
| 参数 | 类型 | 必填 | 默认值 | 描述 |
|---|
| wallet_address | 字符串 | 是 | — | 以太坊地址(42个字符,以0x开头) |
| mode |
字符串 | 否 | quick | quick(约5秒)或full(约30-60秒,含时间数据) |
返回: 完整的分析字典,包含盈亏、胜率、风险指标、类别、跟单评分(1-10分)、危险信号和使用信息。结果缓存6小时——缓存命中即时返回。完整字段参考见 references/response-schemas.md。
时间: 快速模式约5秒,完整模式约30-60秒。缓存响应即时返回。
get_score
获取钱包的紧凑跟单评分。与 analyze_wallet 共享同一缓存。
| 参数 | 类型 | 必填 | 描述 |
|---|
| wallet_address | 字符串 | 是 | 以太坊地址(42个字符,以0x开头) |
返回: 评分(1-10分)、建议、等级(绿/黄/橙/红)、总盈亏、胜率、交易次数、夏普比率、危险信号、缓存状态和使用信息。
时间: 约5秒新查询,缓存命中即时返回。
gethotbets
获取来自顶级交易者的今日热门押注。返回顶级Polymarket交易者中最盈利的未平仓头寸,来源于每日策略报告。
| 参数 | 类型 | 必填 | 默认值 | 描述 |
|---|
| limit | 整数 | 否 | 20 | 返回的最大押注数量 |
| sort_by |
字符串 | 否 | rank | rank(默认)或 pnl |
返回: 扫描日期、总数和热门押注列表——每个包含交易者信息(钱包、用户名、评分、胜率)、市场详情(标题、slug、结果)、价格(入场价、当前价、当前价值)、盈亏(未实现盈亏、百分比)、结算信息(结束日期、距结算天数)、入场时机(入场日期、距入场天数、持仓小时数)和Polymarket URL。完整字段参考见 references/response-schemas.md。
get_leaderboard
获取每日排名前10的Polymarket交易者排行榜。每日从扫描管道同步。
| 参数 | 类型 | 必填 | 默认值 | 描述 |
|---|
| sort_by | 字符串 | 否 | rank | rank(默认)、score 或 pnl |
返回: 扫描日期、总数和排行榜条目列表——每个包含钱包地址、用户名、总盈亏、交易量、ROI%、胜率、风险指标(夏普比率、最大回撤、利润因子)、跟单评分(1-10分)、建议、等级(绿/黄/橙/红)、危险信号、交易记录天数、最后交易日期和类别百分比(政治、加密货币、体育)。完整字段参考见 references/response-schemas.md。
get_strategy
获取预计算的跟单交易策略配置。返回3种风险配置(保守型、稳健型、激进型),包含回测参数和预期指标,每日更新。
参数: 无
返回: 扫描日期、总数和策略配置列表——每个包含参数(价格范围、最低评分、每日最大交易次数、最小交易规模、仓位规模方法)、回测结果(胜率、ROI、夏普比率、最大回撤、利润因子、每笔交易期望值、总盈亏)、成本调整结果以及通俗易懂的描述。完整字段参考见 references/response-schemas.md。
getrecenttrades
获取Polymarket钱包的近期交易。返回交易历史,包含方向、规模、价格、市场标题和时间戳。
| 参数 | 类型 | 必填 | 默认值 | 描述 |
|---|
| wallet_address | 字符串 | 是 | — | 以太坊地址(42个字符,以0x开头) |
| since |
整数 | 否 | — | Unix时间戳——仅返回此时间之后的交易 |
| limit | 整数 | 否 | 50 | 返回的最大交易数(1-100) |
返回: 包含 wallet_address、since、count 和 trades 列表的字典——每个交易包含方向(买入/卖出)、规模、价格、时间戳、市场标题、结果、slug和交易哈希。完整字段参考见 references/response-schemas.md。
discover_wallet
从精选钱包池(250+)中发现随机精英交易者。每次调用返回一个随机钱包地址——使用 analyzewallet 或 getscore 进行调查。
参数: 无
返回: { walletaddress: 0x..., poolsize: 250, message: ... }
check_quota
检查您的使用统计。不消耗配额。
参数: 无
返回: { used_today: , tier: api }
API/MCP访问无每日限制——使用情况仅用于分析统计。
get_portfolio
获取用户跟踪的钱包投资组合,包含评分和昵称。
| 参数 | 类型 | 必填 | 默认值 | 描述 |
|---|
| page | 整数 | 否 | 0 | 页码(从0开始) |
| limit |
整数 | 否 | 10 | 每页结果数(1-50) |
返回: 包含 total_count、page、limit 和 wallets 列表的字典——每个包含钱包地址