Wallet Intelligence
Horizon’s wallet intelligence module provides three capabilities built on Polymarket’s public Data API:
Wallet Scoring Evaluate any wallet’s trading performance and compute a composite score from -1 (terrible) to +1 (excellent).
Adversarial Analysis Detect exploitable patterns in a wallet’s trading: timing regularity, sizing predictability, directional bias, and more.
Bot Detection Scan a market to classify wallets as bots vs humans with strategy type identification and confidence scores.
Wallet Scoring
Score any wallet’s historical trading performance.
import horizon as hz
score = hz.score_wallet( "0x1234abcd..." )
print (score.composite_score) # -1 to +1
print (score.win_rate) # 0.0 to 1.0
print (score.sharpe) # Sharpe estimate
print (score.total_pnl) # Cumulative USDC PnL
Parameter Type Default Description addressstrrequired Wallet address (0x…) limitint500Max positions to analyze
Score Interpretation
Composite Score Interpretation > 0.5Excellent trader 0.2 to 0.5Good trader -0.2 to 0.2Average -0.5 to -0.2Poor trader < -0.5Terrible trader (fade candidate)
WalletScore Fields
Field Type Description walletstrWallet address win_ratefloatFraction of profitable positions avg_pnl_pctfloatAverage PnL % per position sharpefloatSharpe estimate (PnL% / stddev) total_pnlfloatCumulative USDC PnL trade_countintNumber of trades position_countintNumber of positions analyzed composite_scorefloat-1 (terrible) to +1 (excellent)
Adversarial Analysis
Detect exploitable patterns in a wallet’s trading behavior.
import horizon as hz
report = hz.analyze_wallet( "0x1234abcd..." )
print ( f "Vulnerability: { report.vulnerability_score :.2f} " )
for pattern in report.patterns:
status = "EXPLOITABLE" if pattern.exploitable else "safe"
print ( f " { pattern.name } : { pattern.value :.2f} [ { status } ]" )
if pattern.exploitable:
print ( f " -> { pattern.counter_strategy } " )
Parameter Type Default Description addressstrrequired Wallet address trade_limitint500Max trades to analyze
Detected Patterns
Pattern Metric Exploitable When Counter-Strategy timing_regularityCV of inter-trade intervals CV < 0.3 Front-run before expected trade times sizing_predictabilityCV of trade sizes CV < 0.3 Size counter-trades to match directional_biasBuy ratio (buys/total) |ratio - 0.5| > 0.25 Fade the dominant direction reaction_speedMedian reaction time (seconds) < 60s Pre-position before triggers concentrationHerfindahl index across markets > 0.3 Target concentrated markets stop_levelsDensity of exit price clusters > 30% Hunt stops near cluster levels
Bot Detection
Scan a market to identify which wallets are bots and classify their strategy type.
import horizon as hz
bots = hz.scan_bots( "0xcondition_id_here" )
for bot in bots:
if bot.is_bot:
print ( f " { bot.wallet[: 10 ] } ... { bot.strategy_type } "
f "(confidence= { bot.confidence :.0%} )" )
for e in bot.evidence:
print ( f " - { e } " )
Parameter Type Default Description condition_idstrrequired Market condition ID trade_limitint1000Max trades to analyze min_tradesint5Min trades per wallet
Strategy Types
Type Description Key Signals market_makerProvides two-sided liquidity Balanced buy/sell, regular timing, consistent sizing grid_botPlaces orders at regular intervals Very regular sizing, balanced, moderate frequency momentumFollows price direction Strong directional bias, high frequency sniperFast, large, few trades Sub-second intervals, large sizes, low count humanManual trader Irregular timing, varied sizes, low frequency
BotDetection Fields
Field Type Description walletstrWallet address is_botboolTrue if classified as bot (confidence > 0.6) confidencefloat0.0 to 1.0 strategy_typestrClassification (see table above) evidencelist[str]Human-readable reasons trade_countintNumber of trades analyzed avg_interval_secondsfloatMean time between trades size_regularityfloat0 (random) to 1 (identical sizes)
What’s Next?
Fade a Wallet To fade a wallet, use copy_trades(inverse=True) on the Copy-Trading page. reverse_copy() and reverse_copier() are convenience wrappers around this.
Deep Profiling Wallet Profiler builds on score_wallet() with 4-dimensional behavioral analysis (temporal, market selection, order flow, edge) and automatic strategy generation.
Wallet intelligence uses Polymarket’s public Data API. Results are based on historical behavior and may not predict future performance. Use responsibly and ethically - these tools are designed for competitive market analysis, not harassment or manipulation.