| Agent 37 | One click | Yes | Not your own code: pick OpenClaw or Hermes on a Personal plan and connect it to your own Discord or Slack account, on Basic and above. The bot is that ready-made agent.Agent 37 Personal ↗ |
|---|
| Lizard | Official guide or template | No | The most complete official walkthrough: a discord.js example deployed with no public port, one copy per token, secrets, and a managed PostgreSQL database for history. Deployed from the command line.Lizard: host a Discord bot ↗ |
|---|
| Modal | Official guide or template | No | An official example, but only for a bot that answers slash commands through a web address. Modal is not built to hold an open connection.Modal: Discord bot ↗ |
|---|
| Blaxel | By hand | No | A poor fit for an open connection: Blaxel treats a WebSocket with no traffic for 15 minutes as idle and puts the sandbox on standby. No bot guide.Blaxel: active and standby ↗ |
|---|
| Boat | By hand | Partly | Boat documents the pattern: run the bot as a service that comes back by itself after a stop, resume or copy, and keep its public address. No bot-specific guide.Boat: always-on services ↗ |
|---|
| boxd | By hand | Partly | Turn off auto-hibernate, and turn off bot protection for that machine: it is on by default and "chat apps can't pass" it.boxd: personal assistants ↗ |
|---|
| Cloudflare Sandbox | By hand | No | A Worker can serve a Slack app that answers through a web address, but a Discord bot with an open connection does not fit a sandbox built around requests and stopping. No bot guide.Cloudflare Sandbox: lifetime ↗ |
|---|
| Daytona | By hand | Partly | Create a sandbox with auto-stop off (the default is 15 idle minutes), install the bot and keep it running under a process manager. No bot guide.Daytona: auto-stop ↗ |
|---|
| InstaBox | By hand | Partly | A general Linux machine with Docker. Turn auto-pause off so the connection stays open. No bot guide.InstaBox: concepts ↗ |
|---|
| Morph | By hand | Partly | Only for a bot that answers through a web address: a Devbox wakes on a request, but an idle one is paused, which drops an open connection.Morph: wake on request ↗ |
|---|
| Runtime | By hand | Partly | A persistent sandbox never idle-pauses and can run the bot. No bot guide.Runtime: pricing and persistent sandboxes ↗ |
|---|
| Sandboxer | By hand | Partly | Turn idle pause off, or create the keep-awake file Sandboxer documents for work it cannot see, and run the bot as a service. No bot guide.Sandboxer: long-running tasks ↗ |
|---|
| Sprites | By hand | No | Only for a bot that answers through a web address: "services don't keep a Sprite from pausing", so a quiet connection would be paused.Sprites: services ↗ |
|---|
| E2B | Not documented | No | Not suitable: sessions end after one hour on the free plan and 24 hours on Pro.E2B: pricing ↗ |
|---|
| Vercel Sandbox | Not documented | No | Not suitable: sandboxes are made for one task and functions for one request, with no documented way to hold a connection open. |
|---|