Polymarket Wallet Xray

X-ray any Polymarket wallet — skill level, entry quality, bot detection, and edge analysis. Queries Polymarket's public APIs, no authentication needed. Inspi...

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 503 · 7 current installs · 7 all-time installs
byAD88@adlai88
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
!
Purpose & Capability
The main script (wallet_xray.py) uses only public Polymarket data endpoints (no auth), which matches the description. However README and scripts/status.py refer to Simmer's private API and require a SIMMER_API_KEY; the skill metadata declares no required env vars. The presence of a helper that needs an API key is disproportionate to the core "public data, no auth" claim and is unexplained.
!
Instruction Scope
SKILL.md describes only public-data analysis steps. The Quick Commands include scripts/status.py which, when invoked, will read the SIMMER_API_KEY environment variable and call a private Simmer API. The instructions therefore implicitly encourage running code that accesses a private account API even though the skill claims no authentication is needed. There is no runtime guidance about this credential or whether the helper is optional.
Install Mechanism
There is no automatic install spec (instruction-only), so nothing is downloaded or executed by an installer. README suggests pip installing 'simmer-sdk' and 'requests' but this is advisory only. Lack of an install step lowers automatic risk, but users who follow README may install additional packages — this is expected but should be explicit in metadata.
!
Credentials
Registry metadata lists no required env vars, yet scripts/status.py requires SIMMER_API_KEY (sensitive bearer token) and README documents exporting SIMMER_API_KEY. Requesting that secret is not proportional to the stated public-data analysis unless the user intends to run the Simmer-specific helper. The skill should declare this env var or make the helper optional and clearly documented.
Persistence & Privilege
The skill does not request always:true, does not auto-start, and does not modify other skills or system configuration. It can be invoked by the agent but there is no elevated persistence or privilege escalation in the package.
Scan Findings in Context
[uses-SIMMER_API_KEY-env] unexpected: scripts/status.py reads SIMMER_API_KEY and calls api.simmer.markets; this is not declared in the skill's required env vars or in SKILL.md's "no authentication needed" claim. It's plausible for a helper but should be declared.
[external-endpoint-data-api.polymarket.com] expected: wallet_xray.py calls data-api.polymarket.com, which aligns with the stated Polymarket public-data analysis purpose.
[external-endpoint-api.simmer.markets] unexpected: The Simmer API is a private account endpoint referenced by scripts/status.py and README; this is not necessary for public-wallet analysis and is an extra surface that requires a secret.
What to consider before installing
This skill's core analysis (wallet_xray.py) appears coherent: it queries Polymarket public endpoints and computes forensic metrics without authentication. However, the bundle also includes a helper (scripts/status.py) and README instructions that require a SIMMER_API_KEY and call api.simmer.markets — yet the skill metadata declares no env vars. Before installing or running anything: - Treat SIMMER_API_KEY as sensitive: do not set it or run scripts/status.py unless you understand and trust the Simmer endpoint and the owner. The skill will not automatically read your env vars, but the helper will if you run it. - Ask the publisher to clarify whether the Simmer helper is optional and update the metadata to declare any required credentials. The lack of a homepage and an unknown source/origin increases risk; prefer packages with clear authorship and published sources. - Inspect and run wallet_xray.py in a sandbox or development environment first (no secrets) to verify behavior. Search the code for any other undisclosed endpoints before providing credentials. - If you intend to use the Simmer helper, rotate any API key you test with and grant minimal privileges. Consider requesting the author to separate the public analysis tool from account-specific helpers so the credential surface is explicit. If the author confirms the Simmer helper is optional and updates the metadata/documentation so the required env var is declared, this would reduce the concern. Conversely, if the Simmer endpoint is required for normal operation but not declared, treat that as a stronger warning.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.4
Download zip
latestvk971j0f3mrbm6k7pp6sym852bs82627t

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

Polymarket Wallet X-Ray

Analyze any Polymarket wallet's trading patterns, skill level, and edge detection.

No authentication needed. Queries Polymarket's public CLOB API directly.

Inspired by: The Autopsy: How to Read the Mind of a Polymarket Whale by @thejayden

This skill implements the forensic trading analysis framework developed by @thejayden. Read the original post to understand the philosophy behind Time Profitable, hedge checks, bot detection, and accumulation signals.

This is an analysis tool, not a trading signal. The skill returns forensic metrics for ANY Polymarket wallet — your agent uses them to UNDERSTAND traders, learn patterns, and make informed decisions. This is for education and research, not for blindly copying positions.

⚠️ Important Disclaimer

Past performance does not guarantee future results. A wallet's historical metrics tell you about:

  • ✅ How they traded in the past
  • ✅ Their historical win rate and entry quality
  • ❌ NOT whether their strategy will work going forward

Why copying is risky:

  • Market conditions change constantly
  • A trader's edge might have been luck, timing, or specific to historical events
  • Slippage and fees erode thin edges to zero
  • Other traders copying the same strategy destroy the edge

