Cryptocurrency trading has evolved rapidly, and automation is now a cornerstone of successful strategies. Among the many tools available, the Gekko trading bot stands out as a powerful, open-source solution for traders seeking full control over their automated systems—without paying subscription fees. This guide walks you through everything you need to know about setting up, configuring, and using Gekko effectively for backtesting, paper trading, and live execution.
What Is the Gekko Trading Bot?
The Gekko trading bot is an open-source cryptocurrency trading platform built with Node.js. Developed by Mike van Rossum and hosted on GitHub, it enables users to automate trades across 18+ major exchanges including Binance, Kraken, Bitfinex, and Poloniex.
Unlike high-frequency or arbitrage bots, Gekko focuses on technical analysis-based strategies, executing only a few trades per day based on user-defined indicators. It's ideal for traders who want transparency, customization, and long-term strategy development.
Gekko supports three core functions:
- Backtesting: Test your strategy against historical market data to evaluate performance.
- Paper Trading: Run real-time simulations using live data without risking capital.
- Live Trading: Execute actual trades with connected exchange accounts.
With a browser-based UI, Gekko offers accessibility while maintaining technical depth. However, initial setup requires basic command-line knowledge and server configuration—especially if you're deploying it on a cloud environment for 24/7 operation.
👉 Discover how automated trading can enhance your strategy—explore powerful tools today.
Why Use a VPS for Gekko?
While Gekko can run locally on your personal computer, doing so comes with limitations: downtime during reboots, internet outages, or system updates. For uninterrupted trading, a Virtual Private Server (VPS) is the preferred choice.
A VPS ensures your bot runs continuously in a secure data center. Most budget-friendly options start at around $5/month, making them cost-effective for long-term use.
When selecting a VPS provider, prioritize reliability, low latency, and Linux support. Ubuntu 18.04 LTS is recommended for compatibility with Gekko’s dependencies.
Ensure you choose an unmanaged VPS so you retain full control over software installation and configuration.
Setting Up Your Domain for Secure Access
To access Gekko securely via HTTPS, you’ll need a custom domain. Domains can be purchased from registrars like Namecheap for under $2/year.
After purchase:
- Log into your domain dashboard.
- Create an A record pointing to your VPS IP address.
- Save changes—DNS propagation typically takes under an hour.
This domain will serve as your secure gateway to the Gekko interface, ensuring encrypted communication—especially important when handling API keys.
Configuring the VPS Server
Secure remote access to your server is achieved through SSH (Secure Shell). On macOS or Linux, use the terminal; on Windows, use PuTTY or Windows Subsystem for Linux (WSL).
Once logged in:
sudo apt-get updateUpdate your package list to ensure smooth installations.
Install Nginx Web Server
Nginx acts as a reverse proxy, routing traffic securely to Gekko’s internal port (3000). Install it with:
sudo apt-get install nginxStart the service:
sudo service nginx startVisit your domain in a browser. If you see the Nginx welcome page, installation succeeded.
Stop Nginx before configuring SSL:
sudo service nginx stopEdit Nginx Configuration
Open the config file:
sudo nano /etc/nginx/sites-enabled/defaultReplace the default server block with:
listen 80;
listen [::]:80;
return 301 https://$server_name$request_uri;Set your domain:
server_name yourdomain.com;Add the reverse proxy setup at the end:
upstream websocket {
server localhost:3000;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
root /var/www/html;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
location / {
proxy_buffers 8 32k;
proxy_buffer_size 64k;
proxy_pass http://websocket;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400s;
proxy_send_timeout 86400s;
auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd;
}
}Save with CTRL+X, then Y.
Securing Gekko with SSL Certificates
Security is critical—especially when storing exchange API keys. Use Let’s Encrypt to obtain a free SSL certificate.
First, install OpenSSL:
sudo apt-get install opensslCreate a self-signed cert placeholder:
sudo mkdir /etc/nginx/ssl
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crtInstall Certbot:
sudo apt-get install certbotObtain the signed certificate:
sudo certbot certonly --standalone -d yourdomain.comUpdate the Nginx config again:
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
add_header Strict-Transport-Security "max-age=31536000";Restart Nginx:
sudo service nginx startYou should now be prompted for login credentials when visiting your domain—confirming secure access is active.
Installing Node.js and NPM
Gekko runs on Node.js, so version compatibility is essential. Ubuntu’s default Node version may be outdated.
Check current version:
nodejs -vIf below v8.11.2, upgrade using NodeSource:
cd ~
curl -sL https://deb.nodesource.com/setup_8.x -o nodesource_setup.sh
sudo bash nodesource_setup.sh
sudo apt-get install nodejsInstall NPM (Node Package Manager):
sudo apt-get install npmYou’re now ready to install Gekko.
Installing the Gekko Trading Bot
Clone the stable version from GitHub:
git clone git://github.com/askmike/gekko.git -b stable
cd gekkoInstall production dependencies:
npm install --only=productionInstall exchange-specific dependencies:
cd exchange
npm install --only=productionConfigure the UI to work over HTTPS:
Edit /gekko/web/vue/dist/UIconfig.js:
const CONFIG = {
headless: true,
api: { host: "127.0.0.1", port: 3000 },
ui: { ssl: true, host: "yourdomain.com", port: 443, path: "/" },
adapter: "sqlite",
};Replace yourdomain.com with your actual domain.
Running Gekko 24/7 with Screen
Running node gekko --ui starts the bot—but closing SSH stops it. To keep it running permanently, use GNU Screen:
Install Screen:
sudo apt-get install screenStart a session:
screenLaunch Gekko:
node gekko --uiDetach with CTRL+A, then D.
Reattach later with:
screen -rYour bot now runs uninterrupted—even after logout.
Using Gekko: Backtest, Paper Trade, Live Trade
Gekko empowers traders through structured progression:
1. Backtesting
Use historical data from supported exchanges (Binance, Kraken, etc.) to test strategies. Import data directly within Gekko or use plugins.
Supported technical indicators include:
- EMA (Exponential Moving Average)
- MACD (Moving Average Convergence Divergence)
- RSI (Relative Strength Index)
- CCI (Commodity Channel Index)
- PPO (Percentage Price Oscillator)
- DEMA (Double EMA)
- TSI (True Strength Index)
- LRC (Linear Regression Channel)
Combine these into custom logic for buy/sell signals.
2. Paper Trading
Test strategies in real-time with simulated funds. Accessible via the “Live Gekko” tab. Adjust parameters based on observed behavior before going live.
3. Live Trading
Connect your exchange account via API keys (with trade permissions only). Start small and monitor performance closely.
👉 Learn how top traders optimize their automated systems—get ahead with advanced insights.
Extending Gekko with Plugins and Custom Code
Gekko’s true power lies in extensibility.
Available plugins (in /plugins) allow:
- Email/SMS alerts
- Telegram notifications
- Data export to Google Sheets
- Advanced logging
For developers:
- Add new exchanges via API integration.
- Build custom strategies using Python or external libraries.
- Integrate machine learning models like Japonicus, which uses genetic algorithms to evolve profitable strategies.
This flexibility makes Gekko ideal for both beginners and advanced coders.
Frequently Asked Questions (FAQ)
Is Gekko completely free?
Yes. Gekko is open-source and free to use. No hidden fees or subscriptions.
Can Gekko guarantee profits?
No. Like any trading tool, success depends on strategy quality and market conditions. Always practice risk management.
Does Gekko support all crypto exchanges?
It supports over 18 exchanges including Binance, Kraken, Bitstamp, and Poloniex. New ones can be added via custom development.
How secure is running Gekko on a VPS?
Very secure when configured properly—with SSL encryption, password protection, and firewall rules limiting access.
Do I need coding skills to use Gekko?
Basic usage doesn’t require coding, but advanced customization (e.g., new indicators or exchanges) does involve JavaScript/Node.js knowledge.
Can I run multiple instances of Gekko?
Yes. You can run multiple bots with different strategies by launching separate screen sessions or Docker containers.
👉 See how seamless crypto automation can be—start exploring cutting-edge platforms now.
Final Thoughts
The Gekko trading bot is more than just a free alternative—it's a transparent, customizable foundation for serious crypto traders. Whether you're backtesting strategies, simulating trades, or automating live execution, Gekko gives you full control without vendor lock-in.
While setup demands technical effort, the payoff is a reliable, private, and extensible trading engine that evolves with your skills.
Remember: automation amplifies strategy—but doesn’t replace sound judgment. Trade wisely, test thoroughly, and never risk more than you can afford to lose.
Keywords: Gekko trading bot, free crypto trading bot, cryptocurrency trading automation, Node.js trading bot, backtest crypto strategy, technical analysis bot, open-source trading tool