Skip to main content
Pro Feature. Requires a Pro or Ultra subscription. Get started at api.mathematicalcompany.com

Wallet Profiler

How it relates: Wallet Profiler builds on score_wallet() scoring and extends it with 4-dimensional behavioral analysis and automatic strategy generation. For raw trade data, see Wallet Analytics. To execute, see Copy-Trading.
Goes beyond basic scoring to build a complete behavioral profile of any Polymarket wallet. Analyzes how a wallet trades across four dimensions and generates concrete strategies to profit from its patterns.

Behavioral Profiling

Temporal patterns, market selection, order flow, and edge detection across 20+ metrics.

Strategy Generation

Up to 10 rule-based strategies with triggers, sizing, and execution params.

Auto-Execution

One-call hunt() or pipeline hunter() to profile and trade automatically.

MCP Integration

Available as an MCP tool for AI agent workflows.

Quick Start

import horizon as hz

# Full profile
profile = hz.profile_wallet("0x1234...")
print(profile.best_strategy)

# Auto-execute best strategy (standalone)
hz.hunt("0x1234...")

# Pipeline mode (inside hz.run)
hz.run(
    markets=["some-market"],
    pipeline=[hz.hunter("0x1234...")],
    interval=30.0,
)

Analysis Dimensions

Temporal Analysis

Answers when does the wallet trade?
MetricDescription
Hour distributionTrade count per hour (0-23 UTC) with peak hour and Shannon entropy
Day distributionDay-of-week distribution with weekend ratio
SessionDominant session: US (13-21 UTC), Asia (0-8), Europe (7-16), or round-the-clock
Burst analysisBurstiness metric B = (sigma - mu) / (sigma + mu) of inter-trade intervals
Active daysPercentage of days in the analysis window with at least one trade

Market Selection

Answers what does the wallet trade?
MetricDescription
CategoriesInferred from market titles: politics, crypto, sports, economics, entertainment, science
Win rate per categoryPerformance breakdown by category (requires position data)
Herfindahl indexMarket concentration (0 = diversified, 1 = single market)
Early entrant scoreFraction of buys near opening prices (0.45-0.55)

Order Flow

Answers how does the wallet enter and exit?
MetricDescription
Building stylesingle_entry / scaling_in / dca (based on avg buys per market)
Exit stylesingle_exit / scaling_out
Hold timeAverage hours from first buy to first sell per market
Size trendincreasing / decreasing / stable (linear regression on chronological sizes)
Dip buyer scoreFraction of buys below market average price (0-1)
Rip seller scoreFraction of sells above market average price (0-1)

Edge Detection

Answers is the wallet good? Includes the composite score from score_wallet() and extends it with deeper metrics:
MetricDescription
Timing qualityAverage (current - entry) / entry across positions
Win rate by sizeWin rates for small / medium / large trades (33rd/66th percentile buckets)
Streak typestreaky / mean_reverting / random (lag-1 autocorrelation)
Edge in bpsEstimated edge derived from average PnL percentage
Confidence0.1 to 0.9 based on sample size (10+ to 200+ positions)

Strategy Generation

The profiler generates up to 10 rule-based strategies, each with a concrete trigger condition, implementation type, and execution params:
StrategyTriggerType
fade_losercomposite < -0.3fade
copy_winnercomposite > 0.3 + info score > 0.15copy
session_pre_positionBursty + dominant session > 60%session_trade
front_run_timingTiming CV < 0.3front_run
stop_huntStop cluster > 30%counter_trade
fade_directionDirectional bias + negative edgefade
copy_best_categoryCategory win rate > 60%copy
concentration_exploitHHI > 0.3 + negative scorefade
copy_dip_buyerDip score > 0.6 + positive edgecopy
timing_exploitHour entropy < 2.0session_trade
Each ProfitStrategy contains:
FieldDescription
nameStrategy identifier
descriptionHuman-readable explanation
mechanismHow the strategy works
expected_edge"high" / "medium" / "low"
risk_level"high" / "medium" / "low"
confidence0-1
impl_type"copy" / "fade" / "front_run" / "counter_trade" / "session_trade"
paramsExecution parameters (inverse, size_scale, poll_interval, etc.)

Auto-Execution

hunt() and hunter() use Copy-Trading under the hood - they profile the wallet, pick the best strategy, then delegate to copy_trades() / copy_trader() with the appropriate params.

hunt(wallet): Standalone

Profiles the wallet, picks the best strategy, and auto-executes via copy_trades() with the appropriate params.
hz.hunt(
    "0x1234...",
    size_scale=0.5,
    max_position=1000.0,
    exchange="paper",
    dry_run=True,
)

hunter(wallet): Pipeline

Creates a pipeline function that profiles on first call and delegates to copy_trader() each subsequent cycle.
hz.run(
    markets=["some-market"],
    pipeline=[hz.hunter("0x1234...", size_scale=0.5, dry_run=True)],
    interval=30.0,
)
The profile is stored in ctx.params["wallet_profile"] for inspection.

MCP Tool

The profiler is available as an MCP tool:
profile_wallet(address="0x1234...", trade_limit=500)
Returns a flattened dict with all metrics and strategies.

Data Types

TypeFields
FullWalletProfilewallet, score, analysis, temporal, market_selection, order_flow, edge, strategies, best_strategy
ProfitStrategyname, description, mechanism, expected_edge, risk_level, confidence, impl_type, params
TemporalProfilehour/day distributions, session, burst, active_days
MarketSelectionProfilecategories, concentration, diversity, early entrant
OrderFlowProfilebuilding/exit styles, hold time, size trend, dip/rip scores
EdgeDetectioninformation score, timing quality, win rate buckets, streaks, edge bps

Algorithms

All analysis is pure Python (no ML dependencies):
AlgorithmPurpose
Shannon entropyDistribution uniformity
Coefficient of variationRegularity detection
Linear regression slopeSize trend detection
Lag-1 autocorrelationStreak analysis
Herfindahl indexMarket concentration
Burstiness metricB = (sigma - mu) / (sigma + mu)
tanh normalizationBounding scores to [-1, +1]
Keyword matchingMarket category inference
Wallet profiling uses Polymarket’s public Data API. Results are based on historical behavior and may not predict future performance. Use responsibly and ethically.