Use this skill to:

  • ✅ Learn what skilled traders look like (metrics, behavior)
  • ✅ Identify potential anomalies (bots, arbitrageurs)
  • ✅ Understand trader psychology (FOMO vs. discipline)
  • ✅ Inform your own strategy decisions

DO NOT use this skill to:

  • ❌ Automatically copytrade wallets
  • ❌ Expect to replicate their returns
  • ❌ Trade on these metrics without understanding why
  • ❌ Risk significant capital on patterns you don't understand

When to Use This Skill

Use this skill when you want to:

  • Learn how skilled traders operate — What metrics separate winners from losers?
  • Understand trading psychology — Who chases prices? Who has discipline?
  • Detect bots and anomalies — Identify suspicious patterns for research
  • Research arbitrage activity — Find wallets with hedged positions (educational)
  • Compare trader profiles — What does a consistent trader look like vs. a lucky one?
  • Inform your own strategy — Use patterns as input to YOUR decision-making, not as direct signals

NOT for:

  • Copying trades blindly or automatically
  • Assuming past returns = future returns
  • Making large bets on these metrics alone

Quick Commands

# Analyze a single wallet
python wallet_xray.py 0x1234...abcd

# Analyze wallet + only look at specific market
python wallet_xray.py 0x1234...abcd "Bitcoin"

# Compare two wallets head-to-head
python wallet_xray.py 0x1111... 0x2222... --compare

# Find wallets matching criteria (top Time Profitable in market)
python wallet_xray.py "Will BTC hit $100k?" --top-wallets 5 --dry-run

# Check your account status
python scripts/status.py

APIs Used (Public, No Auth Required):

  • Gamma API: https://gamma-api.polymarket.com — Market search
  • CLOB API: https://clob.polymarket.com — Trade history and orderbook

What You Get Back

The skill returns comprehensive forensic metrics:

{
  "wallet": "0x1234...abcd",
  "total_trades": 156,
  "total_period_hours": 42.5,
  "profitability": {
    "time_profitable_pct": 75.3,
    "win_rate_pct": 68.2,
    "avg_profit_per_win": 0.035,
    "avg_loss_per_loss": -0.018,
    "realized_pnl_usd": 2450.00
  },
  "entry_quality": {
    "avg_slippage_bps": 28,
    "quality_rating": "B+",
    "assessment": "Good entries, occasional FOMO"
  },
  "behavior": {
    "is_bot_detected": false,
    "trading_intensity": "high",
    "avg_seconds_between_trades": 45,
    "price_chasing": "moderate",
    "accumulation_signal": "growing"
  },
  "edge_detection": {
    "hedge_check_combined_avg": 0.98,
    "has_arbitrage_edge": false,
    "assessment": "No locked-in edge; relies on direction"
  },
  "risk_profile": {
    "max_drawdown_pct": 12.5,
    "volatility": "medium",
    "max_position_concentration": 0.22
  },
  "recommendation": "Good trader. Skilled entries, disciplined sizing. Good metrics for learning from. Not advice to copytrade."
}

How It Works

  1. Fetch trade history — Download all trades this wallet made from Polymarket via Simmer API
  2. Compute profitability timeline — When were they underwater vs. profitable?
  3. Analyze entry quality — Did they buy at optimal prices or chase?
  4. Detect trading patterns — Bot (inhuman speed) vs. human (deliberate timing)?
  5. Check for arbitrage — Combined YES+NO avg < $1.00? (Potential structural edge — depends on execution and fees)
  6. Assess behavior — FOMO accumulation? Disciplined sizing? Rotating positions?
  7. Generate recommendation — Is this wallet worth following? What's the risk?

Understanding the Metrics

⏱️ Time Profitable (e.g., 75.3%)

Wallet was profitable (not underwater) for 75% of their trading period. This wallet endured only 25% painful drawdowns — that's discipline.

  • >80% = Sniper-like (skilled entries, holds through drawdowns)
  • 50-80% = Solid (good discipline)
  • <50% = Risky (likely panic-held losses)

🎯 Entry Quality (e.g., 28 bps average slippage)

They buy near the best available price. 28 basis points is normal for active traders. No evidence of FOMO market orders.

  • <20 bps = Expert. Limit orders, patience.
  • 20-40 bps = Good. Balanced speed/price.
  • >50 bps = Weak. Chasing prices.

🤖 Bot Detection (e.g., false)

Average 45 seconds between trades. This is human. A bot would be <1 second.

  • <5 sec = Likely bot. Avoid unless you know it's a legitimate market maker.
  • 5-30 sec = Possible bot.
  • >30 sec = Human.

💰 Hedge Check (e.g., combined avg 0.98)

If they bought YES at $0.70 and NO at $0.30, combined = $1.00. This wallet spent exactly what they should to be neutral.

