Professional hosting features without the price tag
SFTP access, maintenance mode, console control, and automation tools that keep your Discord bot stable. Everything is included for free.
MonkeyBytes Hosting provides a complete server management environment built specifically for Discord bot developers. Whether you are running a small moderation bot for a single server or a feature-rich music bot serving thousands of users, the platform gives you the same professional-grade tooling that paid hosting providers offer. Every account receives dedicated resources, full file system access, and a real-time control panel that lets you manage deployments without needing SSH access or command-line expertise. The goal is straightforward: remove the financial barrier that prevents hobbyist developers from running reliable, always-on Discord bots.
Core resources
Resources tuned for Discord bots
Discord bots have a unique resource profile compared to web applications or game servers. They maintain a persistent WebSocket connection to the Discord gateway, handle event-driven workloads that spike during busy hours, and often rely on in-memory caches for guild data, user permissions, and command cooldowns. The resource allocations on MonkeyBytes are specifically calibrated for this pattern of usage, ensuring that your bot has enough headroom to handle traffic spikes without wasting resources that sit idle.
1GB RAM
Enough memory for popular libraries, background tasks, and stable operation.
One gigabyte of RAM is sufficient for the vast majority of Discord bots built with discord.js, discord.py, JDA, or similar libraries. This allocation accounts for the Node.js or Python runtime overhead, the library's internal gateway cache, and any additional data structures your bot maintains at runtime. Bots that cache guild member lists for large servers or store temporary data for interactive commands will find that 1GB provides comfortable headroom. If your bot grows beyond this allocation, the dashboard games and credits system allows you to earn additional memory without spending real money.
1GB storage
SSD-backed storage for code, configs, and cached assets.
Each bot receives one gigabyte of solid-state storage, which is more than enough for your source code, configuration files, dependency folders such as node_modules or Python virtual environments, and any SQLite databases or JSON files your bot uses for persistent data. The SSD backing ensures that file reads and writes are fast, which matters for bots that log events, maintain leaderboards, or read configuration on startup. If you use an external database service for larger datasets, the local storage is freed up entirely for code and dependencies.
150% CPU
Dedicated CPU share per bot so commands respond quickly.
The 150% CPU allocation means your bot has access to more than one full CPU core's worth of processing power. This is particularly important during startup, when your bot loads modules, connects to the Discord gateway, and populates its internal cache. It also helps during intensive operations such as image processing for welcome cards, parsing large datasets, or handling a burst of slash command interactions during peak hours. Because this allocation is dedicated rather than shared, your bot's performance is not affected by what other bots on the same node are doing.
Everything you need to manage your bots
The MonkeyBytes control panel is built on the Pterodactyl Panel, an open-source server management platform trusted by hosting providers worldwide. It provides a browser-based interface for every aspect of bot management, from uploading files and editing configuration to monitoring resource usage and reading live logs. You do not need to install any software on your local machine beyond an SFTP client for file transfers. The panel works on desktop and mobile browsers, so you can check on your bot or restart it from your phone if needed.
SFTP file access
Upload and manage files securely with your favourite SFTP client. Works with FileZilla, WinSCP, or Cyberduck.
SFTP, which stands for SSH File Transfer Protocol, provides an encrypted channel between your local machine and the server. This means your bot's source code, configuration files, and any sensitive data are protected during transfer. Unlike FTP, SFTP does not send credentials or file contents in plain text. The panel generates unique SFTP credentials for each server, and you can connect using any standard SFTP client. For initial deployments, SFTP is the recommended method because it handles large directory structures and binary files reliably. You can drag and drop entire project folders, and the client will recursively upload everything while preserving the directory hierarchy.
- Full directory access for uploads and deletes
- Reliable for bulk transfers and large files
- Required for initial deployments
Maintenance mode
Lock the bot in a safe state before uploads or installs to avoid conflicts.
Maintenance mode is one of the most important features for safe deployments. When enabled, it stops the bot process and prevents it from being started until you explicitly end maintenance. This ensures that you can upload new files, install or update dependencies, and modify configuration without the bot attempting to run partially updated code. Without maintenance mode, uploading files while the bot is running can lead to crashes, corrupted state, or inconsistent behaviour if the bot reloads modules mid-transfer. Developing the habit of enabling maintenance mode before every deployment will save you from difficult debugging sessions.
- Prevent partial deployments
- Clear visual indicator when enabled
- End maintenance only after all tasks finish
File manager
Edit small files directly in the panel for quick fixes.
The built-in file manager provides a web-based code editor with syntax highlighting for common languages including JavaScript, Python, JSON, and YAML. It is ideal for making quick configuration changes, updating environment files, or fixing a small bug without needing to open your local development environment. The editor supports creating new files and directories, renaming and moving files, and deleting files you no longer need. For larger changes involving multiple files, SFTP remains the better tool, but the file manager excels at those moments when you just need to change a single token or tweak a command prefix.
- Syntax highlighting
- Create, edit, and delete files
- Great for quick patches; use SFTP for bulk
Real-time console
Run shell commands and watch live logs.
The real-time console gives you direct access to the server's command line through your browser. You can run package installation commands such as npm install or pip install, execute scripts, and interact with your bot's process output as it happens. The console streams stdout and stderr in real time, so you can watch your bot start up, see incoming events being processed, and catch errors the moment they occur. This is invaluable during development and debugging, as it removes the delay between making a change and seeing the result. Command history is preserved within the session, making it easy to re-run frequently used commands.
- npm install or pip install support
- Command history and interactive shell
- Debug issues in real time
Power controls
Start, stop, restart, or kill a stuck process from the panel.
The power controls give you full lifecycle management over your bot's process. The start button launches your bot using the configured startup command, while stop sends a graceful shutdown signal that allows your bot to clean up resources and close database connections. Restart combines both operations in sequence, which is useful after deploying updated code. The kill option sends an immediate termination signal for situations where the bot is unresponsive or stuck in an infinite loop. Resource usage graphs on the same page show current CPU and memory consumption, so you can verify that your bot is running within its allocation after a restart.
- Status indicators for online/offline
- Resource usage monitoring
- Uptime tracking
Logs viewer
Follow logs to catch errors early.
The logs viewer provides access to your bot's output history, including both standard output and error streams. You can scroll through past output to trace the sequence of events leading up to a crash, search for specific error messages or keywords, and download the full log file for offline analysis. Error messages are highlighted with distinct colours to make them easy to spot in a stream of normal output. Keeping an eye on your logs after each deployment is one of the simplest ways to catch issues before they affect your bot's users. The log viewer retains output across restarts, so you can review what happened even if the bot has already recovered.
- Live streaming output
- Search and download logs
- Error highlighting for faster fixes
Automation and reliability baked in
A Discord bot that goes offline regularly loses its users' trust. Guild administrators will replace an unreliable bot with an alternative, and rebuilding that trust is difficult. MonkeyBytes includes several automation features designed to keep your bot running with minimal manual intervention, so you can focus on developing new features rather than babysitting a process.
Auto-restart
Bots restart automatically after crashes so downtime stays low.
The auto-restart system monitors your bot's process and detects when it exits unexpectedly. When a crash is detected, the system waits a brief moment to avoid rapid restart loops, then launches the bot again using your configured startup command. This means that transient errors, such as a failed API request that causes an unhandled exception, result in only a few seconds of downtime rather than an extended outage that lasts until you manually intervene. For persistent crashes, the system includes backoff logic to prevent the bot from consuming resources in an infinite restart cycle.
Backups
Regular backups protect your files. Keep your own copy for safety.
The backup system creates snapshots of your server's files at regular intervals. These backups can be restored from the control panel if you accidentally delete a file, introduce a bug in your code, or need to roll back to a previous version. Each backup captures the complete state of your server's file system, including source code, configuration, and data files. While the platform maintains backups on your behalf, it is always good practice to keep your own local copy of your project's source code, ideally in a version control system such as Git, as an additional layer of protection.
Uptime monitoring
Track uptime and receive alerts when something goes wrong.
The uptime monitoring system tracks whether your bot's process is running and records its availability over time. This data is visible in the control panel, giving you a clear picture of your bot's reliability. If your bot goes offline due to a crash, resource exhaustion, or a platform-level issue, the monitoring system logs the event so you can review what happened and when. This historical data is useful for identifying patterns, such as crashes that occur at specific times of day when your bot handles the most traffic.
Environment variables
Store tokens securely without hard-coding secrets in code.
Environment variables are the standard way to manage sensitive configuration such as Discord bot tokens, database connection strings, and third-party API keys. The control panel provides a dedicated interface for setting and editing environment variables, which are injected into your bot's process at startup. This approach keeps secrets out of your source code, which is essential if you share your code on GitHub or collaborate with other developers. Variables are stored securely on the server and are never exposed in logs or the file manager interface.
24/7 availability
No sleep timers or forced restarts. Bots are meant to stay up.
Unlike some free hosting platforms that put processes to sleep after a period of inactivity, MonkeyBytes keeps your bot running continuously. There are no sleep timers, no cold starts, and no forced restarts on a schedule. Your bot maintains its Discord gateway connection around the clock, which means it is always ready to respond to commands, process events, and serve your community. This continuous availability is critical for bots that handle moderation, logging, or scheduled tasks, where even brief periods of downtime can result in missed events that cannot be recovered.
How our infrastructure works
Understanding how your bot is hosted helps you make better decisions about resource usage, deployment strategies, and troubleshooting. MonkeyBytes runs on dedicated hardware using containerisation technology to isolate each bot in its own secure environment. This section explains the technical architecture that keeps your bot running reliably.
Each bot on MonkeyBytes runs inside its own Docker container, which is a lightweight, isolated environment that behaves like a small virtual machine. Docker containers share the host operating system's kernel but have their own file system, network stack, and process space. This means your bot cannot see or interfere with other bots on the same physical server, and other bots cannot access your files or consume your allocated resources. The container is built from a base image that includes the runtime for your chosen language, such as Node.js 18 or Python 3.11, along with common system libraries that bot frameworks depend on.
Resource allocation is enforced at the container level using Linux control groups, commonly known as cgroups. When your bot is allocated 1GB of RAM, the container is hard-limited to that amount. If your bot attempts to use more memory than allocated, the process will receive an out-of-memory signal rather than being allowed to consume memory that belongs to other containers. CPU allocation works similarly, with each container receiving a guaranteed share of processor time. This enforcement ensures that one bot experiencing a memory leak or CPU spike cannot degrade performance for other bots on the same node.
The physical servers that host MonkeyBytes are located in a data centre with redundant power supplies, network connectivity, and cooling systems. The servers use SSD storage for all container volumes, which provides fast read and write speeds for file operations. Network connectivity is routed through the data centre's upstream providers, ensuring low latency to Discord's API servers in Europe. The infrastructure is monitored around the clock, and the platform administrators receive alerts for hardware failures, network issues, or unusual resource consumption patterns that could indicate a problem.
Security and data protection
Security is a fundamental concern when hosting a Discord bot, because your bot token grants full access to your bot's Discord account. If a token is compromised, an attacker can impersonate your bot, access servers it belongs to, and potentially cause significant harm to your community. MonkeyBytes takes several measures to protect your data and credentials from unauthorized access.
All connections to the control panel and SFTP service are encrypted using TLS, which prevents eavesdropping on your credentials and file transfers. The control panel itself requires authentication, and each user account has access only to their own servers. There is no shared access between accounts unless you explicitly grant sub-user permissions to another person. SFTP credentials are unique to each server and are separate from your panel login, providing an additional layer of access control. If you suspect that your SFTP credentials have been compromised, you can regenerate them from the panel without affecting your bot's operation.
Environment variables, where you store your bot token and other secrets, are handled with particular care. They are stored in the platform's configuration database and injected into your container at startup. They are not visible in the file manager, not included in backups that could be downloaded, and not logged in console output by default. You should still follow best practices such as never printing your token to the console and never committing it to a version control repository. If you believe your bot token has been compromised, regenerate it immediately through the Discord Developer Portal and update the environment variable on the panel.
Container isolation, as described in the infrastructure section, also serves a security purpose. Because each bot runs in its own container with its own file system, a vulnerability in one bot's code cannot be used to access another bot's files or environment variables. The container's network access is restricted to outbound connections only, meaning other containers on the same host cannot initiate connections to your bot's internal services. This defence-in-depth approach means that even if one layer of security is bypassed, additional layers remain in place to protect your data.
Best practices for smooth deployments
Deploying a Discord bot reliably is as much about process as it is about code. Following a consistent deployment workflow reduces the risk of downtime, data loss, and difficult-to-diagnose bugs. The recommendations below are based on common mistakes that bot developers encounter and the practices that prevent them.
The in-panel editor is great for small tweaks. Use SFTP for initial uploads, large files, or bulk changes.
Turn it on before uploading, editing, or installing packages. End maintenance only after everything finishes.
Open the console and logs when you deploy. Fix errors before you bring the bot back online.
Store tokens and API keys as environment variables or in a .env file uploaded via SFTP.
Use npm update or pip install -U inside maintenance mode. Test quickly before going live.
Optional dashboard games
Play Spin Wheel, Tower Stack, or claim daily rewards in the dashboard to earn tokens for extra RAM, storage, or slots. It is fun, optional, and never involves real money.
The token system gives active community members a way to expand their hosting resources without any financial cost. Tokens can be spent on additional memory, extra storage space, or additional bot slots, allowing you to grow your hosting as your projects grow. Daily spins, streak bonuses, and the Tower Stack leaderboard reward consistent engagement rather than one-time effort.
Experience the full feature set for free
Sign up, enable maintenance mode, upload via SFTP, and start your bot. That is it.
Every feature described on this page is available to all users at no cost. There are no premium tiers that gate essential functionality behind a paywall, and there are no trial periods after which features disappear. The platform is funded as a not-for-profit community project, which means the focus is on providing a reliable service rather than maximising revenue. If you have questions about any feature or need help getting started, the Discord community server and email support are available to assist you.
Deployment checklist
- Maintenance mode on
- Upload code with SFTP
- Install dependencies
- Set environment variables
- End maintenance and start bot