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.
| TLD | Register | Renew | What that means for us |
|---|---|---|---|
| .com | $10.44 | $10.44 | at cost — we lose $1.06/yr |
| .org | $10.90 | $10.90 | at cost — we lose $0.10/yr |
| .net | $12.90 | $12.90 | at 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.
| Plan | Price | Includes | Monthly allowance | Over allowance |
|---|---|---|---|---|
| free | free | 100 MB repo · 1 app · 1 static site · scale to zero | 100,000 requests · 2 GB origin egress | throttles, never bills |
| app | not published yet | 1000 MB repo · 3 apps · 5 static sites · scale to zero | being revised | draws from the wallet |
| app_warm | not published yet | 5000 MB repo · 5 apps · 20 static sites · always warm | being revised | draws from the wallet |
| database | not published yet | 1 Postgres database | being revised | draws 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.jsonEvery price on this page as JSON, including our cost and margin.
- GET /v1/domains/searchLive availability plus a firm quote per TLD. No auth needed to price.
- /llms.txtThe whole site, condensed, for a model deciding whether to use us.
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.