{"_id":"@elizaos/plugin-auto-trader-root","_rev":"4-5f220a86f4a7e0b561884b4100f82345","name":"@elizaos/plugin-auto-trader-root","dist-tags":{"next":"2.0.0-alpha.1","latest":"2.0.0-alpha.1"},"versions":{"2.0.0-alpha.1":{"name":"@elizaos/plugin-auto-trader-root","version":"2.0.0-alpha.1","keywords":["trading","auto-trader","solana","jupiter","elizaos","plugin","defi","dex"],"_id":"@elizaos/plugin-auto-trader-root@2.0.0-alpha.1","maintainers":[{"name":"shawticus","email":"shawmakesmagic@gmail.com"},{"name":"shakkernerd","email":"shakkerdroid@gmail.com"},{"name":"wtfsayo","email":"hi@sayo.wtf"},{"name":"odilitime","email":"janesmith@airmail.cc"},{"name":"cjft","email":"cjft@trimboli.io"}],"homepage":"https://github.com/elizaos/eliza#readme","bugs":{"url":"https://github.com/elizaos/eliza/issues"},"dist":{"shasum":"5bea1045c10958e171d0595671508c2ce7ba5d24","tarball":"https://registry.npmjs.org/@elizaos/plugin-auto-trader-root/-/plugin-auto-trader-root-2.0.0-alpha.1.tgz","fileCount":39,"integrity":"sha512-e9NbVDGkjUMt5L0CUdXbri+A2ki3uUPlS3LZKUTX22YEmmvJ09sPzriWsYG12ICzmc312/Pb0o6a+0cpIANrYQ==","signatures":[{"sig":"MEQCIHplczXc4vdsugJbvyQll3ShL4X54RQWbk+fZC/IiTS9AiBifDPmR9bePY8ZcXxkE4BkWAPkX1bEGrrT0DDu/yM7Jw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1053420},"main":"typescript/dist/index.js","type":"module","types":"typescript/dist/index.d.ts","module":"typescript/dist/index.js","exports":{".":{"types":"./typescript/dist/index.d.ts","import":"./typescript/dist/index.js","default":"./typescript/dist/index.js"},"./package.json":"./package.json"},"gitHead":"05d4ca11d769db8c7f54a722ee24b2ce2b951543","scripts":{"dev":"cd typescript && bun run dev","lint":"bunx @biomejs/biome check --write ./typescript/src","test":"npm run test:ts","build":"npm run build:prompts && npm run build:ts","clean":"rm -rf typescript/dist .turbo node_modules","format":"bunx @biomejs/biome format --write ./typescript/src","test:ts":"cd typescript && bun run test","build:ts":"cd typescript && bun run build","typecheck":"tsc --noEmit -p typescript/tsconfig.json || true","lint:check":"bunx @biomejs/biome check ./typescript/src","format:check":"bunx @biomejs/biome format ./typescript/src","build:prompts":"node ../../packages/prompts/scripts/generate-plugin-prompts.js ./prompts ./typescript/src/generated/prompts --target all"},"_npmUser":{"name":"shawticus","email":"shawmakesmagic@gmail.com"},"repository":{"url":"git+https://github.com/elizaos/eliza.git","type":"git"},"_npmVersion":"lerna/9.0.3/node@v22.20.0+arm64 (darwin)","agentConfig":{"pluginType":"elizaos:plugin:1.0.0","pluginParameters":{"SLIPPAGE_BPS":{"type":"number","default":100,"required":false,"sensitive":false,"description":"Default slippage tolerance in basis points (100 = 1%)"},"TRADING_MODE":{"type":"string","default":"paper","required":false,"sensitive":false,"description":"Trading mode: 'live' for real trades, 'paper' for simulation"},"SOLANA_RPC_URL":{"type":"string","default":"https://api.mainnet-beta.solana.com","required":false,"sensitive":false,"description":"Solana RPC endpoint URL for blockchain interactions"},"BIRDEYE_API_KEY":{"type":"string","required":true,"sensitive":true,"description":"Birdeye API key for market data, trending tokens, and analytics"},"DEFAULT_STRATEGY":{"type":"string","default":"llm","required":false,"sensitive":false,"description":"Default trading strategy: 'llm', 'momentum', 'mean-reversion', 'rules'"},"RUGCHECK_ENABLED":{"type":"boolean","default":true,"required":false,"sensitive":false,"description":"Enable RugCheck validation before trading tokens"},"MIN_LIQUIDITY_USD":{"type":"number","default":50000,"required":false,"sensitive":false,"description":"Minimum token liquidity in USD to consider for trading"},"STOP_LOSS_PERCENT":{"type":"number","default":5,"required":false,"sensitive":false,"description":"Default stop loss percentage (e.g., 5 for 5%)"},"MAX_DAILY_LOSS_USD":{"type":"number","default":500,"required":false,"sensitive":false,"description":"Maximum daily loss in USD before trading stops"},"MIN_VOLUME_24H_USD":{"type":"number","default":100000,"required":false,"sensitive":false,"description":"Minimum 24h volume in USD to consider for trading"},"SOLANA_PRIVATE_KEY":{"type":"string","required":true,"sensitive":true,"description":"Base58-encoded private key for the trading wallet on Solana"},"TAKE_PROFIT_PERCENT":{"type":"number","default":15,"required":false,"sensitive":false,"description":"Default take profit percentage (e.g., 15 for 15%)"},"TRADING_INTERVAL_MS":{"type":"number","default":60000,"required":false,"sensitive":false,"description":"Interval between trading loop iterations in milliseconds"},"MAX_POSITION_SIZE_USD":{"type":"number","default":100,"required":false,"sensitive":false,"description":"Maximum position size in USD for any single trade"},"MAX_PORTFOLIO_ALLOCATION":{"type":"number","default":0.15,"required":false,"sensitive":false,"description":"Maximum percentage of portfolio to allocate to any single position (0-1)"}}},"description":"Multi-language autonomous trading plugin for elizaOS with LLM-powered strategies","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@biomejs/biome":"^2.3.11"},"_npmOperationalInternal":{"tmp":"tmp/plugin-auto-trader-root_2.0.0-alpha.1_1769033584170_0.4271628848111162","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-01-21T22:13:04.078Z","modified":"2026-06-16T05:13:56.634Z","2.0.0-alpha.1":"2026-01-21T22:13:04.369Z"},"bugs":{"url":"https://github.com/elizaos/eliza/issues"},"homepage":"https://github.com/elizaos/eliza#readme","keywords":["trading","auto-trader","solana","jupiter","elizaos","plugin","defi","dex"],"repository":{"url":"git+https://github.com/elizaos/eliza.git","type":"git"},"description":"Multi-language autonomous trading plugin for elizaOS with LLM-powered strategies","maintainers":[{"email":"shawmakesmagic@gmail.com","name":"shawticus"},{"email":"janesmith@airmail.cc","name":"odilitime"}],"readme":"# @elizaos/plugin-auto-trader\n\nAutonomous trading plugin for ElizaOS with LLM-powered strategies, Jupiter DEX integration, and comprehensive safety features.\n\n## Features\n\n- **LLM-Powered Trading** - AI analyzes trending tokens and makes intelligent trading decisions\n- **Trade ANY Token** - Dynamic token resolution by symbol, name, or address via Birdeye API\n- **Jupiter DEX Integration** - Execute swaps with optimal routing on Solana\n- **Honeypot Detection** - Blocks scam tokens (no sells, suspicious ratios, low volume)\n- **RugCheck Validation** - Automatic token safety checks before trading\n- **Risk Management** - Stop-loss, take-profit, position limits, daily loss caps\n- **Multiple Strategies** - LLM, Momentum, Mean-Reversion, Rule-based\n- **Paper Trading** - Test strategies without risking real funds\n\n## Installation\n\n```bash\nnpm install @elizaos/plugin-auto-trader\n```\n\n## Quick Start\n\n```typescript\nimport { AgentRuntime } from '@elizaos/core';\nimport autoTraderPlugin from '@elizaos/plugin-auto-trader';\n\nconst runtime = new AgentRuntime({\n  character: {\n    name: 'Trader',\n    settings: {\n      SOLANA_PRIVATE_KEY: 'your-base58-private-key',\n      BIRDEYE_API_KEY: 'your-birdeye-api-key',\n      TRADING_MODE: 'paper', // Start with paper trading!\n    },\n  },\n  plugins: [autoTraderPlugin],\n});\n\nawait runtime.initialize();\n```\n\n## Configuration\n\n### Required Settings\n\n| Setting | Description |\n|---------|-------------|\n| `SOLANA_PRIVATE_KEY` | Base58-encoded private key for trading wallet |\n| `BIRDEYE_API_KEY` | Birdeye API key for market data and token resolution |\n\n### Optional Settings\n\n| Setting | Default | Description |\n|---------|---------|-------------|\n| `SOLANA_RPC_URL` | `https://api.mainnet-beta.solana.com` | Solana RPC endpoint |\n| `TRADING_MODE` | `paper` | `paper` or `live` |\n| `STOP_LOSS_PERCENT` | `5` | Stop loss percentage |\n| `TAKE_PROFIT_PERCENT` | `15` | Take profit percentage |\n| `MAX_DAILY_LOSS_USD` | `500` | Maximum daily loss before stopping |\n| `MIN_LIQUIDITY_USD` | `50000` | Minimum token liquidity |\n| `MIN_VOLUME_24H_USD` | `100000` | Minimum 24h trading volume |\n| `MIN_SELL_COUNT_24H` | `50` | Minimum sells in 24h (honeypot filter) |\n| `MAX_BUY_SELL_RATIO` | `5` | Max buy/sell ratio (honeypot filter) |\n\n## Usage\n\n### Natural Language Commands\n\n**Start Trading:**\n```\n\"Start trading with LLM strategy\"\n\"Begin momentum trading on BONK\"\n\"Start paper trading\"\n```\n\n**Manual Trades:**\n```\n\"Buy 0.5 SOL worth of BONK\"\n\"Sell 1000 WIF\"\n\"Swap 1 SOL for PEPE\"\n```\n\n**Check Status:**\n```\n\"Check portfolio\"\n\"Show performance\"\n\"Analyze market\"\n```\n\n**Configure:**\n```\n\"Set stop loss to 3%\"\n\"Set take profit to 20%\"\n\"Configure liquidity to $100k\"\n```\n\n### Programmatic Usage\n\n```typescript\nconst tradingManager = runtime.getService('AutoTradingManager');\n\n// Start automated trading\nawait tradingManager.startTrading({\n  strategy: 'llm',\n  tokens: ['auto'], // Auto-discover trending tokens\n  maxPositionSize: 0.1, // 10% of portfolio\n  intervalMs: 60000,\n  stopLossPercent: 5,\n  takeProfitPercent: 15,\n});\n\n// Check status\nconst status = tradingManager.getStatus();\nconsole.log('Trading:', status.isTrading);\nconsole.log('P&L:', status.performance.totalPnL);\n\n// Stop trading\nawait tradingManager.stopTrading();\n```\n\n### Direct Swap Execution\n\n```typescript\nconst swapService = runtime.getService('SwapService');\n\n// Buy tokens\nconst result = await swapService.buy('TOKEN_ADDRESS', 0.5); // 0.5 SOL\nconsole.log(result.success, result.outputAmount);\n\n// Sell tokens  \nawait swapService.sell('TOKEN_ADDRESS', 1000);\n```\n\n### Token Resolution\n\n```typescript\nconst resolver = runtime.getService('TokenResolverService');\n\n// Resolve by symbol\nconst bonk = await resolver.resolve('BONK');\nconsole.log(bonk.address, bonk.price);\n\n// Get trending tokens\nconst trending = await resolver.getTrendingTokens(20);\n```\n\n## Safety Features\n\n### Honeypot Detection\n\nThe plugin automatically detects and blocks potential honeypots:\n\n| Check | What It Detects | Default |\n|-------|-----------------|---------|\n| **Zero Sells** | Tokens with 0 sells in 24h | `minSellCount24h: 50` |\n| **Buy/Sell Ratio** | Suspicious trading patterns | `maxBuySellRatio: 5` |\n| **Zero Sell Volume** | No sell volume despite buys | Automatic |\n| **Token Age** | Tokens less than 24h old | `minTokenAgeSeconds: 86400` |\n| **Unique Traders** | Low trader count | `minUniqueTraders24h: 100` |\n\n### RugCheck Integration\n\n- Risk score assessment\n- Holder concentration analysis\n- Liquidity lock verification\n- Mint/freeze authority checks\n\n## Strategies\n\n### LLM Strategy (Recommended)\n\nAI-powered trading using language models:\n1. Fetches trending tokens from Birdeye\n2. Pre-filters honeypots and scam tokens\n3. LLM analyzes remaining safe tokens\n4. Validates selection via RugCheck\n5. Executes trade with automatic stop-loss/take-profit\n\n### Momentum Strategy\n\nTechnical breakout detection using:\n- Price momentum indicators\n- Volume analysis\n- Trend identification\n\n### Mean Reversion Strategy\n\nTrades based on:\n- Moving average deviation\n- RSI overbought/oversold\n- Bollinger Bands\n\n### Rule-Based Strategy\n\nConfigurable technical rules:\n- Custom RSI thresholds\n- SMA/EMA crossovers\n- Volume conditions\n\n## Services\n\n| Service | Description |\n|---------|-------------|\n| `AutoTradingManager` | Main trading orchestrator |\n| `SwapService` | Jupiter DEX integration |\n| `TokenValidationService` | RugCheck + honeypot detection |\n| `TokenResolverService` | Dynamic token resolution |\n| `TradingTrajectoryService` | RL training data capture |\n\n## Actions\n\n| Action | Trigger Keywords |\n|--------|------------------|\n| `START_TRADING` | start, begin, enable trading |\n| `STOP_TRADING` | stop, pause, disable trading |\n| `CHECK_PORTFOLIO` | portfolio, positions, balance |\n| `EXECUTE_LIVE_TRADE` | buy, sell, swap, trade |\n| `GET_MARKET_ANALYSIS` | analyze, market, trending |\n| `ANALYZE_PERFORMANCE` | performance, p&l, stats |\n| `COMPARE_STRATEGIES` | compare, strategies, which |\n| `CONFIGURE_STRATEGY` | configure, set, adjust |\n\n## Risk Warnings\n\n⚠️ **Important**: Cryptocurrency trading involves significant risk.\n\n- **Paper Trade First** - Always test strategies before using real funds\n- **Start Small** - Begin with small position sizes when going live\n- **Monitor Closely** - Keep track of performance\n- **Secure Keys** - Never share or commit private keys\n\n## Architecture\n\n```\nplugin-auto-trader/\n├── package.json\n├── prompts/\n└── typescript/src/\n    ├── index.ts           # Plugin entry point\n    ├── services/\n    │   ├── AutoTradingManager.ts\n    │   ├── SwapService.ts\n    │   ├── TokenValidationService.ts\n    │   ├── TokenResolverService.ts\n    │   └── TradingTrajectoryService.ts\n    ├── strategies/\n    │   ├── LLMStrategy.ts\n    │   ├── MomentumBreakoutStrategy.ts\n    │   ├── MeanReversionStrategy.ts\n    │   ├── RuleBasedStrategy.ts\n    │   └── RandomStrategy.ts\n    ├── actions/\n    └── providers/\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}