How to Deploy an AI Crypto Trading Bot on Your VPS

How to Deploy an AI Crypto Trading Bot on Your VPS
In this tutorial you’ll deploy an AI crypto trading bot to your own VPS — the open-source Claude-powered bot from Part 1 — and have it analysing BTC and ETH on Binance testnet, messaging you on Telegram, in about 20–30 minutes. I’ll give you the exact steps, a complete list of the API keys you need, an honest running-cost breakdown, and every gotcha I hit so you don’t lose an evening to them.
⚠️ Start on testnet. Everything below uses Binance testnet (fake money). Never point live keys at a bot you haven’t watched run for weeks. This is educational content, not financial advice.
Prerequisites
Before you deploy the AI crypto trading bot, get these ready:
- A VPS running Ubuntu 22.04 or 24.04. To run the bot, 2 vCPU / 4 GB RAM is plenty. To train the ML model, more RAM helps — or train it on your laptop and copy the model file over (more below).
- Python 3.12 and MySQL 8 on the server.
- Accounts and API keys (the next section is a full table).
- Basic comfort with SSH and the command line.
The API keys you’ll need
This trips people up, so here’s everything in one place:
| Key | Where to get it | Notes |
|---|---|---|
| Anthropic API key | console.anthropic.com | Enable billing — the free tier won’t sustain continuous calls. |
| Binance API key + secret | Binance testnet: testnet.binance.vision | For live later: spot-only, no withdrawal, IP-restricted. |
| Telegram bot token | @BotFather | Create a bot, copy the token. |
| Telegram chat ID | @userinfobot | Your personal chat ID — the bot only talks to you. |
| CoinGecko API key | coingecko.com/api | Free tier is fine. |
Step 1: Set Up the Server
SSH into your VPS and install the essentials:
sudo apt update && sudo apt install -y python3.12 python3.12-venv python3-pip mysql-server libomp-dev
# Create the database
sudo mysql -e "CREATE DATABASE crypto_bot;"
sudo mysql -e "CREATE USER 'crypto_bot'@'localhost' IDENTIFIED BY 'your-strong-password';"
sudo mysql -e "GRANT ALL ON crypto_bot.* TO 'crypto_bot'@'localhost';"Step 2: Clone and Install the Bot
Clone the repo and run the install script, which sets up the Python virtual environment, installs dependencies, and registers a systemd service that auto-restarts on crash:
git clone https://github.com/dineshstack/crypto_bot.git
cd crypto_bot
bash deploy/install.shStep 3: Configure Your API Keys
Copy the example environment file and fill in the keys from the table above. Never commit this file — it’s git-ignored for a reason.
cp .env.example .env
nano .envANTHROPIC_API_KEY=sk-ant-...
BINANCE_API_KEY=your_testnet_key
BINANCE_SECRET=your_testnet_secret
TELEGRAM_BOT_TOKEN=your_bot_token
TELEGRAM_CHAT_ID=your_chat_id
MYSQL_PASSWORD=your-strong-password
TESTNET=true # keep this trueStep 4: Train the ML Model
The bot ships without a trained model — you train it once on historical data. This is the only CPU/RAM-heavy step:
source venv/bin/activate
python3 -c "import ml_signal, market_data as md; ml_signal.train_model(md.get_exchange())"💡 Low-RAM VPS? Run this same command on your laptop, then copy the generated
ml_models/folder to the server withscp. The bot’s runtime is light; only training is hungry.
Step 5: Start the Bot and Connect Telegram
sudo systemctl start crypto-bot
sudo systemctl enable crypto-bot # auto-start on rebootNow open Telegram, find your bot, and send /start. Within a few minutes you’ll get your first analysis message. Useful commands: /status, /analyze, /performance, /history.
Adding the Dashboard (Optional)
The bot is fully functional headless, but the Next.js dashboard is where you see why it does everything. It’s a separate app (plus a Laravel API for auth and role-based access) served behind nginx. The full stack is: bot → Laravel API (php-fpm) → Next.js dashboard (PM2) → nginx reverse proxy with SSL. It’s more involved than the bot itself, so I’m keeping the deep detail in the repo’s deployment docs rather than bloating this post.
🛠️ Wanted: a one-command
docker compose upfor the whole stack is on the roadmap. If you’d enjoy building it, it’s the single highest-impact contribution right now — open an issue and let’s talk.
What It Costs to Run
Nobody tells you this, and it’s the reason people abandon self-hosted bots. Realistic monthly cost:
- VPS: ~$5–$12/month for a 2 vCPU / 4 GB box.
- Anthropic API: the 4-hour loop uses cheap Claude Haiku, so the base cost is low; the weekly deep reviews and any research/report generation use pricier models. Budget a small, predictable amount and watch it for the first week.
- Everything else (Binance testnet, CoinGecko free tier, Telegram): free.
The takeaway: cheap to run in testnet, but the Anthropic bill scales with how often you trigger the heavy AI features — so keep an eye on it.
Common Mistakes (Gotchas I Hit)
- The update script doesn’t pull.
deploy/update.shreinstalls and restarts but doesn’tgit pull— rungit pullyourself first. - Laravel defaults to SQLite. If you add the dashboard, its API must use
DB_CONNECTION=mysqlpointed at the bot’s database, or the dashboard shows no data. - Run the migrations and seeder. The dashboard’s roles and admin user come from
php artisan migrate+db:seed— skip it and login breaks. - Exchange minimums. Binance rejects orders under a $5 minimum notional — the bot handles this now, but it’s the classic “why did my trade fail at $0” trap.
- The weekly review is quiet at first. It stays dormant until there are 7 days of trades to review. That’s expected, not a bug.
You’re Live — Now What?
You’ve deployed an AI crypto trading bot that analyses the market every four hours, explains its reasoning, and asks before it trades. Let it run on testnet for a couple of weeks and watch the /performance numbers accumulate before you even think about real money.
🎉 Got it running? I’d love to see it — drop a comment or a screenshot. And if this guide saved you time:
⭐ Star the repo on GitHub
☕ Support the project on Ko-fi (it covers the API and server costs that keep it running)

Related posts
- Part 1 — How I Built an AI Crypto Trading Bot with Claude AI
- Part 3 — How to Contribute to the Project
Tags: AI Crypto Trading Bot, VPS Deployment, Self-Hosting, Binance, DevOps
Disclaimer: For educational and research purposes only. Not financial advice, not a solicitation to trade. Cryptocurrency trading carries substantial risk of loss. Always start on testnet and never trade money you can’t afford to lose.
Frequently Asked Questions
How much does it cost to run?
Do I need a powerful server?
Is it safe to run with real money?
Senior Full Stack Developer · Building SaaS products & teaching Laravel/React · 10+ years experience · Founder of Orion360 · Based in Dubai, UAE.
Was this post helpful?
Reviews & Ratings
Sign in to leave a review.

