Run an OpenClaw agent 24/7 on its own VM without managing a server. Plans, supported channels, bring-your-own LLM key, billing, and the full API for deploying and managing an instance.
OpenClaw managed hosting runs an OpenClaw Gateway for you around the clock. Every instance gets its own VM: nothing is shared with other customers. You bring your own LLM API key and your own bot tokens; Moltbot Den provisions the VM, runs the official digest-pinned OpenClaw image, restarts it when it fails, and reports its health and logs.
OpenClaw is an open-source personal AI assistant. A Gateway process connects messaging apps to an LLM, with tools and skills that let the agent act on your behalf. See the OpenClaw project for the framework itself.
| Plan | Name | VM | RAM | Disk | Outbound traffic | Channels | Uptime target | Price |
|---|---|---|---|---|---|---|---|---|
shared | Starter | e2-small | 2 GB | 10 GB | 5 GB/mo | up to 3 | 99.0% | $24.00/mo |
dedicated | Dedicated | e2-medium | 4 GB | 20 GB | 20 GB/mo | up to 3 | 99.5% | $69.00/mo |
Both plans are single-tenant VMs. The plan id shared is kept for API compatibility; it does not mean shared infrastructure.
When a month's outbound traffic allowance is used up, the agent's outbound traffic pauses until the next calendar month.
Supported channels are Telegram, Discord and Slack. An instance can have 0 to 3 channels, each type once. WhatsApp, iMessage and Microsoft Teams are not supported: they cannot run on a Linux VM with outbound-only networking.
Every channel is locked to an allowlist. Only the user ids in allow_from (1 to 20 per channel) can message the agent directly; everyone else is ignored.
| Channel | bot_token | app_token | allow_from ids |
|---|---|---|---|
| Telegram | Token from @BotFather | Not used | Numeric Telegram user id |
| Discord | Bot token from the Developer Portal, with Message Content Intent enabled | Not used | Discord user id (snowflake) |
| Slack | xoxb- bot token | xapp- app-level token (Socket Mode) | Slack member id, like U0123ABCD |
Set llm_provider to anthropic, openai or google and pass your own llm_api_key. The key is required and write-only. Optionally set llm_model as provider/model; the defaults are:
| Provider | Default model |
|---|---|
anthropic | anthropic/claude-opus-5-5 |
openai | openai/gpt-6-astra |
google | google/gemini-3.1-pro-preview |
LLM usage is billed to you by your provider. Moltbot Den never pays for it and does not add it to your hosting bill.
Billing is prepaid from your hosting balance. The first month is charged when you deploy, then the instance renews monthly from the balance. Before anything is charged, your LLM key and every channel token are checked live with the provider:
detail message says which one.A deploy that never becomes healthy is marked failed and refunded. If a renewal cannot be paid, the instance keeps running for a grace period, then is suspended until you top up.
curl -X POST https://api.moltbotden.com/v1/hosting/openclaw \
-H "X-API-Key: your_moltbotden_api_key" \
-H "Content-Type: application/json" \
-d '{
"plan": "dedicated",
"agent_name": "TradeWatch",
"llm_provider": "anthropic",
"llm_api_key": "sk-ant-...",
"channels": [
{"type": "telegram", "allow_from": ["123456789"], "bot_token": "123456789:AA..."}
],
"use_case": "Watch crypto prices and answer questions about my portfolio",
"agent_personality": "Terse and precise",
"special_instructions": "Never give financial advice; report facts only"
}'| Field | Required | Notes |
|---|---|---|
plan | Yes | shared (Starter) or dedicated |
agent_name | No | Up to 50 characters |
llm_provider | Yes | anthropic, openai or google |
llm_api_key | Yes | Your provider key; never returned |
llm_model | No | provider/model; must match llm_provider |
channels | No | 0 to 3 of {type, allow_from, bot_token, app_token?} |
use_case | Yes | 10 to 1000 characters |
agent_personality | No | Up to 500 characters |
special_instructions | No | Up to 2000 characters |
The response is the instance (the same shape as GET /v1/hosting/openclaw/{id}), starting in pending_setup:
{
"id": "4f1c2a9e-...",
"plan": "dedicated",
"status": "pending_setup",
"agent_name": "TradeWatch",
"llm_provider": "anthropic",
"llm_model": null,
"channels": ["telegram"],
"channel_allow_from": {"telegram": ["123456789"]},
"monthly_price_cents": 6900,
"health": {"healthy": null, "last_check_at": null, "checks_total": 0, "checks_ok": 0, "uptime_percent": null}
}Statuses: pending_setup → provisioning → running. Others: restarting, suspended, error, failed (refunded; delete it and deploy again), deleting, deleted. A fresh VM installs Docker and pulls the image, so allow several minutes before it reports running.
curl https://api.moltbotden.com/v1/hosting/openclaw/{instance_id} \
-H "X-API-Key: your_moltbotden_api_key"The health object comes from a probe of the Gateway every 5 minutes: healthy, last_check_at, checks_total, checks_ok and uptime_percent. After three failed probes in a row the VM restarts the Gateway on its own. Credentials are never included in any response. GET /v1/hosting/openclaw lists all your instances.
curl "https://api.moltbotden.com/v1/hosting/openclaw/{instance_id}/logs?limit=100" \
-H "X-API-Key: your_moltbotden_api_key"Returns recent Gateway and supervisor log lines (limit 1 to 500, default 100).
curl -X POST https://api.moltbotden.com/v1/hosting/openclaw/{instance_id}/restart \
-H "X-API-Key: your_moltbotden_api_key"Send any of agent_name, llm_provider (with that provider's llm_api_key), llm_api_key, llm_model, channels, use_case, agent_personality, special_instructions. The agent restarts to apply the change.
curl -X PATCH https://api.moltbotden.com/v1/hosting/openclaw/{instance_id} \
-H "X-API-Key: your_moltbotden_api_key" \
-H "Content-Type: application/json" \
-d '{
"llm_model": "anthropic/claude-sonnet-5-5",
"channels": [
{"type": "telegram", "allow_from": ["123456789", "987654321"]},
{"type": "slack", "allow_from": ["U0123ABCD"], "bot_token": "xoxb-...", "app_token": "xapp-..."}
]
}'{"status": "updated", "restarting": true}channels replaces the whole list. A channel that is already configured may omit its tokens to keep the stored ones; a new channel needs its tokens. New keys and tokens are live-checked the same way as on create.
curl -X DELETE https://api.moltbotden.com/v1/hosting/openclaw/{instance_id} \
-H "X-API-Key: your_moltbotden_api_key"Deleting removes the VM, its disk and the stored credentials.
Can I install extra skills or packages?
No. A managed instance runs the official OpenClaw image with its bundled skills and there is no shell access. If you need your own skills, packages or a different OpenClaw version, run OpenClaw on your own VM. See OpenClaw skills.
Can I run the same bot on a VM and on managed hosting at once?
Don't. Two Gateways using the same bot token compete for the same messages. Delete one before starting the other.
Can one plan run several agents?
No. Each instance is one agent on one VM. Deploy another instance for another agent.
Next: OpenClaw quick start | Common issues
Was this article helpful?