wallet-profiling — скилл для Claude Code: профиль Solana-кошелька
Считает винрейт, профит-фактор и стиль торговли по Solana-кошельку. Пригодится перед тем, как копировать чьи-то сделки.
npx skills add agiprolabs/claude-trading-skills --skill wallet-profiling -a claude-codeЧто делает wallet-profiling
Скилл разбирает историю кошелька в Solana и раскладывает её по метрикам: винрейт, средний ROI на сделку, профит-фактор, общий PnL, максимальная просадка, шарп-подобное отношение. Стиль определяется по медианному времени удержания — от снайпера с выходом за минуты до позиционного холдера на недели. Отдельно считается размер сделки в SOL, так что кошелёк попадает в тир от кита до мелкого.
Поведение тоже классифицируется. Бот выдаёт себя низкой вариативностью интервалов между сделками и одинаковым размером, MEV — сэндвич-паттернами и частой мелкой прибылью. Есть разбивка по фокусу: специалист по PumpFun, трейдер DEX, DeFi-фермер, NFT-трейдер. Для оценки копитрейдинга в скилле есть чек-лист: минимум 50 закрытых сделок, история от 30 дней, не меньше 10 разных токенов, ни одна сделка не больше 20% портфеля.
Основной источник данных — SolanaTracker PnL API, поэтому нужен ключ в переменной ST_API_KEY. Для разбора отдельных транзакций скилл ссылается на helius-api, для аналитики по кошельку — на birdeye-api. DexScreener идёт запасным вариантом: PnL по кошельку он не отдаёт, но по нему можно сверить цену токена на момент сделки. Учтите: винрейт выше 80% в этом скилле считается подозрительным — такие цифры чаще говорят о wash trading, чем о навыке.
Какие задачи решает
- оценить кошелёк перед копированием его сделок
- отличить скиллового трейдера от везунчика и бота
- понять, кто вошёл в вашу позицию — снайпер или свинг-трейдер
- посчитать профит-фактор и максимальную просадку по истории сделок
- проверить, не собраны ли холдеры токена из ботов и снайперов
Примеры запросов агенту
- Профилируй кошелёк
7xKX...abc— какой у него стиль торговли и профит-фактор? - Стоит ли копировать сделки этого кошелька? Проверь по чек-листу копитрейдинга.
- Этот кошелёк бот или человек? Посмотри вариативность интервалов между сделками.
Как установить wallet-profiling
1Через Skills CLI (Vercel)
npx skills add agiprolabs/claude-trading-skills --skill wallet-profiling -a claude-code2Вручную: положить файлы
~/.claude/skills/wallet-profiling/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/wallet-profiling/
1Через Skills CLI (Vercel)
npx skills add agiprolabs/claude-trading-skills --skill wallet-profiling -a codex2Вручную: положить файлы
.agents/skills/wallet-profiling/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add agiprolabs/claude-trading-skills --skill wallet-profiling -a cursor2Вручную: положить файлы
.cursor/skills/wallet-profiling/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install agiprolabs/claude-trading-skills wallet-profiling2Вручную: положить файлы
.github/skills/wallet-profiling/SKILL.md1Через Skills CLI (Vercel)
npx skills add agiprolabs/claude-trading-skills --skill wallet-profiling -a gemini-cli2Командой платформы
gemini skills install https://github.com/agiprolabs/claude-trading-skills --path skills/wallet-profilingВручную: положить файлы
.devin/skills/wallet-profiling/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add agiprolabs/claude-trading-skills --skill wallet-profiling -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о wallet-profiling
Как установить wallet-profiling в Claude?
Выполните npx skills add agiprolabs/claude-trading-skills --skill wallet-profiling -a claude-code. После этого файл скилла лежит в ~/.claude/skills/wallet-profiling/SKILL.md.
Что делает wallet-profiling?
Считает метрики торговли Solana-кошелька — винрейт, профит-фактор, PnL, просадку — и относит его к стилю, тиру по размеру сделки и типу поведения.
Что нужно для работы скилла?
Ключ SolanaTracker в переменной ST_API_KEY — это основной источник PnL. Для детального разбора транзакций скилл опирается на helius-api, для аналитики по кошельку — на birdeye-api.
Исходный текст
SKILL.md · MIT
---
name: wallet-profiling
description: Behavioral classification, performance analysis, and trading style detection for Solana wallets
---
# Wallet Profiling
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.
## Why Wallet Profiling Matters
### Copy-Trade Evaluation
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.
### Smart Money Identification
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.
### Counterparty Analysis
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.
### Risk Assessment
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.
## Wallet Classification
### By Trading Style
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.
### By Trade Size
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 |
### By Behavior Type
| 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 |
### By Focus Area
| 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% |
## Performance Metrics
### Core Metrics
**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.
### Activity Metrics
| 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 |
## Data Sources
### SolanaTracker PnL API (Primary)
The SolanaTracker API provides pre-computed PnL data per wallet per token.
```python
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`.
### Helius Parsed Transactions (Detailed)
For granular transaction-level analysis, use the `helius-api` skill to fetch parsed transaction history. This provides exact timestamps, amounts, and program interactions.
### Birdeye Trader Data
Birdeye's trader endpoints provide wallet-level analytics. See the `birdeye-api` skill for endpoint details.
### DexScreener (Free Fallback)
DexScreener does not provide wallet-level PnL but can be used to validate token prices at trade timestamps.
## Copy-Trade Evaluation Framework
Before following a wallet's trades, verify these criteria:
### Minimum Requirements
- **Trade history**: At least 50 closed trades (100+ preferred)
- **Time span**: Active for at least 30 days
- **Consistent performance**: Rolling 7-day win rate standard deviation < 15%
- **Reasonable sizing**: No single trade > 20% of observed portfolio
- **Diverse tokens**: At least 10 unique tokens traded
### Green Flags
- Profit factor > 1.8 sustained over 60+ days
- Win rate 45–65% (unrealistically high rates suggest wash trading)
- Moderate trade frequency (2–20 trades/day)
- Mixed hold times indicating adaptive strategy
- Gradual equity curve growth (not step-function jumps)
### Red Flags
- **New wallet** (< 14 days old): Possible sybil or one-hit-wonder
- **Single big win**: One trade accounts for > 50% of total PnL
- **Declining performance**: Last-30-day metrics significantly below all-time
- **Bot-like patterns**: Uniform timing/sizing without proportional edge
- **Extreme win rate**: > 80% often indicates small wins with catastrophic losses
- **Concentration**: > 50% of PnL from a single token
- **Wash trading signals**: Repeated buy/sell of same token with minimal price movement
### Risk Score Calculation
```python
risk_score = 0 # 0 = low risk, 100 = high risk
if wallet_age_days < 14:
risk_score += 25
if top_trade_pnl_pct > 0.5:
risk_score += 20
if recent_pf < historical_pf * 0.7:
risk_score += 15
if bot_probability > 0.7:
risk_score += 15
if win_rate > 0.8:
risk_score += 10
if unique_tokens < 5:
risk_score += 15
```
## Integration with Other Skills
- **`whale-tracking`**: Identify large wallets, then profile them here for behavioral context
- **`token-holder-analysis`**: Profile top holders of a token to assess holder quality
- **`solana-onchain`**: Fetch raw transaction data for deep-dive analysis
- **`helius-api`**: Parsed transaction history for granular trade reconstruction
- **`birdeye-api`**: Token price data for PnL validation
## Quick Start
### Profile a Single Wallet
```python
# Set environment variables
# export WALLET_ADDRESS=YourTargetWallet...
# export ST_API_KEY=your_solanatracker_key (optional)
python scripts/profile_wallet.py
# Or use demo mode:
python scripts/profile_wallet.py --demo
```
### Compare Multiple Wallets
```python
# export WALLET_ADDRESSES=Wallet1...,Wallet2...,Wallet3...
# export ST_API_KEY=your_solanatracker_key (optional)
python scripts/compare_wallets.py
# Or use demo mode:
python scripts/compare_wallets.py --demo
```
## Files
| File | Description |
|------|-------------|
| `references/classification_methods.md` | Hold time, size, bot detection, and focus classification algorithms |
| `references/performance_metrics.md` | Detailed metric formulas, interpretation, edge cases, and decay detection |
| `scripts/profile_wallet.py` | Profile a single wallet: fetch data, compute metrics, classify, report |
| `scripts/compare_wallets.py` | Compare multiple wallets side-by-side with ranking |
## Dependencies
```bash
uv pip install httpx
```
## Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| `WALLET_ADDRESS` | For profile_wallet.py | Solana wallet address to profile |
| `WALLET_ADDRESSES` | For compare_wallets.py | Comma-separated wallet addresses |
| `ST_API_KEY` | No | SolanaTracker API key for PnL data |
© agiprolabs · MIT · agiprolabs/claude-trading-skills