How to Set Up a VPS for Your Polymarket Bot
Running PolyBot on your personal computer works — but the moment you close your laptop lid, the bot stops trading. A Virtual Private Server (VPS) is a small cloud machine that runs 24/7 for as little as $4/month, keeping your bot active around the clock without tying up your local hardware. This guide walks through choosing a VPS, securing it, installing Docker, and deploying PolyBot — from zero to running in under 30 minutes.
Why Use a VPS for Your Polymarket Bot?
A trading bot is only as useful as its uptime. Missing a trade because your computer was asleep, your home internet went down, or you had to restart for a system update can cost real money. A VPS solves every one of those problems:
- True 24/7 uptime: Data-centre grade servers target 99.9%+ uptime. Your bot keeps running while you sleep, travel, or work.
- Stable, fast internet: VPS providers have gigabit connections with low latency to cloud APIs. The Polymarket CLOB API responds faster from a Frankfurt data-centre than from your home broadband.
- No impact on your machine: Docker on a VPS uses none of your local CPU or RAM. Your computer stays snappy.
- Easy remote management: SSH in from anywhere to check logs, update settings, or restart the bot — no physical access required.
- Low cost: A suitable server costs $4–$8/month — less than a single cup of coffee per week.
Best VPS Providers for Polymarket Bots
PolyBot requires a minimum of 1 GB RAM to run comfortably. If you plan to run both the Copy Bot and the 15-Minute AI Trader simultaneously, aim for 2 GB. Here's how the main providers stack up:
| Provider | Plan | Price | RAM | Verdict |
|---|---|---|---|---|
| Hetzner Cloud | CX22 | €3.79/mo | 2 GB | ✅ Best value |
| DigitalOcean | Basic Droplet | $6/mo | 1 GB | ✅ Easiest setup |
| Vultr | Cloud Compute | $2.50/mo | 512 MB | ⚠️ Too small for both bots |
| AWS Lightsail | Nano | $3.50/mo | 512 MB | ⚠️ Minimum spec only |
| Contabo | VPS S | €5.99/mo | 8 GB | ✅ Overkill but great if scaling |
Our recommendation: Hetzner Cloud CX22. For under €4/month you get 2 vCPUs, 2 GB RAM, and 40 GB SSD storage — enough to comfortably run both PolyBots with headroom to spare. Hetzner's EU data centres also offer excellent latency to the Polymarket API infrastructure. DigitalOcean is a close second if you prefer a more polished control panel and are willing to pay a small premium.
Step-by-Step: Creating Your VPS
1. Create Your Account
Sign up at hetzner.com/cloud (or digitalocean.com). Both require email verification and a payment method.
2. Create a Server
In the Hetzner Cloud Console:
- Click Add Server
- Location: pick the region closest to you (or Frankfurt for EU)
- Image: Ubuntu 22.04 LTS (long-term support, widely compatible)
- Type: CX22 (2 vCPU / 2 GB RAM)
- Storage: default 40 GB SSD is fine
3. Add an SSH Key
Before creating the server, add your SSH public key so you can connect securely without a password. On your local machine, generate one if you don't have it:
ssh-keygen -t ed25519 -C "polybot-vps"
cat ~/.ssh/id_ed25519.pub
Paste the output into the SSH key field in the Hetzner console, then create the server.
4. Connect to Your Server
Once the server is created (takes ~30 seconds), copy the IP address from the console and connect:
ssh root@YOUR_SERVER_IP
You're now inside your VPS. Time to secure it.
Securing Your VPS
A publicly accessible server needs basic hardening before you deploy anything. These steps take under 5 minutes and dramatically reduce your attack surface.
Update All Packages
apt update && apt upgrade -y
Configure UFW Firewall
Only allow traffic on the ports you actually need:
ufw allow 22 # SSH
ufw allow 8080 # PolyBot Copy Bot UI
ufw allow 8081 # PolyBot 15M Trader UI (if running both)
ufw enable
Confirm the firewall is active:
ufw status
Install Fail2Ban
Fail2ban automatically blocks IPs that repeatedly fail SSH login attempts:
apt install fail2ban -y
systemctl enable fail2ban
systemctl start fail2ban
Create a Non-Root User
Running everything as root is a security risk. Create a dedicated user for PolyBot:
adduser polybot
usermod -aG sudo polybot
Switch to the new user for all subsequent steps:
su - polybot
Installing Docker on Ubuntu
PolyBot runs inside Docker containers, which means you don't need to install Python, Node, or any other runtime dependencies manually. Docker handles all of it.
Install Docker using the official convenience script:
curl -fsSL https://get.docker.com | sh
Enable Docker to start automatically on reboot:
sudo systemctl enable docker
sudo systemctl start docker
Add your user to the Docker group so you can run Docker commands without sudo:
sudo usermod -aG docker $USER
newgrp docker
Verify the installation:
docker --version
docker compose version
Both commands should return version numbers. If they do, Docker is ready.
Deploying PolyBot on Your VPS
With Docker installed, deploying PolyBot takes just a few commands. After purchasing, you'll receive a download link and a docker-compose.yml file in your PolyBot package.
1. Create the PolyBot Directory
mkdir ~/polybot && cd ~/polybot
2. Upload Your docker-compose.yml
Transfer the file from your local machine using SCP:
# Run this on your LOCAL machine, not the VPS
scp /path/to/docker-compose.yml polybot@YOUR_VPS_IP:~/polybot/
Or use nano on the VPS to paste the contents directly:
nano docker-compose.yml
# Paste the contents, then press Ctrl+X, Y, Enter to save
3. Start PolyBot
docker compose up -d
The -d flag runs containers in detached mode (background). Docker will pull the PolyBot image and start the service.
4. Open the Setup Wizard
Open your browser and navigate to:
http://YOUR_VPS_IP:8080
The PolyBot Setup Wizard will guide you through entering your Polymarket API key, selecting wallets (for Copy Bot), and configuring risk parameters. Your API key is stored locally on the VPS and never transmitted to PolyBot servers.
Get PolyBot and Deploy Today
Both bots include a docker-compose.yml and Setup Wizard. No manual configuration required. Paper mode lets you test risk-free before going live.
Keeping the Bot Running Reliably
Docker Restart Policy
Make sure your docker-compose.yml includes a restart policy so PolyBot comes back up automatically if the server reboots or Docker crashes:
services:
polybot-copy:
image: polybot/copy-bot:latest
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- ./data:/app/data
The unless-stopped policy means the container will restart automatically unless you explicitly stop it with docker compose stop.
Monitoring with Docker Commands
Check that your containers are running:
docker ps
View live logs from PolyBot:
docker logs polybot-copy --follow
Restart a container after a config change:
docker compose restart
Free Uptime Monitoring with UptimeRobot
Set up a free monitor at uptimerobot.com to ping your VPS every 5 minutes and email you if it goes down. The free plan supports up to 50 monitors and is more than sufficient for this purpose. Point it at http://YOUR_VPS_IP:8080 — if PolyBot's web UI stops responding, you'll get an alert within minutes.
Running Both Bots on One VPS
If you've purchased the Full Bundle ($99.99), you can run both the Copy Bot and the 15-Minute AI Trader on the same VPS — no extra servers needed. They run as separate Docker containers on different ports:
- Copy Bot: port 8080 →
http://YOUR_VPS_IP:8080 - 15M AI Trader: port 8081 →
http://YOUR_VPS_IP:8081
Your docker-compose.yml for the bundle will define both services. A 2 GB RAM VPS (Hetzner CX22 at €3.79/mo) handles both bots simultaneously with RAM to spare. The two bots operate independently with separate API keys, risk configurations, and web dashboards.
Remember to open both ports in your firewall:
ufw allow 8080
ufw allow 8081
Frequently Asked Questions
Hetzner Cloud CX22 (2 vCPU, 2 GB RAM, ~€3.79/mo) is the best value option for running PolyBot. DigitalOcean is slightly more expensive but offers an easier interface for beginners. The minimum RAM requirement is 1 GB; 2 GB is recommended if you plan to run both bots simultaneously.
A suitable VPS for running PolyBot costs between $4 and $8 per month. Hetzner starts at around €3.79/month and is widely considered the best value in this segment. DigitalOcean's basic droplet is $6/month. This recurring cost is small compared to the bot's one-time purchase price and is tax-deductible as a business expense in most jurisdictions.
Yes. The Copy Bot (port 8080) and the 15-Minute AI Trader (port 8081) can both run on the same VPS using a single docker-compose.yml file. A VPS with 2 GB RAM is sufficient for both bots running simultaneously. This keeps your server cost at a single monthly fee while operating both strategies in parallel.
Basic comfort with copy-pasting terminal commands is enough. You don't need to be a Linux expert. The process involves: creating a server account, connecting via SSH, running about a dozen commands to install Docker and configure security, and deploying PolyBot with docker compose up -d. The entire process takes 20–30 minutes for a first-timer and is well-documented in PolyBot's Quick Start guide.