Custom Domains
Point your own domain to your AI agent instead of using the default runclaw.run subdomain.
By default, your agent is available at {slug}.runclaw.run. If you want to use your own domain (like agent.yourcompany.com), you can set that up.
How it works
Your RunClaw VPS runs Caddy as a reverse proxy. Caddy automatically provisions TLS certificates from Let's Encrypt for any domain that points to your server. There's nothing to configure on the server side — just point your DNS and Caddy handles the rest.
Setup
Get your server's IP address
Find your server IP on your RunClaw dashboard. Click on your instance — the IP is shown in the details panel.
Add a DNS record
Go to your domain's DNS settings (at your registrar or DNS provider like Cloudflare, Namecheap, etc.) and add an A record:
| Type | Name | Value | TTL |
|---|---|---|---|
| A | agent (or whatever subdomain you want) | YOUR_SERVER_IP | Auto |
For a root domain (yourcompany.com instead of agent.yourcompany.com), set the Name to @.
If using Cloudflare: Set the proxy status to DNS only (grey cloud icon). Caddy needs to handle TLS directly to provision Let's Encrypt certificates. If you leave the orange cloud (proxied) on, TLS will conflict.
Update Caddy configuration
SSH into your server and edit the Caddyfile to add your domain:
ssh root@YOUR_SERVER_IP
nano /opt/openclaw/Caddyfile # or /opt/agent-zero/CaddyfileAdd a new site block for your domain that proxies to the same backend as the existing {slug}.runclaw.run block. Then reload Caddy:
docker exec caddy caddy reload --config /etc/caddy/CaddyfileCaddy will automatically provision a Let's Encrypt TLS certificate for your domain. This happens within seconds.
Verify
Open https://agent.yourcompany.com in your browser. You should see your agent with a valid HTTPS certificate.
DNS propagation can take anywhere from 30 seconds to 48 hours depending on your DNS provider and TTL settings. Most propagate within a few minutes.
Keep both domains
After adding a custom domain, your original {slug}.runclaw.run URL continues to work. You don't need to choose — both domains point to the same agent.
Back to Getting Started