{"id":"2239bf74-875f-4575-afb9-ad641285a7d5","slug":"openclaw-upbit-skills","kind":"skill","name":"openclaw-upbit-skills","summary":"🪙 Trade cryptocurrency with natural language! OpenClaw skill for conversational Upbit trading via Telegram/Discord/WhatsApp","owner":"jh941213","repoUrl":"https://github.com/jh941213/openclaw-upbit-skills","license":"MIT","licenseTier":"permissive","trust":"community","stars":3,"match":null,"fewStars":true,"format":"skill","createdAt":"2026-02-08T15:57:04.000Z","addedAt":"2026-10-21T22:32:00.902Z","logoUrl":"https://avatars.githubusercontent.com/u/112835087?u=f818a4c3ad95e3d4e00e2f97d2fd93b27ed3ed6e&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["communication"],"tags":[],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-27T20:55:10.416Z","sample":false,"url":"https://conduits.dev/tools/openclaw-upbit-skills","language":"TypeScript","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# 🪙 OpenClaw Upbit Trading Skill\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![OpenClaw](https://img.shields.io/badge/OpenClaw-2026.2.6-blue)](https://github.com/openclaw/openclaw)\n[![Upbit API](https://img.shields.io/badge/Upbit-API-green)](https://docs.upbit.com)\n\n> 💬 **Trade cryptocurrency with natural language!**\n>\n> An OpenClaw skill that enables conversational crypto trading on Upbit through Telegram, Discord, and WhatsApp.\n\n**English** | [한국어](./README.ko.md)\n\n![Demo](./examples/demo.gif)\n\n---\n\n## ✨ Features\n\n- 💰 **Balance Check**: \"show my wallet balance\" → Real-time balance\n- 📊 **Price Quotes**: \"Bitcoin price\" → Live market data\n- 🛒 **Buy Orders**: \"buy 50000 KRW worth of Dogecoin\" → Instant market buy\n- 💸 **Sell Orders**: \"sell all Ethereum\" → Liquidate holdings\n- 🤖 **AI-Powered**: Natural language understanding via Claude/GPT\n- 🔐 **Secure**: JWT HS256 authentication with Upbit API\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n- [OpenClaw](https://github.com/openclaw/openclaw) installed and running\n- [Upbit](https://upbit.com) account with API keys\n- Telegram/Discord/WhatsApp connected to OpenClaw\n\n### Installation\n\n**Step 1**: Clone this repository\n\n```bash\ncd ~/Desktop\ngit clone https://github.com/jh941213/openclaw-upbit-skills.git\ncd openclaw-upbit-skills\n```\n\n**Step 2**: Copy files to OpenClaw\n\n```bash\n# Copy source files\ncp -r src/* ~/path/to/openclaw/src/\ncp -r skills/* ~/path/to/openclaw/skills/\n```\n\n**Step 3**: Integrate the tool (add to `openclaw-tools.ts`)\n\n```typescript\n// In src/agents/openclaw-tools.ts\nimport { createUpbitTool } from \"./tools/upbit-tool.js\";\n\n// Add to tools array\ncreateUpbitTool(),\n```\n\n**Step 4**: Set up Upbit API keys\n\n```bash\n# Edit LaunchAgent plist\nvim ~/Library/LaunchAgents/ai.openclaw.gateway.plist\n```\n\nAdd to `<key>EnvironmentVariables</key>`:\n\n```xml\n<key>UPBIT_ACCESS_KEY</key>\n<string>your_upbit_access_key_here</string>\n<key>UPBIT_SECRET_KEY</key>\n<string>your_upbit_secret_key_here</string>\n```\n\n**Step 5**: Rebuild OpenClaw\n\n```bash\ncd ~/path/to/openclaw\npnpm install\npnpm build\n```\n\n**Step 6**: Restart Gateway\n\n```bash\npnpm openclaw gateway restart\n```\n\n### Get Upbit API Keys\n\n1. Login to [Upbit](https://upbit.com)\n2. Go to **My Page** → **Open API Management**\n3. Click **Generate API Key**\n4. Enable permissions:\n   - ✅ **View Assets** (required)\n   - ✅ **Place Orders** (required for trading)\n5. Copy **Access Key** and **Secret Key**\n\n## 💬 Usage\n\n### Example Conversations\n\n```\n👤 User: \"show my balance\"\n🤖 AI: 💰 Upbit Balance:\n       - KRW: ₩1,250,000\n       - BTC: 0.00523 (~₩554,000)\n       - ETH: 0.15 (~₩474,000)\n       Total: ₩2,278,000\n\n👤 User: \"what's the Bitcoin price?\"\n🤖 AI: 📊 KRW-BTC Current Price:\n       Price: ₩106,050,000\n       🔺 Change: +₩3,450,000 (+3.36%)\n       24h Volume: 2,415 BTC\n\n👤 User: \"buy 50000 KRW worth of Dogecoin\"\n🤖 AI: ✅ Buy Order Complete:\n       Market: KRW-DOGE\n       Amount: ₩50,000\n       Volume: ~344.83 DOGE\n       Order ID: abc-123-def-456\n\n👤 User: \"sell all my Bitcoin\"\n🤖 AI: ✅ Sell Order Complete:\n       Market: KRW-BTC\n       Volume: 0.00523 BTC\n       Estimated: ~₩554,000\n```\n\n### Supported Commands\n\n| Category | Commands |\n|----------|----------|\n| **Balance** | \"show balance\", \"how much BTC?\", \"my wallet\" |\n| **Price** | \"Bitcoin price\", \"BTC quote\", \"DOGE value\" |\n| **Buy** | \"buy 100000 KRW BTC\", \"purchase 50000 won DOGE\" |\n| **Sell** | \"sell all BTC\", \"sell 0.5 ETH\", \"liquidate DOGE\" |\n\n## 🏗️ Architecture\n\n```\n┌─────────────────────────┐\n│  Telegram/Discord/Whats │\n│  \"buy 100k KRW Bitcoin\" │\n└───────────┬─────────────┘\n            ↓\n┌─────────────────────────┐\n│  OpenClaw AI Agent      │\n│  (Claude/GPT)           │\n│  - NLU                  │\n│  - Intent detection     │\n└───────────┬─────────────┘\n            ↓\n┌─────────────────────────┐\n│  upbit_trading Tool     │\n│  - upbit-actions.ts     │\n│  - upbit-tool.ts        │\n└───────────┬─────────────┘\n            ↓\n┌─────────────────────────┐\n│  Upbit Client           │\n│  - JWT HS256 auth       │\n│  - REST API calls       │\n└───────────┬─────────────┘\n            ↓\n┌─────────────────────────┐\n│  Upbit API              │\n│  api.upbit.com          │\n└─────────────────────────┘\n```\n\n## 📁 File Structure\n\n```\nopenclaw-upbit-skills/\n├── README.md                    # This file\n├── README.ko.md                 # Korean documentation\n├── LICENSE                      # MIT License\n├── .gitignore\n├── src/\n│   ├── skills/\n│   │   ├── upbit-client.ts      # Upbit API client (JWT auth, REST calls)\n│   │   └── upbit-manual-tool.ts # Command parser & router\n│   └── agents/tools/\n│       ├── upbit-actions.ts     # OpenClaw action handler\n│       ├── upbit-tool.ts        # AI agent tool definition\n│       └── README.md            # Integration guide\n├── skills/\n│   └── upbit-manual-trading/\n│       ├── SKILL.md             # Skill metadata\n│       ├── README.md            # Skill documentation\n│       └── test-integration.ts  # Integration test\n├── docs/\n│   ├── installation.md          # Detailed installation guide\n│   └── troubleshooting.md       # Common issues & solutions\n└── examples/\n    ├── demo.gif                 # Demo video\n    └── screenshots/             # Usage screenshots\n```\n\n## 🛡️ Security\n\n- ✅ Environment variables for API keys (no hardcoding)\n- ✅ JWT HS256 secure authentication\n- ✅ LaunchAgent plist permissions (chmod 600)\n- ⚠️ **NEVER commit API keys to Git**\n- ⚠️ Regenerate keys immediately if exposed\n\n## ⚙️ Configuration\n\n### Trading Limits\n\n- Minimum order: ₩5,000\n- Fee: 0.05% (automatic)\n- Markets: KRW only (no BTC/USDT pairs)\n- Order type: Market orders only\n\n### API Rate Limits\n\n- 10 requests/second\n- 100 requests/minute\n- Automatically managed by Upbit client\n\n## 🧪 Testing\n\n```bash\ncd openclaw-upbit-skills\n\n# Set environment variables\nexport UPBIT_ACCESS_KEY=\"your_key\"\nexport UPBIT_SECRET_KEY=\"your_secret\"\n\n# Run integration test\nnpx tsx skills/upbit-manual-trading/test-integration.ts\n```\n\n## 🐛 Troubleshooting\n\n| Issue | Solution |\n|-------|----------|\n| \"Invalid digest\" | Check JWT signing (must be HS256) |\n| \"API keys not set\" | Verify environment variables in plist |\n| AI not using tool | Rebuild OpenClaw, restart gateway |\n| Buy/sell fails | Check balance, minimum ₩5,000 required |\n\nSee [docs/troubleshooting.md](./docs/troubleshooting.md) for more help.\n\n## 📚 Documentation\n\n- [Installation Guide](./docs/installation.md)\n- [Korean README](./README.ko.md)\n- [Upbit API Docs](https://docs.upbit.com)\n- [OpenClaw Docs](https://docs.openclaw.ai)\n\n## 🤝 Contributing\n\nContributions welcome! Please:\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing`)\n3. Commit changes (`git commit -m 'Add amazing feature'`)\n4. Push to branch (`git push origin feature/amazing`)\n5. Open a Pull Request\n\n## 📄 License\n\nMIT License - see [LICENSE](LICENSE) file for details\n\n## 👨‍💻 Author\n\n**Jaehyun Kim**\n- GitHub: [@jh941213](https://github.com/jh941213)\n- Company: KTDS\n- Email: jh941213@gmail.com\n\n## 🙏 Acknowledgments\n\n- [OpenClaw Team](https://github.com/openclaw/openclaw) - Amazing AI platform\n- [Upbit](https://upbit.com) - Cryptocurrency exchange API\n- [Anthropic](https://anthropic.com) - Claude AI\n\n## ⭐ Star History\n\nIf this project helps you, please give it a star! ⭐\n\n---\n\n**⚠️ Disclaimer**: This tool is for educational and personal use only. Cryptocurrency trading involves substantial risk. Users are solely responsible for any financial losses. Always trade responsibly and never invest more than you can afford to lose.\n"}