Skip to content

Pricing

Every number, and what it costs us.

Domains sell at or near cost because an at-cost competitor already set that price and an agent will read it. Hosting and databases carry the margin. Nothing here has a promotional first year.

Domains

Registration and renewal are the same price, always. Prices in USD, per year, inclusive of the ICANN fee where one applies.

Generated from the same table the control plane charges from. Unlisted TLDs are quoted live at wholesale plus a flat markup.
TLDRegisterRenewWhat that means for us
.com$10.44$10.44at cost — we lose $1.06/yr
.org$10.90$10.90at cost — we lose $0.10/yr
.net$12.90$12.90at cost — we lose $0.60/yr
.xyz$13.00$13.00+$1.00/yr over our wholesale cost
.dev$14.50$14.50+$0.50/yr over our wholesale cost
.app$15.50$15.50+$0.50/yr over our wholesale cost
.co$31.00$31.00+$3.00/yr over our wholesale cost
.sh$38.00$38.00+$3.00/yr over our wholesale cost
.io$42.00$42.00+$3.00/yr over our wholesale cost
.ai$75.00$75.00+$5.00/yr over our wholesale cost

Why we publish our own margin. Selling .com at $10.44 against a $11.50 wholesale cost is a real loss, not a rounding error. It is an acquisition bet: the domain is the root object a service hangs off, and we would rather own the token than the dollar. If the bet stops paying, the honest fix is a higher price, not a quieter one.

Hosting and databases

Paid plan prices are not published yet, on purpose. Our own pricing review found the previous draft promised more included bandwidth than the price covered — a plan has to be break-even when a customer uses 100% of what we sold them, and that one was not. Publishing a number we would then have to walk back is exactly what our no-bait rule exists to prevent, so the number waits until it is right. Domain prices below are settled and firm.

If you want the number the moment it is fixed, it will appear here and in pricing.json at the same time, and llms.txt will say so too.

Billed monthly from the wallet, while balance permits. runway_days is returned on every API response so an agent can warn its user before anything stops.
PlanPriceIncludesMonthly allowanceOver allowance
freefree100 MB repo · 1 app · 1 static site · scale to zero100,000 requests · 2 GB origin egressthrottles, never bills
appnot published yet1000 MB repo · 3 apps · 5 static sites · scale to zerobeing reviseddraws from the wallet
app_warmnot published yet5000 MB repo · 5 apps · 20 static sites · always warmbeing reviseddraws from the wallet
databasenot published yet1 Postgres databasebeing reviseddraws from the wallet

Whatever the paid numbers land on, four things about them are already fixed: there are no seats (one workspace, one payer, as many humans as you like), nothing can ever generate an invoice you did not fund, there are no export or cancellation fees (leaving is a first-class operation), and we do not charge you for bytes our CDN served — the egress allowance counts traffic that reaches our origin, so a cached hit is free to you and free to us.

What the free plan is for

It is not a trial. It is the thing an agent receives in its first minute so that its first success requires no human at all: a private git repo, an app, a static site, authoritative DNS, and unlimited domain search. It is rationed rather than granted — the underlying free capacity is a shared pool, we slice it, and we meter honestly rather than pretending it is infinite.

Exceeding a free quota throttles the app. It does not produce an invoice and it does not silently upgrade you.

How you actually pay

human approves

The first purchase emails you a link with the line items and a total. Approve it and the agent continues. On that page you can add credit and set a per-purchase cap; after that the agent spends inside the cap without emailing you, and anything larger comes back for approval.

There is no card on file. There is a balance you put there and a ceiling you chose, and you can empty or revoke either at any time.

Why a wallet rather than charging a card per item: card fees on a $14 domain are roughly 25–35% of the gross margin. One top-up amortises the fee across many purchases. The economics and the authorisation model happen to want the same design.

Machine-readable

Pricing questions

Why is .com below your own cost?

Because Cloudflare sells it at cost and an agent reads the number. Our wholesale price is about $11.50; we charge $10.44. Matching them is a deliberate loss of roughly a dollar per .com per year, funded by the hosting and database subscriptions some of those customers start. If that stops working we will raise the price rather than quietly absorb it.

Do renewals cost more than registration?

No. Renewal price equals registration price, for every TLD. The cheap-first-year-then-triple pattern is the single most common dark pattern in this industry and an agent quoting its user a price should be able to trust it.

What happens when a free workspace exceeds its quota?

It throttles. It does not generate a bill. The free plan is metered and enforced, not metered and invoiced — the same promise as the wallet cap, applied to our own service.

What happens when a paid workspace runs out of wallet balance?

An explicit ladder, stated up front: a warning email at under 30 days of runway, then a 7-day grace period with the app still up, then suspend with a 503 and data retained for 30 days, then delete. We will not silently delete your data and we will not silently keep billing.

Are these prices machine-readable?

Yes — /pricing.json, and the live API returns a firm quote per domain from GET /v1/domains/search. The table on this page is generated from the same numbers the control plane charges, and the site build fails if the two disagree.

Is there a cold start?

Yes, on the free plan and the standard app plan: apps scale to zero, so the first request after an idle period takes a couple of seconds. That is fine for a personal tool and not fine for something customer-facing, so there is an always-warm plan that keeps one instance running. We would rather sell the difference than hide it.

Why are the hosting prices missing?

Paid plan prices and allowances are being revised and are deliberately not published here yet. Our own pricing review found the previous draft promised more included bandwidth than the price covered — a plan has to be break-even when a customer uses 100% of what we sold them, and that one was not. Publishing a number we would then have to walk back is exactly what our no-bait rule exists to prevent, so the number waits until it is right. Domain prices below are settled and firm.

The domain table above is settled. The paid plan ladder is not, and a placeholder we will replace once is less damage than a price we would have to raise later.

Is there a fee to leave?

No. No export fee, no cancellation fee, no retention flow. The repo is a plain git remote, databases dump with pg_dump, DNS exports as a zone file, and billing history exports from the ledger — at any time, including while a workspace is suspended for non-payment.