The post-Heroku landscape

For years, Heroku was the default recommendation for hosting Discord bots. Its generous free tier let developers deploy bots with a simple git push. That era ended in November 2022 when Heroku removed its free tier entirely. Since then, Discord bot developers have been searching for alternatives that offer the same simplicity without the cost.

Railway emerged as a popular successor, and purpose-built platforms like MonkeyBytes now offer dedicated Discord bot hosting. This comparison examines all three platforms as they exist in 2026, with honest assessments of what each offers and where each falls short.

Platform overview

Heroku (Salesforce)

Heroku is a Platform as a Service that deploys applications from git repositories. It supports multiple languages through buildpacks and offers managed add-ons for databases, caching, and monitoring. Since removing its free tier, Heroku's cheapest option is the Eco plan at $5 per month, which includes 1,000 dyno hours shared across all apps. For a single Discord bot running 24/7, this is enough. For multiple bots, you will need to pay more.

Railway

Railway is a newer PaaS that positions itself as a modern alternative to Heroku. It deploys from GitHub repositories with automatic builds and provides a visual dashboard for managing services. Railway offers a trial tier with $5 of free credit, but this credit depletes quickly with a 24/7 bot. After the trial, Railway's Hobby plan costs $5 per month plus resource usage charges.

MonkeyBytes Hosting

MonkeyBytes is a purpose-built Discord bot hosting platform that provides dedicated resources for free. Unlike general-purpose PaaS platforms, MonkeyBytes is designed specifically for Discord bots with pre-configured runtimes, SFTP deployment, and automatic process management. It operates as a not-for-profit with no paid tiers.

Feature comparison

Feature Heroku Railway MonkeyBytes
Free tier No (removed 2022) $5 trial credit only Yes, permanently free
Cheapest paid plan $5/mo (Eco) $5/mo + usage N/A (free only)
Credit card required Yes Yes (for Hobby) No
RAM 512 MB (Eco) 512 MB (trial) 1 GB dedicated
CPU Shared Shared 150% dedicated
Storage Ephemeral (resets on restart) Ephemeral (resets on deploy) 1 GB persistent SSD
24/7 uptime Yes (Eco uses dyno hours) Yes (while credit lasts) Yes, no limits
Sleep timer Eco dynos sleep after 30 min idle No No
Auto-restart Yes Yes Yes
Deployment method Git push, GitHub integration GitHub integration, CLI SFTP upload, web console
Node.js support Yes (buildpack) Yes (auto-detect) Yes (pre-configured)
Python support Yes (buildpack) Yes (auto-detect) Yes (pre-configured)
Database add-ons PostgreSQL, Redis (paid) PostgreSQL, Redis, MySQL SQLite via file storage
Custom domains Yes Yes No (bot hosting only)
Web dashboard hosting Yes Yes No
Environment variables Yes (config vars) Yes (variables) Yes (.env files)
SFTP access No No Yes (encrypted)
File manager No No Yes (built-in)
Real-time console Yes (heroku logs) Yes Yes
Container isolation Yes (dynos) Yes Yes (Docker)

Pricing deep dive

Heroku costs for a Discord bot

Heroku's Eco plan costs $5 per month and provides 1,000 dyno hours. A single bot running 24/7 uses approximately 720 hours per month, which fits within the allocation. However, Eco dynos sleep after 30 minutes of inactivity. For a Discord bot that needs to respond to events at any time, this is problematic. Your bot will miss messages, slash commands, and events while sleeping.

To avoid sleeping, you need the Basic plan at $7 per month per dyno. Add a PostgreSQL database ($5/mo minimum for Heroku Postgres Mini) and your monthly cost reaches $12 or more.

Railway costs for a Discord bot

Railway's trial provides $5 of credit with a 500-hour execution limit. A 24/7 bot exhausts this in roughly 20 days. After the trial, the Hobby plan costs $5 per month plus usage-based charges for CPU and RAM. A typical Discord bot running continuously costs $5–$10 per month on Railway depending on resource consumption.

