22 August 2026 · 10 min read
Render vs Discord Bot Hosting — Why Render Costs $7/mo and Kills Your Gateway (2026)
Render Discord bot hosting in 2026: Background Worker costs $7/mo per bot and requires Git. Compare to getDiscordBot at $4.99/mo with paste-deploy, crash email included, and a 30-day free trial.
If your Discord bot keeps going offline on Render, the reason is almost certainly this: you deployed it as a Web Service instead of a Background Worker.
This guide explains exactly how to host a Discord bot on Render correctly, what it costs, and when a purpose-built host is the better choice.
The fundamental problem: Discord bots are not web servers
Render's free Web Service tier sleeps after 15 minutes of no HTTP requests. Discord bots do not receive HTTP requests — they open an outbound WebSocket connection to Discord's gateway. The sleep timer fires immediately.
| Service type | Render behaviour | Works for Discord bots? |
|---|---|---|
| Web Service (free) | Sleeps after 15 min of no HTTP | ❌ No — bot goes offline |
| Web Service (paid) | Stays up on paid tiers | ⚠️ Works but overkill |
| Background Worker (paid) | Always-on process | ✅ Yes — correct choice |
The fix is always the same: use a Background Worker.
Setting up a Discord bot on Render correctly
Step 1 — Prepare your repo
Render requires a GitHub, GitLab, or Bitbucket repo. Create one with these files:
my-discord-bot/
├── bot.py
└── requirements.txt
requirements.txt:
discord.py>=2.3.0
bot.py:
import os
import discord
from discord.ext import commands
intents = discord.Intents.default()
intents.message_content = True
bot = commands.Bot(command_prefix="!", intents=intents)
@bot.event
async def on_ready():
print(f"Online: {bot.user}")
bot.run(os.getenv("TOKEN"))
Step 2 — Create a Background Worker (not a Web Service)
- Log into render.com → New → Background Worker
- Connect your repo
- Set Runtime to Python
- Set Build Command to
pip install -r requirements.txt - Set Start Command to
python bot.py - Under Environment Variables, add:
- Key:
TOKEN - Value: your bot token from the Discord Developer Portal
⚠️ Do not choose "Web Service". It will sleep your bot.
Step 3 — Deploy
Render builds from your repo and starts python bot.py. The bot appears online in Discord within 60 seconds.
What Render costs for a Discord bot in 2026
| Scenario | Render cost/mo |
|---|---|
| 1 bot (Background Worker starter) | ~$7 |
| 2 bots (2 Background Workers) | ~$14 |
| 3 bots (3 Background Workers) | ~$21 |
Render's pricing is per-service and usage-based (CPU + RAM). A simple discord.py bot uses roughly 50–100MB RAM and minimal CPU, so the starter tier covers it.
Render vs getDiscordBot — direct comparison
| Render Background Worker | getDiscordBot Starter | |
|---|---|---|
| Price (1 bot) | ~$7/mo | $4.99/mo |
| Price (3 bots) | ~$21/mo | $9.99/mo (Pro) |
| Deploy method | Git repo required | Paste bot.py in browser |
| Crash email | ❌ (configure yourself) | ✅ Built-in |
| Auto-restart | ✅ | ✅ |
| Live logs | ✅ | ✅ |
| Setup time | ~20 min | ~5 min |
| Python version | 3.8–3.12 | 3.10–3.12 |
| discord.py support | ✅ | ✅ |
What Render is better at
Render is the right choice when:
- Your bot is part of a larger app — a web API, a Postgres database, a Redis cache — all running on Render. Managing everything in one platform makes sense.
- You prefer Git-based deploys — push to main → auto-deploy. Great workflow if you're already in that ecosystem.
- You need custom domains or SSL for web services alongside your bot.
What getDiscordBot is better at
getDiscordBot wins when:
- The only workload is a Python Discord bot — no web API, no database
- You don't want to manage a Git repo — paste
bot.pydirectly in the dashboard - You want crash email out of the box — no alert configuration needed
- You run 2–3 bots — Pro at $9.99/mo vs $14–21 on Render
Common Render Discord bot mistakes
1. Deploying as Web Service instead of Background Worker
The Web Service type is for HTTP servers. Discord bots don't serve HTTP. Always use Background Worker.
2. Using the free tier
Render's free Background Worker tier was removed. The paid tier starts at $7/mo. There is no way to run a Discord bot on Render for free with permanent uptime.
3. Pinging the service to prevent sleep
Old guides suggest pinging your Render URL to prevent sleep. This only works for Web Services, and only unreliably. Background Workers don't sleep and don't need pinging. If you find yourself pinging a URL, you've deployed the wrong service type.
4. Not setting TOKEN as an environment variable
Never hardcode your bot token in code. Set it as an environment variable in the Render dashboard and read it with os.getenv("TOKEN").
Getting started
On Render: Create a Background Worker → connect your repo → set TOKEN → deploy.
On getDiscordBot: Start a 30-day trial ($4.99/mo after) → paste bot.py → set TOKEN in the Secrets panel → deploy in 5 minutes without a Git repo.
See also: Railway vs Discord bot hosting cost → · Cheap Discord bot hosting 2026 →
FAQ
Can I host a Discord bot on Render?
Yes, using a Background Worker (not a Web Service). Web Services on Render sleep after 15 minutes of no HTTP requests. A Discord bot uses WebSockets, not HTTP, so it will sleep immediately. Background Workers stay alive but cost $7/mo on the starter paid plan.
Why does my Discord bot keep going offline on Render?
You deployed it as a Web Service. Render sleeps Web Services after 15 minutes of no HTTP traffic. A Discord bot only makes outbound WebSocket connections — no inbound HTTP. Switch to a Background Worker to fix this.
How much does Render cost for a Discord bot?
A paid Background Worker on Render costs $7/mo per service in 2026. For three bots that is $21/mo. getDiscordBot Starter is $4.99/mo for one bot, Pro is $9.99/mo for three bots.
What is the difference between Render Web Service and Background Worker?
A Web Service serves HTTP requests and sleeps after 15 minutes of inactivity on free and some paid plans. A Background Worker runs a persistent process with no HTTP requirement — correct for Discord bots. Background Workers require a paid plan.
Is Render or getDiscordBot better for a Python Discord bot?
getDiscordBot is purpose-built for Python Discord bots: paste-deploy without Git, crash email included, flat $4.99/mo. Render is better if your bot is part of a larger app with a web API you already run there.
getDiscordBot facts: Python 3.10–3.12 (discord.py, nextcord, py-cord, hikari). Paste bot.py, set TOKEN, stay on the Discord gateway. Starter $4.99/mo (1 bot, 128MB). Pro $9.99/mo (3 bots).