An always-on home for your agents, not your laptop.
First month $1, then the normal monthly price. One per customer.
A KVM VPS with full root and NVMe RAID10, in Amsterdam or New York, for agents that keep running after you close the lid: the OpenClaw gateway and its Docker sandboxes, Claude Code in tmux, n8n agent workflows, LangGraph apps, MCP servers behind HTTPS, small models with Ollama. CPU only, unlimited traffic.
Transparent pricing
Plans and prices
| Plan | vCPU | Memory | NVMe | Traffic | Monthly | 1 year | |
|---|---|---|---|---|---|---|---|
| Standard | |||||||
| S-2Standard | 1vCPU | 2 GBMemory | 30 GBNVMe RAID10 | UnlimitedTraffic | $7.99/moFirst month $1 | $7.19/mo on 1 year | Start for $1 |
| S-4Standard | 2vCPU | 4 GBMemory | 60 GBNVMe RAID10 | UnlimitedTraffic | $13.99/moFirst month $1 | $12.59/mo on 1 year | Start for $1 |
| S-8Standard | 3vCPU | 8 GBMemory | 120 GBNVMe RAID10 | UnlimitedTraffic | $24.99/moFirst month $1 | $22.49/mo on 1 year | Start for $1 |
| S-16Standard | 4vCPU | 16 GBMemory | 240 GBNVMe RAID10 | UnlimitedTraffic | $44.99/moFirst month $1 | $40.49/mo on 1 year | Start for $1 |
| S-32Standard | 8vCPU | 32 GBMemory | 480 GBNVMe RAID10 | UnlimitedTraffic | $84.99/moFirst month $1 | $76.49/mo on 1 year | Start for $1 |
| S-64Standard | 16vCPU | 64 GBMemory | 720 GBNVMe RAID10 | UnlimitedTraffic | $159.99/moFirst month $1 | $143.99/mo on 1 year | Start for $1 |
| Dedicated CPU | |||||||
| D-4Dedicated | 1vCPU | 4 GBMemory | 45 GBNVMe RAID10 | UnlimitedTraffic | $37.00/moFirst month $1 | $31.45/mo on 1 year | Start for $1 |
| D-8Dedicated | 4vCPU | 8 GBMemory | 90 GBNVMe RAID10 | UnlimitedTraffic | $69.00/moFirst month $1 | $58.65/mo on 1 year | Start for $1 |
| D-16Dedicated | 4vCPU | 16 GBMemory | 160 GBNVMe RAID10 | UnlimitedTraffic | $118.00/moFirst month $1 | $100.30/mo on 1 year | Start for $1 |
| D-32Dedicated | 6vCPU | 32 GBMemory | 220 GBNVMe RAID10 | UnlimitedTraffic | $215.00/mo | $182.75/mo on 1 year | Deploy D-32 |
| D-64Dedicated | 10vCPU | 64 GBMemory | 400 GBNVMe RAID10 | UnlimitedTraffic | $377.00/mo | $320.45/mo on 1 year | Deploy D-64 |
| High Memory | |||||||
| H-64High Memory | 8vCPU | 64 GBMemory | 480 GBNVMe RAID10 | UnlimitedTraffic | $249.00/mo | $211.65/mo on 1 year | Deploy H-64 |
| H-128High Memory | 16vCPU | 128 GBMemory | 960 GBNVMe RAID10 | UnlimitedTraffic | $459.00/mo | $390.15/mo on 1 year | Deploy H-128 |
| H-192High Memory | 24vCPU | 192 GBMemory | 1.4 TBNVMe RAID10 | UnlimitedTraffic | $669.00/mo | $568.65/mo on 1 year | Deploy H-192 |
What runs well on a CPU-only VPS, and what does not.
Most agent work is orchestration: waiting on an API, running a tool, reading a file. That is CPU, RAM and disk. Training or large local inference is not this page.
Gateways and coding agents that stay alive
The OpenClaw gateway and its Docker sandboxes, or Claude Code and similar coding agents kept in tmux, need a machine that is on at 03:00 when the job finishes. An S-4 (2 vCPU, 4 GB, 60 GB NVMe) at €11.99 a month ($13.99) runs a gateway on its own; sandboxes want the S-8.
n8n agent workflows and LangGraph apps
An AI Agent node in n8n or a LangGraph graph in Python is a normal service: a process, Postgres for state, a queue if you need it. The pgbench and wrk figures on our benchmarks page come from the same class of instance.
MCP servers reachable over HTTPS
A Model Context Protocol server that exposes your database, docs or tools to a remote model needs a stable public address with TLS. Caddy on a VPS with a fixed IPv4 and a /64 IPv6 gives it that, with authentication in front.
Small models with Ollama, within reason
Ollama runs on the CPU here. The model has to fit in RAM, so the plan size decides what you can load. Useful for classification, embeddings and short answers on the S-16 and up.
Which plan for this workload.
Agents idle most of the time and then spike: a tool call, a container start, a model load. Size for the spike, not the idle.
| Setup | Plan | Why |
|---|---|---|
| One coding agent in tmux working on a small repo, model in the cloud | S-2 | 1 vCPU and 2 GB works when the model runs remotely. 30 GB fills fast with node_modules and logs. |
| The OpenClaw gateway alone, or an n8n instance with agent workflows | S-4 | 2 vCPU and 4 GB gives the gateway or n8n plus Postgres room, with a proxy in front. |
| Gateway with Docker sandboxes, LangGraph app with Postgres, two or three MCP servers | S-8 | 3 vCPU and 8 GB absorbs a sandbox container starting while the gateway keeps answering. 120 GB for images. |
| Small local models with Ollama next to the agents | S-16 or S-32 | 16 GB or 32 GB of RAM. The model must fit in memory with the rest of the stack, so RAM decides which model you can run. |
| Sustained CPU inference or many concurrent tool runs | D-8 or D-16 | Cores pinned 1:1 on EPYC Genoa with DDR5. Shared vCPU handles bursts; a model generating tokens for minutes wants its own cores. |
Our rule of thumb: an OpenClaw gateway alone fits the S-4; with Docker sandboxes it wants the S-8 (3 vCPU, 8 GB, 120 GB NVMe) at €21.99 a month ($24.99). The sandbox is the expensive part. Each one is a container with its own toolchain, and two starting at once on a 4 GB box push the gateway into swap. A single coding agent whose model lives in the cloud is far lighter, and the S-2 (1 vCPU, 2 GB, 30 GB NVMe) at €6.99 a month ($7.99) is a fair place to start.
Two honest limits. First, there is no GPU on these plans, so Ollama runs on the CPU. How large a model you can load depends on RAM; the S-16 (4 vCPU, 16 GB, 240 GB NVMe) at €39.99 a month ($44.99) is where local models start to make sense. We do not publish token rates, because they depend on the model and quantisation you choose. Second, disk. Agents write logs, clone repositories and pull images without cleaning up. On 30 GB or 60 GB that is a weekly chore or a cron job. Resizing is done in place with data and IP unchanged, usually one short reboot, so starting small costs nothing later.
Setting it up on BuyVPS.
Step 1: order, create an unprivileged agent user
Pick Ubuntu 24.04 at checkout; the VPS is ready 30 to 60 seconds after payment. The agent never runs as root: give it its own user without sudo.
ssh root@YOUR_IP apt update && apt upgrade -y adduser --disabled-password agent mkdir -p /home/agent/.ssh && cp ~/.ssh/authorized_keys /home/agent/.ssh/ && chown -R agent:agent /home/agent/.ssh ufw allow 22/tcp && ufw allow 80/tcp && ufw allow 443/tcp && ufw enable
Step 2: keys in an env file, not in the shell history
Every provider key goes in one file only the agent user can read. Shell exports end up in .bash_history; a file does not.
su - agent install -m 600 /dev/null ~/.agent.env cat >> ~/.agent.env <<'ENV' ANTHROPIC_API_KEY=sk-ant-... OPENAI_API_KEY=sk-... ENV
Step 3: a coding agent that survives a dropped SSH session
tmux keeps the session alive when your connection drops. Detach with Ctrl-b d and the agent keeps working.
apt install -y tmux # as root, once tmux new -s code set -a; . ~/.agent.env; set +a cd ~/project && claude # or any other coding agent CLI # later, from a new SSH login: tmux attach -t code
Step 4: a systemd unit for the gateway, MCP server or LangGraph app
Anything that must survive a reboot gets a unit. This one runs a Python app as the agent user and restarts on failure.
# /etc/systemd/system/agent-app.service [Unit] Description=Agent app After=network-online.target [Service] User=agent WorkingDirectory=/home/agent/app EnvironmentFile=/home/agent/.agent.env ExecStart=/home/agent/app/.venv/bin/python main.py Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target
systemctl daemon-reload systemctl enable --now agent-app journalctl -u agent-app -f
Step 5: a Docker sandbox for code the agent writes
Code generated by a model runs in a throwaway container with no network, a memory cap and a CPU cap. Install Docker from the official apt repository first.
docker run --rm --network none --memory 1g --cpus 1 \ --read-only --tmpfs /tmp -v /home/agent/work:/work:rw -w /work \ python:3.12-slim python task.py
Step 6: HTTPS in front of the MCP server and webhooks
Caddy handles the certificate. Basic auth is the minimum; a bearer token check in the app itself is better.
# /etc/caddy/Caddyfile
mcp.example.com {
basic_auth {
agent JDJhJDE0JC4uLg # output of: caddy hash-password
}
reverse_proxy 127.0.0.1:8080
}
Step 7: Ollama, if you want a small local model
curl -fsSL https://ollama.com/install.sh | sh ollama pull YOUR_MODEL free -h # the model must fit in this RAM
Pitfalls we see, and how to avoid them.
Keys leak through the agent itself
An agent that can read files can paste the env file into a commit, a log line or a chat reply. Keep keys in a file with mode 600, add it to .gitignore, scope keys to one project, and rotate them when a session did something unexpected.
An unattended agent with root
An agent that runs as root on the host can delete the host. Run it as a user without sudo, run generated code in a sandbox container with no network, and keep Docker socket access away from that user. The full root you get from us is for you, not for the model.
Cost runaway on the API side
The VPS price is fixed. The model bill is not. A loop retrying a failing tool call all night spends a month of budget before breakfast. Set spend limits at the provider, cap iterations in the agent, and add our advanced monitoring at €10.00 a month so you notice a stuck process.
Logs and workspaces fill the disk
Verbose agent logs, journald, Docker image layers and cloned repos grow without limit. Set SystemMaxUse=500M in journald.conf, configure Docker log rotation, prune images weekly, and check df -h from cron. On 30 GB this matters within weeks.
Pick the region closest to your users.
Model API latency dominates, but every webhook still travels to the VPS. Amsterdam is AMS-IX adjacent, 9.0 ms from London and 8.5 ms from Frankfurt. New York is in the Hudson Street carrier hotel, 5-8 ms from Boston and 10-15 ms from Toronto.
Questions about running AI agents on a VPS.
Do these plans have a GPU?
No. Every plan is CPU only, on AMD EPYC with ECC memory. Agents that call a hosted model do not need a GPU. Local models through Ollama run on the CPU, and RAM decides which model fits.
Which plan for the OpenClaw gateway?
The gateway alone fits the S-4. With Docker sandboxes running next to it, take the S-8, because each sandbox is a container with its own memory footprint and two of them starting at once is the usual spike.
Can I keep Claude Code running after I disconnect?
Yes. Start it inside a tmux session and detach. The process keeps running on the VPS, and you reattach from any machine with tmux attach. For anything that must survive a reboot, use a systemd unit instead.
How do I expose an MCP server safely?
Bind the server to 127.0.0.1, put Caddy in front with a domain and a Let's Encrypt certificate, and require a token or basic auth. Open only ports 22, 80 and 443 in the firewall. Never publish the server port directly.
Is the S-2 usable for agents at all?
For a single coding agent whose model runs in the cloud, yes. It is tight: 2 GB of RAM and 30 GB of disk, so keep the workspace small. Anything with a gateway, a database or a sandbox starts at the S-4.
Where do I find the OpenClaw documentation?
At the project site, openclaw.ai. We host the VPS and the network; the gateway, its sandboxes and its configuration are documented by the project.
Deploy a measured VPS
From $6.79/mo on a 2-year term. KVM on AMD EPYC, NVMe RAID10, ECC memory. No setup fee, cancel monthly.
30-day performance guarantee. Not satisfied? Full refund, no admin fee. How it works