Host a Pycord bot

Pycord runs on HostDC on Python 3.12 and 3.13, online 24/7, on a free plan with a 256 MB RAM pool, 0.5 CPU and 512 MB storage. It installs and starts exactly like discord.py, because it is the same runtime and the same package manager.

Three steps

1. Bring your project. Two files are enough:

requirements.txt
main.py
import os
import discord

bot = discord.Bot()


@bot.event
async def on_ready():
    print(f"Logged in as {bot.user}")


@bot.slash_command(description="Check the bot is alive")
async def ping(ctx):
    await ctx.respond("pong")


bot.run(os.environ["DISCORD_TOKEN"])

Pin py-cord in your requirements.txt. Installing it and discord.py into one project breaks the discord import.

2. Add your token on the Secrets tab. We store it AES-256-GCM encrypted and inject it as DISCORD_TOKEN.

3. Press Deploy. We install your requirements and run python main.py, with the console streaming live.

Limits you should know

The free plan gives a 256 MB RAM pool, 0.5 CPU and 512 MB storage, and needs reactivating weekly. Mini, Lite, Pro and Max are the paid plans: Lite is $1.69 a month and Pro is $2.49 a month. The pricing page lists what each one changes. A bot can't play audio itself: use a Lavalink client with the Lavalink server Pro and Max host for you, one Lite can add, or one you run elsewhere on Free and Mini.

Last updated 2026-09-06

FAQ

Can I run Pycord and discord.py in the same project?

No. Both provide the discord package, so whichever installs last wins and imports break in confusing ways.

Do slash commands need anything special?

No. Register them from your code as usual. Outbound requests to Discord are allowed from the sandbox.

Which Python version should I pick?

3.13 unless a dependency of yours is not ready for it. Set requires-python in pyproject.toml to <3.13 and redeploy to stay on 3.12.