Free Telegram bot hosting, webhook or 24/7
Telegram bots run one of two ways, and both work here for free, on your own Linux server with root:
- Webhook — Telegram calls your HTTPS URL. Every server gets an HTTPS subdomain, and an idle server wakes on the next update, so a webhook bot runs on the free tier without any signup.
- Long polling — the bot asks Telegram for updates in a loop, so it must run nonstop. With a verified phone a 512 MB server runs 24/7 inside the free monthly credit.
What you get
- HTTPS out of the box — a valid certificate on your subdomain, ready for
setWebhook. - Any framework — aiogram, python-telegram-bot, pyTelegramBotAPI, Telegraf, grammY, node-telegram-bot-api.
- Auto-restart — started from
/root/run.sh, restarted on crash. - Token stays secret — in
/root/.env, not in your code. - Storage that persists — SQLite, PostgreSQL or files for user state, kept across restarts and sleep.
- No credit card, no dashboard — your coding agent deploys and updates the bot.
Host a Telegram bot in four steps
- Create the bot with @BotFather. Send /newbot to @BotFather in Telegram and copy the bot token.
- Ask your coding agent to host it. Paste the prompt: your agent reads SKILL.md, creates a server with one HTTP call and copies the bot over SSH.
- Pick webhook or polling. A webhook bot gets an HTTPS URL and can run on the free tier without signup; a polling bot runs on an always-on server.
- Keep the token out of the code. The agent stores TELEGRAM_BOT_TOKEN in /root/.env and the bot starts from /root/run.sh with auto-restart.
Prompts you can paste
Fetch thevibehosting.com/SKILL.md, deploy my Telegram bot as a webhook on the HTTPS URL and call setWebhook
Fetch thevibehosting.com/SKILL.md and run my aiogram bot there 24/7 with long polling, token in an env file
Host my Telegram bot and its Mini App frontend on the same server over HTTPS
Free tier and limits
| Anonymous (no signup) | Verified (phone) | |
|---|---|---|
| Free credit, every month | $0.90 | $2.25 — a 512 MB server runs 24/7 free |
| RAM per server | up to 256 MB | up to 2 GB (4 GB once you hold paid credit) |
| CPU | up to 2 cores, always free | |
| Always-on (never sleeps) | no — sleeps when idle, wakes on the next request | yes, optional per server |
| Your own domain | no | yes, up to 3 per server, HTTPS automatic |
| Servers | 2 per network | unlimited |
| Credit card | never required to start | |
After the free credit: RAM $0.005 per GB-hour while the server is awake, outbound traffic $0.10/GB, disk $0.25 per GB-month. No plans, no reserved sizes — you pay for what actually runs.
Webhook or polling?
| Webhook | Long polling | |
|---|---|---|
| Needs HTTPS URL | yes — included | no |
| Runs without signup | yes, wakes on each update | needs always-on (verified, free) |
| First reply after idle | a few seconds while the server wakes | instant |
| Best for | low-traffic and personal bots | busy bots, games, schedulers |
Also running a Discord bot? See free Discord bot hosting. Background: host a Discord or Telegram bot 24/7.
FAQ
Is Telegram bot hosting here free?
Yes. A webhook bot runs on the free tier with no signup; a polling bot runs 24/7 on a 512 MB always-on server covered by the $2.25 monthly credit you get with a verified phone. No credit card.
Do I need HTTPS for a Telegram webhook?
Yes, and every server here has an HTTPS subdomain with a valid certificate, so setWebhook works right away.
Can my Telegram bot run 24/7?
Yes. Mark the server always-on (verified accounts) and run the bot with long polling; it starts from /root/run.sh and restarts on crash.
Which libraries work?
Any: aiogram, python-telegram-bot, pyTelegramBotAPI, Telegraf, grammY and others — it is a full Ubuntu server.
Where does the bot token go?
Into /root/.env on the server, written by your agent. Keep it out of your code and repository.
Try it: paste this to Claude Code, Cursor or Codex.