Domains for agents.
Your agent registers domains and serves their DNS through an API, a CLI and an MCP server. Nothing here is bought or changed in a browser.
Paste it into Claude Code, Codex, Cursor or your own agent. It installs the CLI, signs you in and registers the MCP server.
install.sh · whydot login · claude mcp add whydot · whydot domains list
Set up whydot (https://whydot.com) for me. whydot is an agent-native domain registrar: an HTTP API at https://api.whydot.com/v1, a CLI called `whydot` and an MCP server called `whydot-mcp`. One script installs both clients. 1. Install: curl -fsSL https://whydot.com/install.sh | sh It needs Node.js 20 or newer and links `whydot` and `whydot-mcp` into ~/.local/bin. If it says that directory is not on PATH, add it. 2. Sign in: whydot login --email <my address> It emails me a six-digit code. Ask me for the code and type it in. Never ask me to paste an API key and never print one; the CLI stores the key itself. If it says the address is not attached to an account yet, run `whydot accounts create --slug <short-name>` and tell me the slug you chose. 3. Connect the MCP server to your own harness as a stdio server whose command is `whydot-mcp` (in Claude Code: `claude mcp add whydot -- whydot-mcp`). 4. Read back what the account holds: whydot domains list --json Done when `whydot domains list --json` returns without an auth error and the MCP server answers tools/list. Then tell me how many domains the account holds and the earliest expiry date. Do not register, renew or pay for anything in this task.What is actually there
One contract, three surfaces
API
The product itself. Versioned at /v1, described by its own OpenAPI document, with an idempotency key on every call that spends money.
POST /v1/domainsCLI
A thin client over the API. Sign-in is an email code typed in the terminal; no browser is involved at any point.
whydot domains listMCP
The same operations as tools your agent calls directly. Nothing exists in one surface and not the others.
list_domainsRegistering a domain, in full
- Ask whether it is free, and what it costs. whydot domains check --name acme.dev
- Say who the registrant is, once. whydot contacts create ICANN requires a real name, address and phone. They are yours, not ours.
- Track it in the account. whydot domains track --name acme.dev Spends nothing. Registration is a separate call, so nothing is bought by accident.
- Top up the balance. The one step that needs a browser: card payments need strong customer authentication, so we hand you a hosted Checkout link rather than pretending an agent can do it. Signing in needs you too, but only to read a six-digit code out of your mail.
- Register it. whydot domains register acme.dev --idempotency-key $(uuidgen) Spends money. The key means a retry cannot buy it twice.
- Serve its DNS. whydot dns plan then dns apply. Records are a whole-zone desired state, not one row at a time, so a plan shows you the change before it happens. The registrar creates a hosted zone when it registers the name, and dns plan resolves that zone rather than creating one — with no zone it refuses instead of guessing; dns connect and dns bind are for serving from your own Cloudflare account instead, and that is the one other place you would open a browser — to mint the token Cloudflare only shows in its dashboard.
Your agent does every one of these through MCP instead, with the same operations and the same idempotency guarantee. The top-up is the exception and it is deliberate: it is the one point where the card network wants a person, and we would rather say so than hide a browser redirect inside a command.
What it costs
| Domain | Registrar cost | Your price | Margin |
|---|---|---|---|
| .com | $16.00 | $19.20 | $3.20 |
| 398 morepriced from the same live book | — | whydot prices | — |
One price per domain, no subscription to read it. The quote names the registrar's cost and your price separately before you commit, for every TLD the registrar sells, so the margin is a number you check rather than a claim you take. whydot billing show prints the ledger of what you were charged.
What it does
- Availability checks and price quotes per TLD
- Registration, billed per domain
- Auto-renew on by default, so a domain does not lapse while nobody is watching
- DNS records on a managed zone, or on your own Cloudflare account
- Cost and price side by side on every quote, for every TLD the registrar sells
- Scoped API keys, read-only ones included
- Not yet: a premium marketplace. Buying and selling existing names is being built. It will appear here when it works.
- Not yet: branded registrar mail. You are the registrant of record, so ICANN and registrar mail reaches you directly from Amazon Registrar.
- Never: buying or editing from this website. The console is read-only. Every change goes through the API, the CLI or the MCP server.
You own the domain, not us
- Registrant
- Youyour name and address on the record, not a whydot holding entity
- whydot
- Your Designated Agentwe act on the registration; we do not hold it
- ICANN mail
- Goes to youdirectly, from Amazon Registrar today
- Transfer out
- Yours to startyou start it at the registrar; being the registrant is what makes that possible
- Auto-renew
- On by defaultso a domain does not lapse while nobody is watching
- If we vanished
- You keep the domainit was never registered to us
Questions
- Can I buy one on this site?
- Noand there is no plan to add it; the console is read-only on purpose
- Do I need an agent?
- Nothe CLI is a normal terminal program; the agent part is that it is built for one
- Is there a browser sign-in?
- Nowhydot login emails a six-digit code you type in the terminal. The only browser step is topping up, where the card network requires a person
- Where is the API described?
- api.whydot.com/v1/openapi.jsonthe CLI, the SDK and the MCP tools are generated from it
- Which agents work?
- Any that speak MCPClaude Code, Codex, Cursor and others; the server is stdio
- Can I self-host?
- Nothe service is hosted; the client is open and points at it by default