xhostd
Docs Pricing Sign in

Frequently asked questions

What xhostd is

What is xhostd?

xhostd is agent-first hosting. You — or your AI agent — push code, trigger a deploy, and get a live HTTPS URL. It works with any AI coding tool (Claude Code, Codex, Cursor, or a custom setup) through MCP tools and a plain HTTP API, and it hosts static sites and dynamic applications alike.

What does "agent-first" mean?

An AI agent can do the whole job here: create an app, push code, deploy, read logs, set environment variables, attach a custom domain. No step in that path needs a human at a dashboard, because nothing needs manual provisioning — the database, the file storage, and user sign-in already exist in every environment. The agent never stops to ask you to wire something up.

What is a channel?

A channel is one live environment of an app — production, staging, a preview. Each channel is a standalone, always-on container with its own HTTPS URL, its own Postgres database, its own file storage, and its own custom domains. Your plan includes a number of channels, shared freely across your apps.

Channels and environments

Is a channel a real machine?

It behaves like one. A channel is a standalone container: its own filesystem, its own always-running process, its own database, storage, and domains. Nothing durable is shared between channels — not data, not files, not configuration. Only idle CPU headroom is pooled across containers, the same way any VPS provider pools it across virtual machines.

Are preview and staging channels always on?

Yes. Every channel runs at all times, on every plan. There is no sleep mode, no scale-to-zero, and no cold start — a preview you deployed last month answers its first request as fast as production does.

Why do extra environments cost nothing?

Because we price the plan, not the machine. On platforms that bill per machine or per service, a second always-on environment with its own database costs about what the first one does — the meter runs per instance. xhostd prices your compute as a plan, and your channels share it. An idle staging channel consumes almost nothing, so there is no reason to charge for it: the free plan includes 5 channels, and paid plans include 10 to 75.

Database, storage and sign-in

Does every channel really get its own Postgres database?

Yes. The database is created with the channel and its DATABASE_URL is already in the environment — no add-on to buy, no external account to create, no connection string to paste. A preview channel gets its own database too, so an experiment can never touch production data.

What about file storage?

Every channel gets S3-compatible object storage, with the S3_* credentials already in its environment. Uploads, images, and save files work out of the box with any S3 client library. Storage counts against one account-wide quota.

How does user sign-in work?

Your app can offer "Sign in with Google" to its own users without wiring an auth provider: xhostd handles the OAuth flow per channel and hands your app the signed-in identity. See the guide at docs.xhostd.com/oauth.

Custom domains

How many custom domains can I attach?

Up to 5 per channel. Domains attach per environment, so a staging or preview channel can carry its own real domains next to production's.

Are custom domains on the free plan?

Yes — every plan, including the free one, with no per-domain charge and no per-certificate charge.

Who issues the HTTPS certificates?

xhostd does, automatically, and renews them. You add one DNS record at your registrar to verify the domain; you never delegate your DNS to us.

Compared with other platforms

How is xhostd different from a serverless host?

A serverless platform runs your code only while a request is in flight. It cannot hold a WebSocket open, run a background worker, or keep any process alive between requests — and its databases are separate, scale-to-zero services with cold starts. On xhostd every channel is an always-on container, so multiplayer games, live dashboards, bots, and workers are ordinary apps, not special cases.

How is xhostd different from a host that bills per machine?

Per-machine billing charges every always-on environment separately: the second environment with its own database costs about what the first did. On xhostd, channels are included in the plan — production, staging, and previews all run always-on, each with its own database, at one flat price.

Why does the pricing model matter for AI agents?

Agents multiply environments. An agent-driven workflow throws off a preview per branch, per experiment, per iteration. Under per-machine billing that gets linearly expensive; on xhostd it stays flat, because a new channel is a quota entry, not a new bill.

Plans, billing and limits

How do channels work?

Each app can have multiple channels — independent live URLs for the same project, like a production site and a preview. Every channel gets its own HTTPS URL and its own database. Your plan sets a single channel quota shared across all your apps: every app counts its production channel against it, and each extra channel counts too. So apps and channels draw from the same pool — five channels can be five apps, or one app with a production site and four previews.

How is database storage counted?

Every channel gets its own database, and the storage figure is the total across all of them on your account — not a per-app cap. Use it however you like: one large database or many small ones.

How is file storage counted?

File storage is also an account total, across every channel you own. It differs from database storage in one way: it is a hard limit. When you reach it, we refuse a new upload until you delete files. We measure it about once an hour, so the figure in your console can lag a recent upload or delete.

What do the nightly backups cover?

Once a day we snapshot each project's database and its files, except on a static project, which never uses its database. Your plan says how long we keep them: 24 hours on the free plan, 7 days on every paid plan. We always keep a project's newest nightly snapshot, however old it is, so there is always one to go back to. On top of that, every deploy takes its own snapshot first. We keep the last 3 of those at any age, on every plan, so a bad migration always has a rollback point. Restore either kind from your console.

What is the CPU soft allocation?

The CPU figure is a soft allocation: it's the fair share your apps are guaranteed when the machine is busy. When there's headroom, your apps can burst up to 2× the soft allocation — and they're hard-capped there. Memory is a fixed per-app ceiling.

What are visible cores?

Visible cores is how many CPU cores your app sees — the number reported to tools that size their thread pools or worker counts from the core count (for example nproc). A higher plan exposes more cores, so parallel workloads and build steps can spread across them. This is separate from the CPU soft allocation above, which caps how much CPU time your apps get; visible cores shape how that time is spread.

How is Docker image size counted?

For Docker projects, the plan limit applies to your image's charged size: its total size minus the layers it shares with a platform warm base. Layers from node:22-slim, node:24-slim, node:26-slim, python:3.11-slim, python:3.12-slim, python:3.13-slim, python:3.14-slim, and debian:trixie-slim are exempt — start from one of those bases and only what you add on top counts (and builds are instant).

What happens if I go over the storage or bandwidth limit?

Database storage and monthly bandwidth are soft limits: we measure usage, show it to you on your account page, and reach out if an account is consistently over so we can find the right plan together. Your apps keep running.

How do I upgrade?

Upgrade from your console account page, or just ask your AI tool to upgrade when it hits a limit — it will hand you a link. Plans take effect immediately.

How does billing work?

Payments are securely processed by a third-party payment provider. Prices are in US dollars; any applicable sales tax or VAT is added at checkout. Plans are billed monthly and you can cancel anytime — see our Terms and Privacy for details.

What's your refund policy?

You can cancel anytime and keep access until the end of the month you've already paid for, after which the plan won't renew. Except where required by law, fees are non-refundable, including for unused time. If we ever close a paid account without cause, we refund the unused portion of the current period. Full details are in our Terms.