If combined < $1.00, they may have entered with a structural edge (lower combined cost than $1 payout). Actual profit depends on execution, fees, and spread.

  • < $0.95 = Strong potential edge. Likely institutional/pro.
  • $0.95-1.00 = Slight edge detected.
  • > $1.00 = No edge; betting on direction.

Usage Examples

Example 1: Learning from a skilled trader (Analysis)

import subprocess
import json

# Analyze a wallet known for skilled trading
result = subprocess.run(
    ["python", "wallet_xray.py", "0x123...abc", "--json"],
    capture_output=True,
    text=True
)
data = json.loads(result.stdout)

# LEARN from their profile, don't copy blindly
time_prof = data["profitability"]["time_profitable_pct"]
entry_qual = data["entry_quality"]["quality_rating"]

print(f"📊 What this trader does well:")
print(f"  • Time Profitable: {time_prof}% (disciplined)")
print(f"  • Entry Quality: {entry_qual} (patient buyer)")
print(f"  • Behavior: {data['behavior']['accumulation_signal']} (not FOMO)")

# THEN: Ask yourself
# - Why are they profitable? (skill or luck?)
# - Can I replicate their decision-making process?
# - Do I have their capital size, timing, or information?

Example 2: Research anomalies (Education)

# Analyze multiple wallets to understand patterns
wallets = ["0x111...", "0x222...", "0x333..."]

print("Comparing trader profiles:")
for wallet in wallets:
    result = subprocess.run(
        ["python", "wallet_xray.py", wallet, "--json"],
        capture_output=True,
        text=True
    )
    data = json.loads(result.stdout)

    is_bot = "🤖 BOT" if data["behavior"]["is_bot_detected"] else "👤 HUMAN"
    print(f"\n{wallet}: {is_bot}")
    print(f"  Win Rate: {data['profitability']['win_rate_pct']}%")
    print(f"  Time Profitable: {data['profitability']['time_profitable_pct']}%")

# Use this data to understand what successful trading LOOKS LIKE
# Then build your own strategy based on these insights

Example 3: Informed decision-making (NOT blind copying)

# Analyze before you decide what to do
result = subprocess.run(
    ["python", "wallet_xray.py", "0x123...abc", "--json"],
    capture_output=True,
    text=True
)
data = json.loads(result.stdout)

# Make an INFORMED decision based on analysis + YOUR OWN JUDGMENT
if data["profitability"]["time_profitable_pct"] > 75 and \
   data["entry_quality"]["quality_rating"] in ["A", "A+"]:

    print(f"✅ This wallet shows skill (high Time Profitable, good entries)")
    print(f"⚠️  But I will NOT copytrade blindly.")
    print(f"📋 Instead, I'll:")
    print(f"   1. Backtest their patterns on fresh data")
    print(f"   2. Add my own market signals")
    print(f"   3. Start with small position (1-2% of capital)")
    print(f"   4. Monitor for next 30 days")
    print(f"   5. Adjust if it stops working")
else:
    print(f"❌ This wallet doesn't show strong enough metrics.")
    print(f"   Safer to avoid or research further before deciding.")

Running the Skill

Analyze a single wallet (default):

python wallet_xray.py 0x1234...abcd

Analyze wallet for a specific market:

python wallet_xray.py 0x1234...abcd "Bitcoin"

Output as JSON (for scripts):

python wallet_xray.py 0x1234...abcd --json

Compare two wallets:

python wallet_xray.py 0x1111... 0x2222... --compare

Limit analysis to recent trades (faster):

python wallet_xray.py 0x1234...abcd --limit 100

Troubleshooting

"Wallet has no trades"

  • This wallet hasn't traded yet, or all trades are too old
  • Try a wallet you know is active

"Market not found"

  • The market query didn't match anything on Polymarket
  • Try a more specific market name or leave it blank to analyze all markets

"Analysis took too long"

  • For wallets with >500 trades, analysis can take 30+ seconds
  • Use --limit 100 to analyze only recent trades for faster results

"API rate limited"

  • You're analyzing many wallets in quick succession
  • Wait a minute before trying again, or use --limit to speed up individual analyses

"Connection error"

  • Check that Polymarket's CLOB API is reachable: curl https://clob.polymarket.com/trades
  • If down, try again later or use --limit 50 to reduce load

Credits

This skill is based on the forensic trading analysis framework from @thejayden's "Autopsy of a Polymarket Whale".

The original post shows how to:

  • Spot fake gurus (high PnL, terrible entries)
  • Detect bots (inhuman trading speed)
  • Find arbitrage opportunities (hedged positions)
  • Understand trader psychology (FOMO vs. discipline)

All metrics and analysis patterns used here are derived from that work. If you find this useful, give the original post a read and follow @thejayden.

Links

Files

5 total
Select a file
Select a file to preview.

Comments

Loading comments…