backtrader
Event-driven backtesting with bar-by-bar execution, complex order types, multiple analyzers,…
Behavioral classification, performance analysis, and trading style detection for Solana wallets
$ npx -y skills add agiprolabs/claude-trading-skills --skill wallet-profiling --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/wallet-profilingContext preview
The summary Claude sees to decide when to auto-load this skill.
Behavioral classification, performance analysis, and trading style detection for Solana wallets
name: wallet-profiling description: Behavioral classification, performance analysis, and trading style detection for Solana wallets
Behavioral classification, performance analysis, and trading style detection for Solana wallets. Profile any wallet to understand how it trades, how well it performs, and whether it is worth following.
Before mirroring another wallet's trades, you need evidence that its historical performance is genuine, consistent, and not the result of a single lucky hit. Profiling quantifies win rate, profit factor, hold time, and consistency so you can make informed decisions about which wallets merit attention.
Wallets that consistently buy tokens early and exit profitably are signal sources. Profiling separates genuinely skilled traders from lucky gamblers and wash-trading bots. Key differentiators: sustained profit factor above 2.0, win rates above 45% across 100+ trades, and diversified token selection.
When a large wallet enters a position you hold, understanding its historical behavior (sniper vs. holder, bot vs. human) helps you anticipate what will happen next. A sniper wallet buying suggests a quick dump is coming; a swing trader buying suggests multi-day conviction.
Token holder analysis benefits from knowing whether top holders are bots, snipers, or genuine investors. A token where 60% of holders are classified as snipers has very different risk characteristics than one held primarily by swing traders.
Classification is based on the **median hold time** across all closed trades:
| Style | Median Hold Time | Characteristics | |-------|-----------------|-----------------| | Sniper | < 5 minutes | First-block buyers, MEV-adjacent, extremely fast exits | | Scalper | 5 min – 1 hour | Quick momentum trades, high frequency | | Day Trader | 1 – 24 hours | Intraday positions, moderate frequency | | Swing Trader | 1 – 7 days | Multi-day conviction holds | | Position Holder | > 7 days | Long-term accumulation, low frequency |
See `references/classification_methods.md` for the full classification algorithm.
Based on **median trade size in SOL**:
| Tier | Median Trade Size | Typical Behavior | |------|------------------|-----------------| | Whale | > 100 SOL | Market-moving entries, often front-run | | Large | 10 – 100 SOL | Significant but not dominant | | Medium | 1 – 10 SOL | Active retail traders | | Small | < 1 SOL | Micro-cap gamblers, new wallets |
| Type | Detection Method | |------|-----------------| | Bot | Low inter-trade timing variance (CV < 0.3), uniform sizing | | Human | Variable timing, variable sizing, session-based activity | | MEV | Sandwich patterns, consistent small profits, high frequency |
| Focus | Detection Criteria | |-------|-------------------| | PumpFun Specialist | > 70% of trades on PumpFun-launched tokens | | DEX Trader | Primarily swaps on Raydium/Orca/Meteora | | DeFi Farmer | Frequent LP add/remove, staking operations | | NFT Trader | Significant NFT marketplace interactions | | Multi-Strategy | No single category exceeds 50% |
**Win Rate** — Percentage of trades that are profitable.
win_rate = count(pnl > 0) / count(all_closed_trades)
Minimum 30 trades for statistical significance. A 60% win rate across 200 trades is far more meaningful than 80% across 10 trades.
**Average ROI Per Trade** — Mean return across all closed positions.
avg_roi = mean((exit_value - entry_value) / entry_value)
Include all fees: platform fees, priority fees, and estimated slippage.
**Profit Factor** — Ratio of gross profits to gross losses.
profit_factor = sum(winning_pnl) / abs(sum(losing_pnl))
Interpretation: > 2.0 excellent, 1.5–2.0 good, 1.0–1.5 marginal, < 1.0 losing.
**Total PnL** — Cumulative profit/loss in SOL.
total_pnl = sum(all_trade_pnl)
**Maximum Drawdown** — Largest peak-to-trough decline in cumulative PnL curve.
drawdown = (peak_equity - trough_equity) / peak_equity
**Sharpe-Like Ratio** — Risk-adjusted return metric.
sharpe = mean(trade_returns) / std(trade_returns) * sqrt(trades_per_year)
See `references/performance_metrics.md` for detailed formulas, edge cases, and interpretation guidelines.
| Metric | Calculation | What It Reveals | |--------|------------|-----------------| | Trades per day | total_trades / active_days | Activity level and capacity | | Average hold time | mean(exit_time - entry_time) | Trading style confirmation | | Token diversity | unique_tokens / total_trades | Specialization vs. diversification | | Peak hours | mode(hour_of_trade) | Session patterns, timezone hints | | Activity streaks | consecutive active days | Dedication and consistency |
The SolanaTracker API provides pre-computed PnL data per wallet per token.
import httpx
url = f"https://data.solanatracker.io/pnl/{wallet_address}"
headers = {"x-api-key": os.getenv("ST_API_KEY")}
resp = httpx.get(url, headers=headers)
pnl_data = resp.json()Response includes per-token: `realized`, `unrealized`, `total_invested`, `total_sold`, `num_buys`, `num_sells`, `last_trade_time`.
For granular transaction-level analysis, use the `helius-api` skill to fetch parsed transaction history. This provides exact timestamps, amounts, and program interactions.
Birdeye's trader endpoints provide wallet-level analytics. See the `birdeye-api` skill for endpoint details.
DexScreener does not provide wallet-level PnL but can be used to validate token prices at trade timestamps.
Before foll
A comprehensive collection of 68 ready-to-use trading, DeFi, and quantitative finance Agent Skills. Works with Claude Code, Cursor, Codex, Gemini CLI, and 30+ other tools.
Repo: agiprolabs/claude-trading-skills
Event-driven backtesting with bar-by-bar execution, complex order types, multiple analyzers,…
Solana token market data via Birdeye — prices, OHLCV, trades, token metadata, security…
Broad crypto market data from CoinGecko covering 13,000+ tokens. Global market stats,…
Cointegration testing for pairs trading using Engle-Granger, Johansen, and rolling stability…
Wallet evaluation, monitoring, and copy-trade strategy design for Solana DEX trading
Cross-asset correlation analysis including rolling correlation, hierarchical clustering, tail…