Skip to content
Back to skills

Kryptogo Meme Trader

ASecurity

Analyze and trade meme coins using KryptoGO's on-chain cluster analysis platform. Covers wallet clustering, address labels, accumulation/distribution detection, and automated swap execution via the Agent Trading API.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 18, 2026
securitypythongobashrailsapisecurityperformance

Works with

  • cli
  • api

Security analysis

A100/100

Scanned October 18, 2026

npx -y skills add johnalbertini14-glitch/openclaw-skills --skill kryptogo-meme-trader --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Kryptogo Meme Trader?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Kryptogo Meme Trader
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/johnalbertini14-glitch-kryptogo-meme-trader/badge)](https://www.skillsdirectory.com/skills/johnalbertini14-glitch-kryptogo-meme-trader)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
---
name: kryptogo-meme-trader
version: 2.1.0
description: Analyze and trade meme coins using KryptoGO's on-chain cluster analysis platform. Covers wallet clustering, address labels, accumulation/distribution detection, and automated swap execution via the Agent Trading API.
author: KryptoGO
license: MIT
homepage: https://www.kryptogo.xyz
tags:
  - solana
  - trading
  - meme-coins
  - defi
  - agent-trading
  - on-chain-analysis
  - cluster-analysis
  - kryptogo
platform: solana
api_base: https://wallet-data.kryptogo.app
metadata:
  openclaw:
    requires:
      env:
        - KRYPTOGO_API_KEY
        - SOLANA_PRIVATE_KEY
        - SOLANA_WALLET_ADDRESS
      bins:
        - python3
        - pip
        - openclaw
      network:
        - wallet-data.kryptogo.app
      permissions:
        - filesystem:write:~/.openclaw/workspace/.env
        - filesystem:write:~/.openclaw/workspace/memory/
      runtime_installs:
        - "pip: solders, requests (installed by scripts/setup.py on first run)"
      primaryEnv: KRYPTOGO_API_KEY
---

# KryptoGO Meme Trader Agent Skill

## Overview

This skill enables an AI agent to **autonomously analyze and trade** meme coins through the KryptoGO platform. It combines deep on-chain cluster analysis with automated trade execution.

**Analysis** (multi-chain: Solana, BSC, Base, Monad):
- Wallet clustering — identify entities controlling multiple addresses
- Accumulation/distribution detection — who's buying vs. selling
- Address behavior labels — smart money, whales, snipers, developers
- Network-wide accumulation signals (Pro/Alpha tier)

**Trading** (Solana only):
- Portfolio monitoring with per-token PnL tracking
- Automated swap execution via DEX aggregator
- Local transaction signing (private key never leaves the machine)

**Important:** Analysis supports Solana, BSC, Base, and Monad. Trading (swap/submit) is Solana-only.

**Workflow:** discover signal → analyze token → assess risk → execute trade → monitor position.

---

## When to Use

- User asks to analyze a meme coin or token on Solana/BSC/Base/Monad
- User asks to trade, buy, or sell tokens
- User asks to scan for trending tokens or market opportunities
- User asks to monitor portfolio positions or check PnL
- Heartbeat/cron-triggered periodic portfolio monitoring and signal scanning
- Pro/Alpha subscribers leveraging signal dashboard for curated accumulation signals

## When NOT to Use

- BTC, ETH, or major L1 token macro analysis (not meme-specific)
- NFT-related questions
- Cross-chain bridging or non-DEX transactions
- General crypto news or price predictions without on-chain analysis
- Non-Solana trading execution

---

## Setup Flow

### 1. Get API Key

1. Go to [kryptogo.xyz/account](https://www.kryptogo.xyz/account) and create an API key
2. Add it to `~/.openclaw/workspace/.env` (the workspace root `.env`):
   ```bash
   echo 'KRYPTOGO_API_KEY=sk_live_YOUR_KEY' >> ~/.openclaw/workspace/.env && chmod 600 ~/.openclaw/workspace/.env
   ```
3. Tell the agent "I've set my API key in .env" — the agent will verify it works by calling `/agent/account`

> **Do NOT paste your API key directly in chat.** Chat histories may be stored and could expose your key. Always set secrets via `.env` file or environment variables.
>
> All credentials are stored in `~/.openclaw/workspace/.env` — the OpenClaw workspace root. This ensures heartbeat/cron sessions can find them automatically.
>
> The API key is tied to your KryptoGO account (for billing/tier), NOT to a specific wallet.
> Your login wallet on kryptogo.xyz may differ from the agent's trading wallet.

### 2. Generate Agent Wallet

Run the setup script to create a dedicated Solana keypair:

```bash
python3 scripts/setup.py
```

This will:
1. Check Python 3.10+ and install `solders` + `requests` if missing
2. Generate a new Solana keypair
3. Save the private key (base58) and public address to `~/.openclaw/workspace/.env`
4. Set `.env` permissions to 600 (owner read/write only)
5. Print the public address for the user to fund with SOL

### 3. Fund the Wallet

Send SOL to the agent's public address (minimum 0.1 SOL for gas + trading capital).

### Security Rules

- **NEVER** print, log, or include the private key in any message or CLI argument
- **NEVER** accept secrets (API keys, private keys) pasted directly in chat — instruct users to set them in `.env`
- **NEVER** commit `.env` to version control
- **NEVER** use the Read tool on `~/.openclaw/workspace/.env` — load credentials via `source` command only, which doesn't expose values in tool output
- The private key stays in memory only during local signing — it is never sent to any server
- `.env` must always have chmod 600
- See [Safety Guardrails](#safety-guardrails) for full credential handling and trading limits

### Quickstart Checklist

After installing this skill, complete these steps in order:

1. [ ] Get API key from [kryptogo.xyz/account](https://www.kryptogo.xyz/account) and add it to `.env`
2. [ ] Run `python3 scripts/setup.py` to generate agent wallet
3. [ ] Fund the agent wallet with SOL (min 0.1 SOL)
4. [ ] Tell the agent your trading preferences (max position size, risk tolerance, etc.)
5. [ ] Set up periodic monitoring — see [Heartbeat & Cron Integration](#heartbeat--cron-integration)

---

## Authentication

All endpoints require Bearer token authentication:

```
Authorization: Bearer sk_live_<48 hex chars>
```

Some features (signal dashboard, KOL finder) additionally require Pro or Alpha tier subscription.

| Tier  | Daily API Calls | Trading Fee | Signal Dashboard | KOL Finder |
|-------|-----------------|-------------|------------------|------------|
| Free  | 50 calls/day    | 1%          | No               | No         |
| Pro   | 500 calls/day   | 0.5%        | Yes              | Yes        |
| Alpha | 5,000 calls/day | 0%          | Yes              | Yes        |

---

## Agent Behavior

### Session Initialization

On every session start (including heartbeat/cron), the agent MUST load credentials before making any API calls:

```bash
source ~/.openclaw/workspace/.env
```

This makes `KRYPTOGO_API_KEY`, `SOLANA_PRIVATE_KEY`, and `SOLANA_WALLET_ADDRESS` available as environment variables. Do NOT use the Read tool on `.env` — the `source` command loads values without exposing them in tool output.

### Autonomous Mode (Default)

**Automatic actions (no user confirmation needed):**
- Scanning trending tokens (default: top 10 per scan)
- Running full analysis pipeline on candidate tokens
- Checking portfolio status and PnL
- Executing trades that pass ALL criteria in the Bullish Checklist
- Stop-loss sells when unrealized loss exceeds threshold
- Take-profit sells when gain exceeds target

**Requires user confirmation:**
- Risk level is "medium" (ambiguous signals)
- Position size exceeds user-defined max
- Selling at a loss outside stop-loss rules
- Any action outside the defined entry/exit strategies

**Reporting:**
- After each trade: summarize analysis result + trade details to the user (concise text, not raw JSON)
- After each scan: brief summary of tokens scanned, why they passed/failed
- On errors: report the issue and suggest next steps

### User Preferences

The user can customize behavior by telling the agent their preferences. Store in `memory/trading-preferences.json`:

```json
{
  "max_position_size": 0.1,
  "max_open_positions": 5,
  "max_daily_trades": 20,
  "stop_loss_pct": 30,
  "take_profit_pct": 100,
  "min_market_cap": 500000,
  "scan_count": 10,
  "risk_tolerance": "moderate",
  "chains": ["solana"]
}
```

| Preference | Default | Description |
|------------|---------|-------------|
| `max_position_size` | 0.1 SOL | Max SOL per trade |
| `max_open_positions` | 5 | Max concurrent open positions |
| `max_daily_trades` | 20 | Max trades per day (buys + sells) |
| `stop_loss_pct` | 30% | Auto-sell when loss exceeds this |
| `take_profit_pct` | 100% | Auto-sell when gain exceeds this |
| `min_market_cap` | $500K | Skip tokens below this market cap |
| `scan_count` | 10 | Number of trending tokens per scan |
| `risk_tolerance` | "moderate" | "conservative" (skip medium risk), "moderate" (ask on medium), "aggressive" (auto-trade medium) |
| `chains` | ["solana"] | Chains to scan for analysis |

---

## Safety Guardrails

This skill handles real funds. These guardrails limit blast radius if credentials are mishandled or the agent malfunctions.

### Credential Isolation

- **API key and private key are stored ONLY in `~/.openclaw/workspace/.env`** with chmod 600 (owner read/write)
- The agent reads credentials via environment variables (`source ~/.openclaw/workspace/.env`) — they are **never** printed, logged, passed as CLI arguments, or included in chat messages
- The agent must **never** use the Read tool on `.env` — the `source` command keeps values out of tool output
- If a user pastes a secret in chat, the agent should warn them and suggest rotating it

### Trading Limits (Hard Caps)

These limits apply even if user preferences set higher values:

| Limit | Default | Can User Override? |
|-------|---------|--------------------|
| Max single trade | 0.1 SOL | Yes, via `max_position_size` in preferences |
| Max concurrent positions | 5 | Yes, via `max_open_positions` (default: 5) |
| Max daily trade count | 20 | Yes, via `max_daily_trades` (default: 20) |
| Price impact abort | >10% | No — always abort |
| Price impact warn | >5% | No — always warn user |

If any limit is hit, the agent **must stop and notify the user** — never silently skip.

### Autonomous Trading Scope

- The agent **only** executes trades that pass ALL criteria in the Bullish Checklist (Step 6)
- Ambiguous signals (risk = "medium") **always** require user confirmation
- The agent **cannot** modify its own trading parameters — only propose changes for user approval
- All trade executions are **immediately reported** to the user via the configured channel (Telegram, Discord, etc.)

### Kill Switch

To immediately stop all autonomous trading:
1. **Remove the Trading Agent section from HEARTBEAT.md** — stops heartbeat-triggered trading
2. **Run `openclaw cron remove <name>`** — stops cron-triggered trading
3. **Remove or rename `.env`** — prevents any API calls or signing

The agent has no persistence mechanism beyond HEARTBEAT.md and cron entries. Removing those stops all autonomous behavior.

### Audit Trail

Every action is logged to `memory/` files (see [Learning Memory Files](#learning-memory-files)):
- `trading-journal.json` — complete trade history with reasoning
- `trading-state.json` — current positions and last scan time
- `trading-lessons.md` — post-mortem analysis

These files are human-readable and can be reviewed at any time.

---

## Heartbeat & Cron Integration

### First-Time Auto-Setup

**Agent instruction:** The first time this skill is loaded in a conversation, check if HEARTBEAT.md already contains a "Trading Agent" section. If not, **proactively offer to add it** — ask the user: "I can set up periodic trading monitoring. Should I add it to your HEARTBEAT.md?" If confirmed, append the heartbeat block below.

> Note: OpenClaw does not auto-modify HEARTBEAT.md on skill install. The agent must do this on first use.

### Heartbeat — Periodic Monitoring (~30 min intervals)

Add the following to your `HEARTBEAT.md`:

```markdown
## Trading Agent
- Check portfolio: call /agent/portfolio, execute stop-loss/take-profit if triggered
- Scan for opportunities: use signal dashboard (Pro/Alpha) or trending tokens API
- Execute qualifying trades in autonomous mode
- Log closed trades to journal, run post-trade reflection, trigger strategy review if due
- ALWAYS report any trade executed to the user — never silent HEARTBEAT_OK after trading
```

**Heartbeat is best for:** 30-minute-level monitoring where slight timing drift is acceptable. Multiple checks (portfolio + scan) batch into a single heartbeat turn, saving API calls.

### Cron — Precise Scheduling (5-15 min intervals)

For more frequent or precisely timed scans, use OpenClaw cron instead of heartbeat:

```bash
# Example: scan every 15 minutes during market hours (UTC)
openclaw cron add --every 15m --name "trading-scan" --prompt "Run the kryptogo-meme-trader scan workflow: check portfolio for stop-loss/take-profit, then scan top 10 trending tokens. Execute qualifying trades. Report any actions taken."

# Example: daily portfolio summary at 9 AM Taipei time (1 AM UTC)
openclaw cron add --cron "0 1 * * *" --name "daily-portfolio" --prompt "Call /agent/portfolio and send me a daily summary of all open positions with PnL."

# List active crons
openclaw cron list

# Remove a cron
openclaw cron remove trading-scan
```

**Cron is best for:** exact timing, high-frequency scans (every 5-15 min), standalone tasks that don't need conversational context, or when you want a different model/thinking level.

**Recommendation:** Use heartbeat for casual monitoring (check every ~30 min). Switch to cron if you want aggressive 5-15 min scan intervals or precise daily reports.

### Heartbeat Workflow

1. **Portfolio check** → Call `/agent/portfolio` with agent's wallet address
   - Execute stop-loss if unrealized loss > `stop_loss_pct`
   - Execute take-profit if unrealized gain > `take_profit_pct`
   - Flag stale positions (held > 7 days with no significant movement)
2. **Signal scan** → Choose source based on subscription tier:
   - **Pro/Alpha tier:** Use `/signal-dashboard` first — these are system-curated accumulation signals (clusters actively buying). Higher quality than raw trending lists because they're pre-filtered for smart money activity. Parameters: `chain_id`, `sort_by=signal_count`, `page_size=10`.
   - **Free tier:** Fall back to `/agent/trending-tokens` with filters (`min_market_cap`, `min_liquidity`, etc.)
   - Run top results through the 7-step analysis pipeline
   - Auto-trade if all criteria pass; ask user if risk = "medium"
3. **State persistence** → Save to `memory/trading-state.json`
   - Tracks: last scan time, open positions, pending user reviews
   - On next session/heartbeat, read this file to resume state
4. **Learning check** → If any trades were closed since last check:
   - Log outcome to `memory/trading-journal.json`
   - Run post-trade reflection (mandatory for every closed trade)
   - If loss >20%, trigger Loss Post-Mortem
   - If 20+ trades accumulated or 7+ days since last review, trigger Strategy Review

### Notification Rules

**Mandatory — agent MUST message the user (never silent HEARTBEAT_OK) when:**
- Any trade is executed (buy or sell)
- A stop-loss or take-profit is triggered
- A position is flagged for manual review (medium risk, stale, etc.)
- An error prevents normal operation (API down, insufficient SOL, quota exceeded)

**Silent HEARTBEAT_OK is OK when:**
- Portfolio checked, no action needed
- Tokens scanned, none qualified
- Everything nominal

### Failure Recovery

If the agent crashes or session ends mid-trade:
- On startup, **ALWAYS** call `/agent/portfolio` first to check current holdings
- Compare with `memory/trading-state.json` to detect any untracked positions
- Report any discrepancies to the user immediately

---

## On-Chain Analysis Framework (7-Step Pipeline)

### Step 1: Token Overview

Call `/token-overview?address=<mint>&chain_id=<id>` — get name, price, market cap, holders, risk_level, liquidity.

**Filter:** Skip if market cap < user's `min_market_cap`.

### Step 2: Cluster Analysis

Call `/analyze/<mint>?chain_id=<id>` — get wallet clusters, top holders, address metadata.

**Key metric — Cluster Holding Ratio:**
- ≥30-35% = "controlled" — a major entity holds significant supply
- ≥50% = highly concentrated — high manipulation risk
- <10% = dispersed — no clear major holder

**Scam rule:** If a SINGLE cluster holds >50% of supply → skip (rug pull risk).

### Step 3: Cluster Trend

Call `/analyze-cluster-change/<mint>` — get ratio changes across 15m/1h/4h/1d/7d.

**Core insight:** Price and cluster holdings DIVERGING is the most important signal.
- Rising price + falling cluster % = distribution (bearish)
- Falling price + rising cluster % = accumulation (bullish)

### Step 4: Address Labels

Call `/token-wallet-labels` for token-specific labels (developer, sniper, bundle, new_wallet).
Call `/wallet-labels` for behavior labels (smart_money, whale, blue_chip_profit, high_frequency).

**Check sell pressure:** Developer/sniper/bundle still holding = high dump risk.

### Step 5: Deep Dive (Optional)

- `/balance-history` — time-series balance for specific wallets
- `/balance-increase/<mint>` — who bought most in a time range
- `/top-holders-snapshot/<mint>` — point-in-time holder snapshot
- `/analyze-dca-limit-orders/<mint>` — DCA/limit order detection (Solana only)
- `/cluster-wallet-connections` — fund flow between wallets

### Step 6: Decision

Apply the Bullish Checklist from the Decision Framework:
- Market cap ≥ $500K
- Cluster ratio ≥ 30% and rising
- Smart money/whale clusters increasing
- Developer/sniper/bundle positions cleared
- No high proportion of new wallets or high-frequency traders

> Full decision framework: see `references/decision-framework.md`

### Step 7: Execute Trade

If all checks pass:
1. `POST /agent/swap` — build unsigned transaction
2. Sign locally with `solders` (private key never sent to server)
3. `POST /agent/submit` — submit signed transaction
4. Verify via explorer URL

> Full trading workflow: see `examples/trading-workflow.py`

---

## API Quick Reference

| Endpoint | Method | Auth | Purpose |
|----------|--------|------|---------|
| `/agent/account` | GET | Yes | Check tier & quota |
| `/agent/trending-tokens` | GET | Yes | Scan trending tokens with filters |
| `/agent/portfolio` | GET | Yes | Wallet portfolio + PnL |
| `/agent/swap` | POST | Yes | Build unsigned swap tx (Solana only) |
| `/agent/submit` | POST | Yes | Submit signed tx (Solana only) |
| `/token-overview` | GET | Yes | Token metadata & market data |
| `/analyze/:token_mint` | GET | Yes | Full cluster analysis |
| `/analyze-cluster-change/:token_mint` | GET | Yes | Cluster ratio trends |
| `/balance-history` | POST | Yes | Time-series balance data |
| `/wallet-labels` | POST | Yes | Behavior labels (smart money, whale...) |
| `/token-wallet-labels` | POST | Yes | Token-specific labels (dev, sniper...) |
| `/signal-dashboard` | GET | Pro+ | **Curated accumulation signals — prefer this over trending tokens when available** |
| `/balance-increase/:token_mint` | GET | Yes | Range accumulation filter |
| `/top-holders-snapshot/:token_mint` | GET | Yes | Point-in-time holder snapshot |
| `/historical-top-holders/:token_mint` | GET | Yes | All-time top holders |
| `/fresh-addresses/:token_mint` | GET | Yes | New wallet holders (Solana only) |
| `/analyze-dca-limit-orders/:token_mint` | GET | Yes | DCA & limit order detection (Solana only) |
| `/price-chart` | GET | No | OHLCV candlestick data |
| `/batch-token-prices` | POST | No | Batch price lookup |
| `/cluster-wallet-connections` | POST | Yes | Fund flow between wallets |
| `/wallet-assets` | GET | Yes | Wallet token holdings |
| `/signal-history/:address` | GET | Yes | Historical signals for token |

> Full request/response details: see `references/api-reference.md`

---

## Multi-Chain Support

| Chain | chain_id | Address Format | Analysis | Trading |
|-------|----------|----------------|----------|---------|
| Solana | `501` (default) | Base58 | Yes | Yes |
| BSC | `56` | Hex (0x-prefixed) | Yes | No |
| Base | `8453` | Hex (0x-prefixed) | Yes | No |
| Monad | `143` | Hex (0x-prefixed) | Yes | No |

Pass `chain_id` as a query parameter on analysis endpoints. Trading endpoints only work with Solana.

---

## Error Handling

| Code | Meaning | Action |
|------|---------|--------|
| 400 | Bad Request | Check parameters |
| 401 | Unauthorized | Check API key |
| 402 | Quota Exceeded | Wait for daily reset or upgrade tier |
| 403 | Forbidden | Endpoint requires higher tier |
| 502 | Bad Gateway | Retry once after 10s |
| 504 | Timeout | Cluster analysis taking too long, retry later |

---

## Learning & Adaptation

The agent improves over time by recording every trade, analyzing outcomes, and adjusting its strategy based on accumulated experience.

### Trade Journal

Every trade (buy or sell) MUST be logged to `memory/trading-journal.json` immediately after execution:

```json
{
  "trades": [
    {
      "id": "2026-02-25T14:30:00Z_BONK",
      "token_mint": "[REDACTED]",
      "symbol": "BONK",
      "chain_id": "501",
      "action": "BUY",
      "amount_sol": 0.1,
      "token_amount": 150000000,
      "price_at_entry": 0.0000234,
      "market_cap_at_entry": 1500000,
      "timestamp": "2026-02-25T14:30:00Z",
      "entry_reasoning": {
        "cluster_ratio": 0.35,
        "cluster_change_1d": 0.05,
        "smart_money_count": 3,
        "dev_exited": true,
        "sniper_cleared": true,
        "signal_source": "signal_dashboard",
        "risk_level": "low"
      },
      "outcome": null
    }
  ]
}
```

When a position is closed (sell), update the corresponding BUY entry's `outcome`:

```json
{
  "outcome": {
    "exit_price": 0.0000468,
    "exit_timestamp": "2026-02-26T09:15:00Z",
    "exit_reason": "take_profit",
    "pnl_sol": 0.1,
    "pnl_pct": 100.0,
    "holding_duration_hours": 18.75,
    "cluster_ratio_at_exit": 0.28,
    "lesson": "Cluster started distributing 2h before exit — could have sold earlier at higher price"
  }
}
```

### Mandatory Post-Trade Reflection

**After every SELL (win or loss), the agent MUST:**

1. Compare the entry reasoning with the actual outcome
2. Identify what the analysis got right and what it missed
3. Write a one-sentence `lesson` in the outcome record
4. If the loss was >20%, do a **Loss Post-Mortem** (see below)

### Loss Post-Mortem

When a trade results in a loss >20%, the agent MUST perform a detailed post-mortem:

1. **Re-run analysis** on the token at current state — what changed since entry?
2. **Identify the miss**: Was it a signal that was there but ignored? An unexpected event? A parameter that was too loose?
3. **Classify the loss type**:
   - `signal_miss` — warning signs existed at entry but weren't weighted enough
   - `timing_error` — analysis was correct but entry/exit timing was wrong
   - `external_event` — unpredictable event (rug pull, exploit, market crash)
   - `parameter_drift` — thresholds were too loose (e.g., accepted low cluster ratio)
   - `overconfidence` — entered despite ambiguous signals
4. **Log to `memory/trading-lessons.md`** with the specific pattern to watch for

### Periodic Strategy Review

**Trigger:** Every 20 trades OR every 7 days (whichever comes first), during a heartbeat/cron cycle.

The agent should:

1. **Calculate aggregate stats** from the journal:
   - Win rate (% of trades with positive PnL)
   - Average win size vs average loss size
   - Best/worst performing entry strategies (signal_dashboard vs trending_tokens)
   - Average holding duration for wins vs losses
   - Most common loss types

2. **Identify patterns**:
   - "Trades entered via signal_dashboard have 65% win rate vs 30% from trending_tokens"
   - "Positions held >24h tend to lose money — meme coins need faster exits"
   - "Tokens with cluster_ratio <25% at entry always lost"

3. **Propose parameter adjustments** to the user:
   - "Based on last 20 trades, I suggest raising `min_market_cap` from $500K to $1M (tokens below $1M had 80% loss rate)"
   - "Stop loss of 30% was never triggered before a 50% drop — consider tightening to 20%"
   - "Take profit at 100% missed several peaks — consider partial exit at 50%"

4. **Save review to `memory/strategy-reviews/YYYY-MM-DD.md`**

5. **Update preferences** only after user approves the proposed changes

### Learning Memory Files

| File | Purpose | Updated |
|------|---------|---------|
| `memory/trading-journal.json` | Every trade with entry reasoning + outcome | After every trade |
| `memory/trading-lessons.md` | Specific patterns learned from losses | After losing trades |
| `memory/strategy-reviews/YYYY-MM-DD.md` | Periodic aggregate analysis | Every 20 trades or 7 days |
| `memory/trading-preferences.json` | Current strategy parameters | When user approves changes |
| `memory/trading-state.json` | Runtime state (open positions, last scan) | After every action |

### Example: Learning in Action

```
Week 1: Agent enters 5 trades using default parameters
  → 2 wins (+80%, +45%), 3 losses (-30%, -25%, -18%)
  → Win rate: 40%, avg win: +62.5%, avg loss: -24.3%

Post-mortem on -30% loss:
  → Token had cluster_ratio 22% at entry (below 30% threshold was relaxed because trending)
  → Lesson: "Never relax cluster_ratio below 25%, even for trending tokens"

Week 2 review:
  → Agent proposes: "Raise min cluster_ratio from 20% to 28%"
  → User approves → preferences updated
  → Agent also notices: "All wins came from signal_dashboard source"
  → Agent proposes: "Allocate 80% of scans to signal_dashboard, 20% to trending"

Week 3: Improved win rate from 40% → 55% with tighter parameters
```

### What the Agent Should NOT Do

- **Never auto-adjust parameters without user approval** — always propose and wait
- **Never delete journal entries** — the full history is needed for pattern analysis
- **Never ignore a post-mortem** — even if the loss was small, the pattern matters
- **Never blame "market conditions"** without specifics — always look for actionable lessons

---

## Best Practices

1. **Always check `/agent/account` first** to confirm tier and remaining quota
2. **Always check `/agent/portfolio` on startup** to detect existing positions
3. **Never expose private keys** in logs, messages, or CLI arguments
4. **Validate price impact** before submitting — abort if >10%, warn if >5%
5. **Sign and submit promptly** — blockhash expires after ~60 seconds
6. **Use stop losses** — meme coins can drop 50%+ in minutes
7. **Persist state** — save trading state to `memory/trading-state.json` after every action
8. **Respect rate limits** — check quota before batch operations
9. **Log every trade to journal** — no exceptions, even failed trades are learning data
10. **Reflect after every exit** — write a lesson, even for wins (what made it work?)
11. **Review and propose, never auto-adjust** — parameter changes require user approval
12. **Read trading-lessons.md before scanning** — avoid repeating known bad patterns

---

## Core Concepts Quick Reference

| Concept | Key Insight |
|---------|-------------|
| **Cluster** | Group of wallets controlled by same entity, linked by fund flow/timing/transactions |
| **Cluster Ratio** | % of supply held by all clusters. ≥30% = controlled, ≥50% = high risk, <10% = dispersed |
| **Developer** | Deployed the token. Lowest cost basis = highest dump risk |
| **Sniper** | Bought within 1 second of creation. If not cleared = sell pressure |
| **Smart Money** | Realized profit >$100K. Their accumulation often precedes price moves |
| **Accumulation** | Cluster % rising + price consolidating = bullish |
| **Distribution** | Price rising + cluster % falling = bearish |

> Full concepts guide: see `references/concepts.md`

---

## File Structure

```
kryptogo-meme-trader/
├── SKILL.md                       ← You are here (compact overview)
├── .env.example                   ← Environment variable template
├── references/
│   ├── api-reference.md           ← Full API docs with request/response examples
│   ├── concepts.md                ← Core concepts (clustering, labels, accumulation)
│   └── decision-framework.md      ← Entry/exit strategies, bullish/bearish checklists
├── scripts/
│   ├── setup.py                   ← First-time setup (keypair generation, dependency install)
│   └── cron-examples.sh           ← Example cron configurations for different monitoring strategies
└── examples/
    └── trading-workflow.py        ← Complete Python reference implementation

Agent creates these memory files at runtime:
  memory/
  ├── trading-journal.json         ← Every trade with entry reasoning + outcome
  ├── trading-lessons.md           ← Patterns learned from losses
  ├── trading-preferences.json     ← User-approved strategy parameters
  ├── trading-state.json           ← Runtime state (open positions, last scan)
  └── strategy-reviews/
      └── YYYY-MM-DD.md            ← Periodic aggregate performance reviews
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.