Files

1408 lines
43 KiB
Markdown

# Clodds User Guide
This guide focuses on day-to-day usage: starting the gateway, pairing users,
chat commands, and common workflows.
## Quick start
```bash
npm install -g https://github.com/alsk1992/CloddsBot/releases/latest/download/clodds.tgz
clodds onboard
```
The wizard sets up your API key, picks a channel, and starts the gateway.
**From source (alternative):**
```bash
git clone https://github.com/alsk1992/CloddsBot.git && cd CloddsBot
npm install && cp .env.example .env
# Add ANTHROPIC_API_KEY to .env
npm run build && npm start
```
The gateway listens on `http://127.0.0.1:18789` by default.
## CLI Commands Reference
All `clodds` CLI commands:
### Core Commands
```bash
clodds start # Start the gateway
clodds repl # Interactive REPL mode
clodds doctor # System diagnostics and health checks
clodds status # Show gateway status
clodds endpoints # List all registered endpoints
clodds secure [--dry-run] # Server security hardening (Linux)
clodds secure audit # Run security audit only
```
### Pairing Commands
```bash
clodds pairing list <channel> # List pending pairing requests
clodds pairing approve <channel> <code> # Approve a pairing request
clodds pairing reject <channel> <code> # Reject a pairing request
clodds pairing users <channel> # List paired users
clodds pairing set-owner <channel> <id> # Set channel owner
clodds pairing remove-owner <channel> <id> # Remove channel owner
clodds pairing owners <channel> # List channel owners
clodds pairing add <channel> <userId> # Manually add user
clodds pairing remove <channel> <userId> # Remove user
```
### Configuration Commands
```bash
clodds config get [key] # Get config value or show all
clodds config set <key> <value> # Set config value
clodds config unset <key> # Remove config value
clodds config path # Show config file path
```
### Model Commands
```bash
clodds model list # List available models
clodds model default [model] # Get or set default model
```
### Session Commands
```bash
clodds session list # List active sessions
clodds session clear [id] # Clear all or specific session
```
### Cron Commands (Scheduled Tasks)
```bash
clodds cron list # List scheduled jobs
clodds cron show <id> # Show job details
clodds cron enable <id> # Enable a job
clodds cron disable <id> # Disable a job
clodds cron delete <id> # Delete a job
```
### User Management Commands
```bash
clodds users list # List all users
clodds users settings <platform> <platformUserId> # Show user settings
clodds users settings-by-id <userId> # Show settings by ID
clodds users set-settings <platform> <platformUserId> [options] # Update settings
clodds users set-settings-by-id <userId> [options] # Update settings by ID
```
### Memory Commands
```bash
clodds memory list <userId> # List user's memories
clodds memory search <userId> <query> # Search user's memories
clodds memory clear <userId> # Clear user's memories
clodds memory export <userId> # Export user's memories
```
### Hooks Commands
```bash
clodds hooks list # List all hooks
clodds hooks install <path> # Install a hook from path
clodds hooks uninstall <name> # Uninstall a hook
clodds hooks enable <name> # Enable a hook
clodds hooks disable <name> # Disable a hook
clodds hooks trace # Show hook execution trace
clodds hooks state get <name> [key] # Get hook state
clodds hooks state set <name> <key> <val> # Set hook state
clodds hooks state clear <name> [key] # Clear hook state
```
### MCP (Model Context Protocol) Commands
```bash
clodds mcp list # List MCP servers
clodds mcp add <name> <command> # Add an MCP server
clodds mcp remove <name> # Remove an MCP server
clodds mcp test <name> # Test an MCP server
clodds mcp stats # Show MCP stats
clodds mcp sync # Sync MCP servers
```
### Permissions Commands
```bash
clodds permissions list # List permission rules
clodds permissions allow <pattern> # Allow a command pattern
clodds permissions remove <entryId> # Remove permission rule
clodds permissions mode <mode> # Set permission mode
clodds permissions ask <mode> # Set ask mode
clodds permissions pending # Show pending approvals
clodds permissions approve <reqId> # Approve pending request
clodds permissions deny <reqId> # Deny pending request
```
### Usage & Analytics Commands
```bash
clodds usage summary # Usage summary
clodds usage by-model # Usage breakdown by model
clodds usage by-user # Usage breakdown by user
clodds usage export # Export usage data
clodds usage today # Today's usage
```
### Credentials Commands
```bash
clodds creds test [platform] # Test credentials for a platform
```
### Skills Commands
```bash
clodds skills list # List available skills
clodds skills search <query> # Search for skills
clodds skills install <slug> # Install a skill
clodds skills update [slug] # Update skill(s)
clodds skills uninstall <slug> # Uninstall a skill
clodds skills info <slug> # Show skill details
clodds skills check-updates # Check for skill updates
```
### MCP Server Commands
```bash
clodds mcp # Start MCP server (stdio JSON-RPC)
clodds mcp install # Auto-configure Claude Desktop & Claude Code
clodds mcp uninstall # Remove Clodds from Claude config
```
Exposes all 121 skills as MCP tools. After `clodds mcp install`, restart Claude Desktop/Code to use Clodds skills directly from Claude.
### QMD (Quantitative Market Data) Commands
```bash
clodds qmd status # Show QMD status
clodds qmd update # Update market data
clodds qmd embed # Generate embeddings
clodds qmd get <target> # Get market data
clodds qmd multi-get <targets> # Get multiple markets
clodds qmd collection add <path> # Add collection
clodds qmd context add <collection> <desc> # Add context
clodds qmd polymarket <query> # Search Polymarket
clodds qmd kalshi <query> # Search Kalshi
clodds qmd metaculus <query> # Search Metaculus
clodds qmd manifold <query> # Search Manifold
```
### Market Index Commands
```bash
clodds market-index stats # Show index statistics
clodds market-index sync # Sync market index
```
### WhatsApp Commands
```bash
clodds whatsapp login # Login with QR code
```
### Bittensor Commands
```bash
clodds bittensor setup # Interactive setup wizard (Python, btcli, wallet, config)
clodds bittensor status # Show mining configuration and status
clodds bittensor check # Verify all dependencies are installed
clodds bittensor wallet show # Show wallet address and balance
clodds bittensor wallet create # Create a new Bittensor wallet
clodds bittensor wallet balance # Check TAO balance
clodds bittensor register <id> # Register on a subnet (e.g. 64 for Chutes)
```
### Doctor Command
```bash
clodds doctor # Comprehensive system health check
clodds doctor --verbose # Include all optional features and services
```
Checks AI providers, messaging channels, trading platforms, external services, and Bittensor dependencies. Use this to diagnose configuration issues.
### Locale Commands (i18n)
```bash
clodds locale list # List supported languages
clodds locale get # Show current locale
clodds locale set <code> # Set locale (en, zh, es, ja, ko, de, fr, pt, ru, ar)
clodds locale test [key] # Test a translation key
```
### Trade Ledger Commands
Decision audit trail for AI trading transparency.
```bash
clodds ledger list [userId] # List recent decisions
clodds ledger list -n 50 # List more decisions
clodds ledger list -c trade # Filter by category (trade/copy/arbitrage/risk)
clodds ledger list -d rejected # Filter by decision (approved/rejected/blocked)
clodds ledger stats [userId] # Show decision statistics
clodds ledger stats -p 30d # Stats for last 30 days
clodds ledger calibration [userId] # Show confidence calibration
clodds ledger export [userId] # Export decisions to JSON
clodds ledger export -f csv # Export as CSV
clodds ledger prune --days 90 # Delete decisions older than 90 days
clodds ledger verify <id> # Verify decision hash integrity
clodds ledger config # Show ledger configuration
```
Enable the ledger:
```bash
clodds config set ledger.enabled true
clodds config set ledger.hashIntegrity true # Optional: SHA-256 hashing
```
Onchain anchoring (tamper-proof verification):
```bash
clodds ledger anchor <id> # Anchor to Solana (default)
clodds ledger anchor <id> -c polygon # Anchor to Polygon
clodds ledger anchor <id> -c base # Anchor to Base
clodds ledger verify-anchor <txHash> <hash> # Verify onchain anchor
```
### Auth Commands
```bash
clodds login # Login to Clodds
clodds logout # Logout from Clodds
clodds version # Show version
```
### Other Commands
```bash
clodds init # Initialize config
clodds upgrade # Check for updates
```
## Pairing and access control
Clodds uses a pairing flow to protect DMs.
### Approve a pairing request (CLI)
```
clodds pairing list telegram
clodds pairing approve telegram ABC123
```
### Set an owner (can approve via chat)
```
clodds pairing set-owner telegram 123456789 -u "username"
```
## WebChat (browser)
WebChat is a local browser chat UI at:
```
http://127.0.0.1:18789/webchat
```
If you set `WEBCHAT_TOKEN`, the browser will prompt for it on first load and
store it in localStorage.
Features:
- **Unlimited message history** — messages stored in a dedicated database table, not capped
- **Sidebar with tabs** — Chats, Projects, Artifacts, Code
- **Thinking indicator** — shows elapsed time while the AI is generating
- **Context compacting** — older messages are summarized so the AI never fully forgets earlier conversation
- **Session management** — create, rename, delete, search across conversations
## Chat commands
Send these in any supported channel (Telegram, Discord, WebChat, etc.):
- `/help` - list commands
- `/status` - session status and token estimate
- `/new` or `/reset` - reset the current session
- `/context` - preview recent context
- `/model [sonnet|opus|haiku|claude-...]` - change model
- `/markets [platform] <query>` - search markets
- `/compare <query> [platforms=polymarket,kalshi] [limit=3]` - compare prices
**Opportunity Finding:**
- `/opportunity scan [query]` - find arbitrage opportunities
- `/opportunity combinatorial` - scan for combinatorial arb (based on arXiv:2508.03474)
- `/opportunity active` - show active opportunities
- `/opportunity stats` - performance statistics
- `/opportunity link <a> <b>` - link equivalent markets
- `/opportunity realtime start` - enable real-time scanning
**Trading:**
- `/trades stats` - trade statistics
- `/trades recent` - recent trades
- `/bot list` - list trading bots
- `/bot start <id>` - start a bot
- `/safety status` - safety controls
- `/safety kill` - emergency stop
**Advanced Trading:**
- `/whale track <address>` - follow a whale address
- `/whale top [limit]` - top traders by volume
- `/whale activity <market>` - whale activity for market
- `/copy start <address>` - start copy trading
- `/copy stop` - stop copy trading
- `/route <market> <side> <size>` - find best execution route
- `/swap <chain> <from> <to> <amount>` - EVM DEX swap
**Virtuals Protocol (AI Agents):**
- `/virt search <query>` - search AI agents
- `/virt agent <id>` - get agent details
- `/virt agents [category]` - list agents with sorting
- `/virt trending [limit]` - top agents by volume
- `/virt new [limit]` - recently launched agents
- `/virt price <token>` - get bonding curve price
- `/virt graduation <token>` - check graduation status
**Betfair Exchange (Sports):**
- `/bf markets <query>` - search sports markets
- `/bf market <id>` - get market details
- `/bf prices <market>` - get market book/odds
- `/bf book <market> <selection>` - view orderbook
- `/bf back <market> <sel> <odds> <stake>` - place back bet
- `/bf lay <market> <sel> <odds> <stake>` - place lay bet
- `/bf orders` - view open orders
- `/bf positions` - view current positions
- `/bf balance` - check account funds
**Smarkets Exchange:**
- `/sm markets <query>` - search markets
- `/sm market <id>` - get market details
- `/sm quotes <market>` - get current quotes
- `/sm book <market> <contract>` - view orderbook
- `/sm buy <market> <contract> <price> <qty>` - place buy order
- `/sm sell <market> <contract> <price> <qty>` - place sell order
- `/sm orders` - view open orders
- `/sm balance` - check account balance
**Metaculus (Forecasting):**
- `/mc search <query>` - search questions
- `/mc question <id>` - get question details and community prediction
- `/mc tournaments` - list tournaments
- `/mc tournament <id>` - get tournament details
**PredictIt (Political Markets):**
- `/pi search <query>` - search markets
- `/pi market <id>` - get market and contract details
- `/pi all` - list all markets
**Portfolio & Risk:**
- `/portfolio` - show positions and P&L
- `/pnl [24h|7d|30m] [limit=50]` - historical P&L snapshots
- `/digest [on|off|HH:MM|show|reset]` - daily digest settings
- `/risk` - risk status, limits, and circuit breaker
- `/risk dashboard` - real-time risk metrics (VaR, regime, HHI)
- `/risk var` - Value-at-Risk and CVaR numbers
- `/risk stress [scenario]` - run stress test
- `/risk regime` - current volatility regime
## Trading credentials
To enable trading tools, store per-user credentials via the agent tools (chat
commands or agent prompts) or the onboarding flow.
Supported platforms:
- Polymarket
- Kalshi
- Manifold
- Betfair
- Smarkets
- Opinion.trade
- Virtuals Protocol (AI agents)
- Hyperliquid (perp DEX)
- Drift Protocol (Solana perps)
- Jupiter (Solana aggregator)
- Raydium (Solana AMM)
- Orca (Solana Whirlpools)
- Meteora (Solana DLMM)
- Pump.fun (Solana launchpad)
- Percolator (On-chain Solana perpetual futures)
These are stored encrypted in the database and loaded at runtime.
### Environment Variables for New Skills
| Skill | Required Env Vars |
|-------|-------------------|
| Copy Trading (Solana) | `SOLANA_PRIVATE_KEY` |
| Signal Trading | `SOLANA_PRIVATE_KEY` |
| AI Strategy | `SOLANA_PRIVATE_KEY` |
| Weather Betting | `POLY_API_KEY`, `POLY_API_SECRET` |
| Pump.fun Swarm | `SOLANA_PRIVATE_KEY`, optionally `SOLANA_SWARM_KEY_1..20` |
| Percolator | `SOLANA_PRIVATE_KEY`, `PERCOLATOR_SLAB`, `PERCOLATOR_ORACLE` |
## Risk management
Use `/risk` to control guardrails:
```
/risk Current status + portfolio metrics
/risk status Detailed status
/risk limits View all configured limits
/risk dashboard Full dashboard (VaR, regime, concentration, etc.)
/risk var Value-at-Risk / CVaR numbers
/risk regime Volatility regime + position size multiplier
/risk stress flash_crash Run a stress test scenario
/risk set max-loss 1000 Set max daily loss ($)
/risk set max-drawdown 20 Set max drawdown (%)
/risk check 500 Check if a $500 trade is allowed
/risk trip "reason" Manually trip circuit breaker
/risk reset Reset circuit breaker
/risk kill Emergency stop all trading
```
**Stress test scenarios:** `flash_crash`, `liquidity_crunch`, `platform_down`, `correlation_spike`, `black_swan`
**Volatility regimes:** low (1.2x size), normal (1.0x), high (0.5x), extreme (0.25x or halt)
Note: automated stop-loss execution respects `trading.dryRun` in config.
## Advanced Trading Configuration
Configure advanced trading features in `clodds.json`:
```json
{
"whaleTracking": {
"enabled": true,
"minTradeSize": 10000,
"minPositionSize": 50000,
"platforms": ["polymarket"],
"realtime": true
},
"copyTrading": {
"enabled": true,
"dryRun": true,
"followedAddresses": ["0x1234..."],
"sizingMode": "fixed",
"fixedSize": 100,
"maxPositionSize": 500,
"copyDelayMs": 5000
},
"smartRouting": {
"enabled": true,
"mode": "balanced",
"platforms": ["polymarket", "kalshi"],
"maxSlippage": 1,
"preferMaker": true
},
"evmDex": {
"enabled": true,
"defaultChain": "ethereum",
"slippageBps": 50,
"mevProtection": "basic",
"maxPriceImpact": 3
}
}
```
| Config | Options | Description |
|--------|---------|-------------|
| `whaleTracking.minTradeSize` | number | Min USD to track (default: 10000) |
| `copyTrading.sizingMode` | fixed/proportional/percentage | How to size copied trades |
| `smartRouting.mode` | best_price/best_liquidity/lowest_fee/balanced | Routing strategy |
| `evmDex.mevProtection` | none/basic/aggressive | MEV protection level |
| `realtimeAlerts.enabled` | boolean | Enable push notifications (default: false) |
| `realtimeAlerts.whaleTrades.minSize` | number | Min whale trade to alert (default: 50000) |
| `realtimeAlerts.arbitrage.minEdge` | number | Min arb edge % to alert (default: 2) |
| `arbitrageExecution.enabled` | boolean | Enable auto-execution (default: false) |
| `arbitrageExecution.dryRun` | boolean | Simulate without executing (default: true) |
| `arbitrageExecution.minEdge` | number | Min edge % to execute (default: 1.0) |
## Auto-Arbitrage Execution
Automatically execute detected arbitrage opportunities:
```json
{
"arbitrageExecution": {
"enabled": true,
"dryRun": true,
"minEdge": 1.0,
"minLiquidity": 500,
"maxPositionSize": 100,
"maxDailyLoss": 500,
"maxConcurrentPositions": 3,
"platforms": ["polymarket", "kalshi"],
"preferMakerOrders": true,
"confirmationDelayMs": 0
}
}
```
| Setting | Description |
|---------|-------------|
| dryRun | Simulate trades without executing (recommended for testing) |
| minEdge | Minimum edge % to trigger execution |
| maxPositionSize | Max USD per trade |
| maxDailyLoss | Stop executing if daily loss exceeds this |
| maxConcurrentPositions | Maximum simultaneous positions |
| confirmationDelayMs | Wait time before executing (allows price recheck) |
The executor listens for opportunities from the opportunity finder and automatically places orders when criteria are met. Always test with `dryRun: true` first.
## Real-time Alerts
Push notifications for trading events. Configure in `clodds.json`:
```json
{
"realtimeAlerts": {
"enabled": true,
"targets": [
{ "platform": "telegram", "chatId": "123456789" }
],
"whaleTrades": {
"enabled": true,
"minSize": 50000,
"cooldownMs": 300000
},
"arbitrage": {
"enabled": true,
"minEdge": 2,
"cooldownMs": 600000
},
"priceMovement": {
"enabled": true,
"minChangePct": 5,
"windowMs": 300000
},
"copyTrading": {
"enabled": true,
"onCopied": true,
"onFailed": true
}
}
}
```
| Alert Type | Trigger |
|------------|---------|
| Whale Trade | Large trades above minSize threshold |
| Arbitrage | Opportunities above minEdge % |
| Price Movement | Price changes above minChangePct % |
| Copy Trading | When trades are copied or fail |
## Performance Dashboard
Access the web-based performance dashboard at:
```
http://127.0.0.1:18789/dashboard
```
The dashboard shows:
- Total trades and win rate
- Cumulative P&L with interactive chart
- Sharpe ratio and max drawdown
- Strategy breakdown with P&L per strategy
- Recent trades table with entry/exit prices
API endpoint for programmatic access:
```
GET /api/performance
```
## Portfolio and P&L
- `/portfolio` shows current positions and live P&L.
- `/pnl` shows snapshots over time. Enable via:
- `POSITIONS_PNL_SNAPSHOTS_ENABLED=true`
- `POSITIONS_PNL_HISTORY_DAYS=90`
## Daily digest
Enable daily summaries:
```
/digest on
/digest 09:00
/digest show
/digest off
```
## Market index search
Enable the market index in config or `.env`:
```
MARKET_INDEX_ENABLED=true
```
Then use:
- `/markets <query>` in chat
- HTTP endpoint `GET /market-index/search`
## Webhooks (automation)
Webhooks are mounted at `/webhook` or `/webhook/*`. They require HMAC signatures
by default:
- Header: `x-webhook-signature` (or `x-hub-signature-256`)
- Value: hex HMAC-SHA256 of the raw request body using the webhook secret
Set `CLODDS_WEBHOOK_REQUIRE_SIGNATURE=0` to disable signature checks.
## Troubleshooting
Common checks:
- `clodds doctor` - environment and config checks
- `npm run build` - verify TypeScript compilation
- `npm run dev` - start in dev mode with logs
If a channel is not responding, confirm:
- Token set in `.env`
- Channel enabled in config (or `.env`)
- Pairing approved (for DMs)
Monitoring targets can include an `accountId` for multi-account channels, e.g.
WhatsApp:
```json
{
"monitoring": {
"alertTargets": [
{ "platform": "whatsapp", "accountId": "work", "chatId": "+15551234567" }
]
}
}
```
If you omit `accountId`, Clodds will attempt to route alerts using the most
recent session for that chat (when available).
You can also specify per-account WhatsApp DM policies under
`channels.whatsapp.accounts.<id>.dmPolicy` (e.g. `pairing` vs `open`).
## Advanced Trading Features
### Whale Tracking (Polymarket)
Monitor large trades on Polymarket:
```
/whale track 0x1234... # Follow a specific address
/whale top 10 # Top 10 traders by volume
/whale activity trump # Whale activity for Trump markets
```
### Crypto Whale Tracking (Multi-Chain)
Monitor whale activity across Solana and EVM chains:
```
/crypto-whale start # Start tracking all configured chains
/crypto-whale watch solana ABC123... # Watch a Solana wallet
/crypto-whale watch ethereum 0x1234... # Watch an ETH wallet
/crypto-whale top solana 10 # Top 10 Solana whales
/crypto-whale recent ethereum 20 # Recent 20 ETH whale transactions
/crypto-whale stop # Stop tracking
```
**Supported chains:** Solana, Ethereum, Polygon, Arbitrum, Base, Optimism
Configure thresholds in `clodds.json`:
```json
{
"cryptoWhaleTracking": {
"enabled": true,
"chains": ["solana", "ethereum", "polygon"],
"thresholds": {
"solana": 10000,
"ethereum": 50000,
"polygon": 5000
},
"birdeyeApiKey": "...",
"alchemyApiKey": "..."
}
}
```
### Copy Trading (Polymarket)
Automatically mirror trades from successful wallets with automatic stop-loss and take-profit:
```
/copy start 0x1234... # Start copying an address
/copy config size=100 # Set copy size to $100
/copy config sl=10 # Set 10% stop-loss
/copy config tp=20 # Set 20% take-profit
/copy status # View active positions and SL/TP status
/copy stop # Stop copy trading
```
**SL/TP Monitoring:**
- Positions are monitored every 5 seconds
- Automatic exit when stop-loss or take-profit triggers
- Notifications sent when positions are closed
### Copy Trading (Solana)
Monitor Solana wallets and automatically copy their trades using Jupiter aggregator:
```
/copy add <wallet> [--mult 1.0] [--max 0.5] Follow a wallet
/copy add 7xKXtg... --name "whale1" With friendly name
/copy remove <wallet> Stop following
/copy list List followed wallets
/copy pause <wallet> Pause copying
/copy resume <wallet> Resume copying
/copy history [wallet] View trade history
/copy stats View overall stats
/copy config <wallet> --mult 0.5 Update multiplier
```
**Configuration Options:**
- `--mult <number>`: Position size multiplier (0.5 = half, 2.0 = double)
- `--max <sol>`: Maximum SOL per trade (default: 0.5)
- `--min <sol>`: Minimum trade to copy (default: 0.01)
- `--delay <ms>`: Delay before copying (stealth mode)
- `--slippage <bps>`: Slippage tolerance in basis points
- `--buys-only` / `--sells-only`: Filter trade direction
**Features:**
- Real-time monitoring via Solana WebSocket
- Auto-detects trades on Pump.fun, Raydium, Jupiter, Orca, Meteora
- Configurable position sizing with multiplier and max cap
- Trade history and P&L tracking
### Signal Trading
Monitor external signals from RSS feeds, Twitter, and webhooks to trigger automatic trades:
```
/signal add rss <url> --name "news" Add RSS feed
/signal add twitter whale_alert Add Twitter/X account
/signal add webhook --name "custom" Get webhook URL
/signal list List all sources
/signal remove <id> Remove source
/signal pause <id> Pause source
/signal resume <id> Resume source
/signal history [source] View signal history
/signal filter <id> add keyword "pump" buy Add filter rule
/signal config <id> --amount 0.1 Set SOL per trade
```
**Signal Sources:**
- **RSS Feeds**: Monitor any RSS/Atom feed (polls every 30s)
- **Twitter/X**: Monitor tweets via Nitter proxy
- **Webhooks**: Receive signals via HTTP POST
**Filters:**
- `keyword`: Match text content → action (buy/sell)
- `sentiment`: Match bullish/bearish
- `regex`: Custom regex patterns
- `mint`: Match specific token address
**Webhook payload:**
```json
{
"content": "Buy BONK now! 5BqXr...",
"author": "trader",
"secret": "your-secret"
}
```
### AI Strategy
Convert natural language descriptions into executable trading strategies:
```
/strategy "buy $100 of SOL if it drops 5%"
/strategy "sell half my BONK when it hits $0.00003"
/strategy "DCA $50 into JUP every hour for 12 hours"
/strategy "set stop loss at 20% for my SOL position"
/strategies List active strategies
/strategy status <id> Check strategy status
/strategy cancel <id> Cancel strategy
/strategy templates List templates
/execute buy 0.5 SOL of TOKEN... Execute immediately
```
**Strategy Types:**
- **Price Triggers**: Buy/sell when price crosses threshold
- **DCA**: Dollar cost average over time intervals
- **Take Profit / Stop Loss**: Automatic exit at targets
- **Scale In/Out**: Buy/sell in tranches
- **Ladder Orders**: Multiple orders at different price levels
**Templates:** `dip-buy`, `take-profit`, `dca-daily`, `stop-loss`, `ladder-buy`, `scale-out`
**Monitoring:** Strategies checked every 5 seconds via Jupiter/Birdeye prices.
### Weather Betting
Use NOAA weather forecasts to find edge on Polymarket weather markets:
```
/weather scan Scan all weather markets for edge
/weather forecast "New York" Get NOAA forecast
/weather markets List active weather markets
/weather edge <market-id> Calculate edge for specific market
/weather bet <market-id> 10 Execute $10 bet
/weather auto --threshold 15 Auto-bet when edge >= 15%
/weather history View bet history
```
**How It Works:**
1. Fetch NOAA forecast (free, no API key)
2. Match to Polymarket weather markets
3. Compare NOAA probability to market YES price
4. Bet if significant edge exists
**Edge Calculation:**
```
Edge = NOAA Probability - Market Price
Example: NOAA 80% rain, Market 65% → +15% edge → Bet YES
```
**Supported Market Types:** Temperature, precipitation, snow, record highs
**Position Sizing:** Quarter-Kelly criterion, capped at 10% of bankroll.
### Pump.fun Swarm Trading
Coordinate up to 20 wallets for synchronized trades on Pump.fun tokens:
```
/swarm wallets List all swarm wallets
/swarm balances Refresh SOL balances from chain
/swarm enable <wallet_id> Enable a wallet
/swarm disable <wallet_id> Disable a wallet
/swarm buy <mint> 0.1 Buy 0.1 SOL on each wallet
/swarm sell <mint> 100% Sell all positions
/swarm position <mint> Show cached positions
/swarm refresh <mint> Fetch fresh positions
/swarm preset list List saved presets
/swarm preset save <name> Save a preset
```
**Execution Modes:**
- `--parallel`: All wallets simultaneously (fastest)
- `--bundle`: Jito bundle, all-or-nothing (≤5 wallets)
- `--multi-bundle`: Multiple Jito bundles (6-20 wallets)
- `--sequential`: Staggered 200-400ms delays (stealth)
**Built-in Presets:** `fast`, `atomic`, `stealth`, `aggressive`, `safe`
**Multi-DEX Support:** Pump.fun (default), Bags.fm (`--dex bags`), Meteora (`--dex meteora`)
**Setup:**
```bash
export SOLANA_PRIVATE_KEY="wallet_0"
export SOLANA_SWARM_KEY_1="wallet_1"
# ... up to SOLANA_SWARM_KEY_20
```
### Smart Order Routing
Find the best execution across platforms:
```
/route trump buy 1000 # Find best route for $1000 buy
```
### EVM DEX Trading
Trade on Uniswap/1inch across EVM chains:
```
/swap ethereum USDC WETH 1000 # Swap $1000 USDC for WETH
/swap base USDC ETH 500 # Swap on Base
```
Supported chains: ethereum, arbitrum, optimism, base, polygon
### Solana DEX Trading
Trade on Solana DEXes via unified interface or direct DEX commands:
**Unified Commands:**
```
/sol swap 1 SOL to USDC Execute swap (uses Jupiter)
/sol quote 100 USDC to JUP Get quotes from all DEXes
/sol pools BONK List all pools
/sol route SOL USDC Find best route
/sol balance Check balance
```
**Jupiter Aggregator:**
```
/jup swap 1 SOL to USDC Execute swap
/jup quote 100 USDC to JUP Get quote
/jup route SOL BONK Show route details
```
**Raydium DEX:**
```
/ray swap 1 SOL to USDC Execute swap
/ray pools SOL List pools
```
**Orca Whirlpools:**
```
/orca swap 1 SOL to USDC Execute swap
/orca pools SOL List Whirlpools
```
**Meteora DLMM:**
```
/met swap 1 SOL to USDC Execute swap
/met pools SOL List DLMM pools
```
### Solana Lending Protocols
Lend, borrow, and earn yield on Solana lending protocols. Requires `SOLANA_PRIVATE_KEY`.
**Kamino Finance (15 commands):**
```
/kamino deposit 100 USDC Deposit collateral
/kamino withdraw all USDC Withdraw collateral
/kamino borrow 1 SOL Borrow assets
/kamino repay all SOL Repay borrowed
/kamino obligation View positions (deposits & borrows)
/kamino health Check health factor & liquidation risk
/kamino reserves List reserves with APY
/kamino rates Interest rates table
/kamino strategies List liquidity vault strategies
/kamino vault-deposit <strat> <amtA> [amtB] Deposit to vault
/kamino vault-withdraw <strat> [shares|all] Withdraw from vault
/kamino shares View your vault shares
/kamino markets List lending markets
```
**MarginFi:**
```
/marginfi deposit 100 USDC Deposit collateral
/marginfi withdraw all USDC Withdraw collateral
/marginfi borrow 1 SOL Borrow assets
/marginfi repay all SOL Repay borrowed
/marginfi account View positions (deposits & borrows)
/marginfi health Check health factor & liquidation risk
/marginfi banks List lending pools with APY
/marginfi rates Interest rates table
```
**Solend:**
```
/solend deposit 100 USDC Deposit collateral
/solend withdraw all USDC Withdraw collateral
/solend borrow 1 SOL Borrow assets
/solend repay all SOL Repay borrowed
/solend obligation View positions (deposits & borrows)
/solend health Check health factor & liquidation risk
/solend reserves List reserves with APY
/solend rates Interest rates table
/solend markets List lending markets
```
**Pump.fun:**
```
/pump buy <mint> 0.1 Buy with 0.1 SOL
/pump sell <mint> 1000 Sell 1000 tokens
```
**Security Shield:**
```
/shield scan <code> Scan code/plugin for malicious patterns (75 rules, 9 categories)
/shield check <address> Check address safety (auto-detect Solana/EVM)
/shield validate <dest> <amt> [token] Pre-flight transaction validation
/shield scams [solana|evm] List known scam addresses (70+ entries)
/shield status Show scanner statistics
/shield help Show help
```
**Token Security Audit:**
```
/audit <address> Auto-detect chain, full security audit
/audit <address> --chain eth Specify chain (eth, bsc, polygon, arb, base, solana...)
/audit help Show usage
```
**DCA (Dollar-Cost Averaging):**
```
/dca poly <token-id> <total-$> --per <$> --every <interval> [--price <p>] Polymarket DCA
/dca kalshi <ticker> <total-$> --per <$> --every <interval> [--price <p>] Kalshi DCA
/dca pump <mint> <total-SOL> --per <SOL> --every <interval> [--slippage <bps>] [--pool pump|raydium|auto] PumpFun DCA
/dca hl <coin> <total-$> --per <$> --every <interval> [--side long|short] [--leverage <n>] Hyperliquid DCA
/dca bf <symbol> <total-$> --per <$> --every <interval> [--side long|short] [--leverage <n>] Binance Futures DCA
/dca bb <symbol> <total-$> --per <$> --every <interval> [--side long|short] [--leverage <n>] Bybit DCA
/dca mexc <symbol> <total-$> --per <$> --every <interval> [--side long|short] [--leverage <n>] MEXC Futures DCA
/dca drift <idx> <total-$> --per <$> --every <interval> [--type perp|spot] [--side long|short] Drift DCA
/dca opinion <market-id> <total-$> --per <$> --every <interval> [--price <p>] Opinion.trade DCA
/dca predict <market-id> <total-$> --per <$> --every <interval> [--price <p>] Predict.fun DCA
/dca orca <pool> <input-mint> <total> --per <amt> --every <interval> [--slippage <bps>] Orca DCA
/dca raydium <input> to <output> <total> --per <amt> --every <interval> [--slippage <bps>] Raydium DCA
/dca virtuals <agent-token> <total-VIRTUAL> --per <VIRTUAL> --every <interval> [--slippage <bps>] Virtuals DCA (Base)
/dca base <input> to <output> <total> --per <amt> --every <interval> [--slippage <bps>] Base chain swap DCA
/dca evm <chain> <input> to <output> <total> --per <amt> --every <interval> [--slippage <bps>] EVM swap DCA (Odos)
/dca sol <total> <from> to <to> --per <amt> --every <secs> Jupiter DCA (Solana)
/dca list List active DCA orders
/dca info <id> Show order details and progress
/dca pause <id> Pause a running DCA order
/dca resume <id> Resume a paused DCA order
/dca cancel <id> Cancel a DCA order
```
**Drift Protocol (Perpetuals):**
```
/drift long SOL-PERP 0.5 Open long position
/drift short BTC-PERP 0.01 Open short position
/drift positions View open positions
/drift orders View open orders
/drift balance Check balance
/drift leverage SOL 5 Set 5x leverage
```
**Percolator (On-Chain Solana Perps):**
```
/percolator status Market state (oracle price, OI, funding, spread)
/percolator positions Your open positions
/percolator long 100 Open $100 long position
/percolator short 50 Open $50 short position
/percolator deposit 500 Deposit USDC collateral
/percolator withdraw 100 Withdraw USDC collateral
/percolator help Show all commands
```
Also available via `/perc` alias.
**Bags.fm (Token Launchpad - Complete):**
```
# Trading
/bags quote 1 SOL to USDC Get swap quote
/bags swap 0.5 SOL to BONK Execute swap
# Discovery
/bags pools List all pools
/bags trending Trending by volume
/bags token <mint> Full token info
/bags creators <mint> Get creators
/bags lifetime-fees <mint> Total fees collected
# Fee Claiming
/bags fees [wallet] Check claimable fees
/bags claim [wallet] Claim all fees
/bags claim-events <mint> Claim history
/bags stats <mint> Per-claimer stats
# Token Launch
/bags launch <name> <symbol> <desc> Launch new token
/bags fee-config <mint> <wallet:bps> Set up fee shares
# Wallet Lookup (providers: twitter, github, kick, tiktok, instagram, onlyfans, solana, apple, google, email, moltbook)
/bags wallet twitter <username> Lookup by social
/bags wallets github user1,user2 Bulk lookup
# Partner System
/bags partner-config <mint> Create partner key
/bags partner-claim Claim partner fees
/bags partner-stats <key> View partner stats
```
### MEV Protection
MEV protection is automatically enabled for swaps:
- **Ethereum**: Flashbots Protect, MEV Blocker
- **Solana**: Jito bundles
- **L2s**: Sequencer protection (built-in)
### Hyperliquid DEX
Trade perpetual futures on Hyperliquid (69% market share, 130+ markets, up to 50x leverage).
**Setup:**
```bash
export HYPERLIQUID_WALLET="0x..."
export HYPERLIQUID_PRIVATE_KEY="0x..."
```
**Quick Commands:**
```
/hl balance # Positions & balances
/hl long BTC 0.1 # Open long 0.1 BTC
/hl short ETH 1 3000 # Short 1 ETH at $3000
/hl close BTC # Close BTC position
/hl closeall # Close all positions
/hl portfolio # PnL breakdown
/hl funding BTC # Funding rates
/hl orders # Open orders
```
**TWAP & Advanced:**
```
/hl twap buy BTC 1 60 # Buy 1 BTC over 60 minutes
/hl leverage BTC 10 # Set 10x leverage
/hl hlp deposit 1000 # Deposit to HLP vault
/hl transfer spot2perp 500 # Move to perps
```
**Database Tracking:**
All trades are logged to SQLite with full PnL tracking:
```
/hl trades [coin] [limit] # Trade history
/hl dbstats [coin] [period] # Win rate, profit factor
/hl dbfunding [coin] # Funding payments
```
**Shortcuts:** `/hl b` (balance), `/hl l` (long), `/hl s` (short), `/hl p` (price), `/hl f` (funding)
## Telegram Mini App
Access Clodds as a Telegram Mini App (Web App) for mobile-friendly portfolio and market access.
### Setup
1. Register your Mini App with BotFather:
```
/newapp
```
2. Set the Web App URL to your gateway:
```
https://your-domain.com/miniapp
```
3. Users can access via the menu button in your bot's chat.
### Features
- **Portfolio**: View total value, P&L, and recent positions
- **Markets**: Search prediction markets across platforms
- **Arbitrage**: Scan for opportunities with one tap
The Mini App uses Telegram's native theming and haptic feedback for a native experience.
### Direct Link
Share the Mini App directly:
```
https://t.me/YourBot/app
```
## Data Sources
Clodds integrates multiple external data sources for edge detection and trading signals.
### News Feed
RSS feeds from political and financial news sources:
- Reuters Politics
- NPR Politics
- Politico
- FiveThirtyEight
Twitter/X integration (requires `X_BEARER_TOKEN` or `TWITTER_BEARER_TOKEN`):
```json
{
"feeds": {
"news": {
"enabled": true,
"twitter": {
"accounts": ["nikiivan", "NateSilver538", "redistrict"]
}
}
}
}
```
### External Probability Sources
Edge detection compares market prices to external data:
| Source | Env Var | Description |
|--------|---------|-------------|
| CME FedWatch | `CME_FEDWATCH_ACCESS_TOKEN` | Fed rate probabilities |
| FiveThirtyEight | `FIVETHIRTYEIGHT_FORECAST_URL` | Election model |
| Silver Bulletin | `SILVER_BULLETIN_FORECAST_URL` | Nate Silver's model |
| Odds API | `ODDS_API_KEY` | Sports betting odds |
### Crypto Price Feed
Real-time prices via Binance WebSocket with Coinbase/CoinGecko fallback:
- BTC, ETH, SOL, XRP, DOGE, ADA, AVAX, MATIC, DOT, LINK
- 24h volume and price changes
- OHLCV historical data
## Authentication
Clodds supports multiple authentication methods for AI providers:
### OAuth Authentication
```bash
# Interactive OAuth flow
clodds auth login anthropic
clodds auth login openai
clodds auth login google
# Check status
clodds auth status
# Revoke tokens
clodds auth logout anthropic
```
### GitHub Copilot
```bash
# Authenticate with GitHub Copilot
clodds auth copilot
```
### Google/Gemini
```bash
# API key authentication
export GOOGLE_API_KEY=your-key
# Or OAuth
clodds auth login google
```
### Qwen/DashScope
```bash
export DASHSCOPE_API_KEY=your-key
```
## Telemetry & Monitoring
Enable OpenTelemetry for observability:
```json
{
"telemetry": {
"enabled": true,
"serviceName": "clodds",
"otlpEndpoint": "http://localhost:4318",
"metricsPort": 9090,
"sampleRate": 1.0
}
}
```
Access Prometheus metrics at `http://localhost:9090/metrics`.
### LLM Metrics
- `llm_requests_total` - Total LLM requests by provider/model/status
- `llm_request_duration_ms` - Request latency histogram
- `llm_tokens_input_total` - Input tokens by provider/model
- `llm_tokens_output_total` - Output tokens by provider/model
## Extensions
### Task Runner
AI-powered task execution with planning:
```bash
# Run a complex task
clodds task run "Build a REST API with authentication"
# View task status
clodds task status
# Cancel running task
clodds task cancel <id>
```
### Open Prose
AI-assisted document editing:
```bash
# Create a document
clodds prose create "My Article"
# Edit with AI
clodds prose edit <id> "Make it more concise"
# Export
clodds prose export <id> html
```
## Production Deployment
### Channel Adapters
All channel adapters include production-grade features:
- **Rate Limiting**: Token bucket algorithm (30 req/s default)
- **Circuit Breaker**: Auto-disable on repeated failures
- **Health Checks**: Periodic connectivity checks
- **Auto-Reconnection**: Exponential backoff reconnection
- **Metrics**: Request counts, latency, error rates
Configure in `clodds.json`:
```json
{
"channels": {
"telegram": {
"rateLimit": 30,
"rateLimitBurst": 10,
"circuitBreakerThreshold": 5,
"healthCheckIntervalMs": 30000,
"maxReconnectAttempts": 10
}
}
}
```
## Server Security Hardening
For production Linux deployments, use the built-in security hardening CLI:
```bash
# Preview changes (safe, no modifications)
clodds secure --dry-run
# Apply all hardening
sudo clodds secure
# Run security audit only
clodds secure audit
```
### What gets hardened
| Component | Changes |
|-----------|---------|
| SSH | Disable password auth, root login, limit attempts |
| Firewall | Configure ufw with minimal ports |
| fail2ban | Block brute-force attempts |
| Auto-updates | Enable security patches |
| Kernel | Apply sysctl hardening |
### Important
1. **Always test SSH** in a new terminal before closing your session
2. **Backup SSH keys** before disabling password auth
3. **Check firewall rules** don't block your app ports
See [SECURITY_AUDIT.md](./SECURITY_AUDIT.md) for detailed security documentation.
## Tips
- Keep the gateway on loopback unless you add auth and a reverse proxy.
- Use WebChat for fast local testing before wiring up a messaging platform.
- For production, use Docker or a process manager and enable monitoring.
- Run `clodds secure` on production servers for security hardening.