Railway's billing model can produce surprising charges. If your bot has a memory leak or processes a traffic spike, your bill increases without warning. There is no spending cap on the Hobby plan by default.

MonkeyBytes costs for a Discord bot

Zero. No trial, no credit card, no usage charges, no hidden fees. The resources are dedicated and consistent regardless of how much your bot processes. The service sustains itself through optional advertising on public-facing pages. Your bot and dashboard remain ad-free.

Two-year cost comparison

Platform Monthly 6 months 1 year 2 years
MonkeyBytes £0 £0 £0 £0
Heroku (Eco) £4 £24 £48 £96
Heroku (Basic + DB) £10 £58 £115 £230
Railway (Hobby) £4–8 £24–48 £48–96 £96–192

Deployment experience

Heroku deployment

Heroku's git-based deployment is elegant. You push code to a Heroku remote and the platform builds and deploys automatically. This works well for developers comfortable with git but requires a Procfile to define your process type and a runtime.txt or package.json with engine specification. Build failures can be opaque and debugging requires familiarity with Heroku's buildpack system.

Railway deployment

Railway connects to a GitHub repository and deploys automatically on push. The detection system identifies your language and configures the build process. This is the most streamlined deployment if you already use GitHub. However, ephemeral storage means any files your bot creates or modifies are lost on each deployment. If your bot uses SQLite or writes log files, these reset every time you push new code.

MonkeyBytes deployment

MonkeyBytes uses SFTP for file uploads. You connect with an SFTP client like FileZilla or WinSCP, upload your bot files, and start the bot from the web dashboard. The maintenance mode system prevents partial deployments by stopping the bot during file transfers. Storage is persistent, so SQLite databases and generated files survive between deployments. For a complete walkthrough, see our getting started guide.

The ephemeral storage problem

Both Heroku and Railway use ephemeral file systems. This is the single biggest practical issue for Discord bot developers on these platforms.

If your bot saves configuration to a JSON file, it resets on deploy. If your bot uses SQLite for persistent storage, the database is wiped every time you push new code. If your bot writes logs to files, they disappear. The workaround is to use an external database service, which adds complexity and often cost.

MonkeyBytes provides 1 GB of persistent SSD storage. Files you upload or create remain between restarts and deployments. Your SQLite database persists. Your configuration files stay. This is a fundamental architectural difference that matters for most bot developers.

Which platform should you choose?

Choose Heroku if

  • You need to host a web application alongside your Discord bot
  • You want a mature ecosystem with extensive add-ons for databases, monitoring, and caching
  • You are already paying for Heroku for other projects and can share dyno hours
  • You need CI/CD integration with complex build pipelines
  • Budget of $7–$15 per month is acceptable

Choose Railway if

  • You want git-push deployment with automatic builds from GitHub
  • You need managed database services bundled with your hosting
  • You prefer a modern dashboard with visual service management
  • Your bot does not rely on persistent file storage
  • Budget of $5–$10 per month is acceptable

Choose MonkeyBytes if

  • You want free hosting with no trial limits or credit card requirements
  • You need persistent storage for SQLite databases or configuration files
  • You want more RAM (1 GB) than either Heroku or Railway provides at their entry levels
  • You prefer SFTP-based deployment with direct file management
  • You are building a Discord bot and do not need web hosting or managed databases
  • You are a student, hobbyist, or community developer

Migration between platforms

Moving your bot between these platforms is straightforward because the bot code itself does not change. Your Discord.js or discord.py bot runs identically regardless of where it is hosted. The differences are in how you deploy and configure the environment.

Moving from Heroku or Railway to MonkeyBytes requires uploading your bot files via SFTP and configuring your environment variables in the dashboard. There is no vendor lock-in from any of these platforms. For deployment details, read our hosting tutorial.

For a broader comparison of all free hosting options, see our free hosting platform comparison. To understand the full cost picture, read our hosting cost breakdown.

Comparison Free Hosting Platforms Comparison Hosting Cost Breakdown Comparison VPS vs Free Hosting Getting Started Deploy Your Bot Free