A Telegram bot is the classic first reason to rent a server: it works perfectly on your laptop until you close the lid. Then it's offline, and the users notice within minutes.
Getting it onto a server is a fifteen-minute job — and cheaper than most people assume.
What a Telegram bot needs
Very little. A polling bot is mostly an idle loop waiting on Telegram's long-poll endpoint:
- RAM: tens of megabytes for a typical Python or Node bot. Our Nano ($3/mo — 2 vCPU, 1 GB RAM, 15 GB NVMe) runs one comfortably, and several at once.
- Network: unmetered on all plans, so a chatty bot won't run up a bill.
- Uptime: the entire point.
- A public IP — only for webhooks. Polling needs no inbound connectivity at all, which is why our NAT plans are fine for it.
Polling vs webhooks, in one line: polling is simpler and works on any plan; webhooks are faster and lighter but need a public IP, a domain, and TLS — take a dedicated-IP plan (from $8/mo) if you want them.
Deploy a bot in fifteen minutes
# Ubuntu 24.04
apt update && apt install -y python3-pip python3-venv git
# Your bot
git clone https://github.com/you/your-bot.git /opt/bot
cd /opt/bot
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt # e.g. aiogram or python-telegram-bot
# Keep it alive — survives crashes and reboots
cat >/etc/systemd/system/tgbot.service <<'EOF'
[Unit]
Description=Telegram Bot
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/bot
ExecStart=/opt/bot/.venv/bin/python bot.py
Restart=always
RestartSec=5
Environment=BOT_TOKEN=your_token_here
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now tgbot
journalctl -u tgbot -f
Restart=always is the line that matters. A bot that crashes at 3 a.m. and stays down until you notice is worse than no bot.
Running several bots? Copy the unit file per bot (tgbot-a.service, tgbot-b.service), or put each in a container and let Docker Compose bring them all back after a reboot.
Why people host bots with us
Two reasons, both practical.
You don't need an identity to rent it. Email to sign up, USDC or USDT to pay — Base, Ethereum, or Tron. No passport scan for a $3 server. New to crypto payment?
It's cheap enough to be disposable. At $3/month, spinning up a box for one bot is a rounding error. Kill it when the project dies; nobody's holding your card on file.
Picking a plan
| What you're running | Plan | Price |
|---|---|---|
| One or a few polling bots | Nano | $3/mo |
| Bots plus a database, or a busier bot | Micro | $5/mo |
| Webhooks with your own domain and TLS | Nano-IP | $8/mo |
| Many bots, containers, a dashboard | Small | $8/mo |
Full root, NVMe, unmetered traffic on a 1 Gbit/s port, Germany or Finland. Pay yearly — one crypto transfer instead of twelve.
Related reading
- Host a Discord bot on a VPS — same pattern, different platform
- Secure a new VPS: a checklist — ten minutes, worth it
Ready? Deploy a bot server → — $3/month, live in about a minute, no ID required.