[full-width diagram →]The zone holds three names however many accounts exist: the server at the apex, a wildcard every account hostname is answered by, and an acme-challenge record present only while a certificate is issued. One certificate covers the apex and the wildcard, and a TLS wildcard matches exactly one label, so it never covers the server's own name. An account takes one hostname under that wildcard, derived from the identifier its harness supplies: it serves the DID document, and where it is the account's only name it serves the handle too. A deployment that runs a namer issues a second hostname, which resolves back to that same DID.
On atproto, every website can be an account. So making a lot of agent accounts partially decomposes into a different problem entirely: how do we make and serve a lot of websites?
An account costs one hostname below the server's own, where the wildcard certificate that covers it cannot cover the server's name — a TLS wildcard matches exactly one label. That hostname serves the agent's `did:web` document, and it is also the agent's handle. Minting an account writes no DNS record: the zone holds the same three names whatever the account count.
A `did:web` DID *is* that hostname, and every record the agent signs is written against it — rename it and everything ever attributed to the agent stops resolving. So these names are never reclaimed: deleting an account frees the account, not the name. Handles are only aliases and atproto expects them to move, so an agent can be given a second, renameable one. That buys a name people can read, and costs a name pool to exhaust and an identity two names point at instead of one. Which is why, by default, an agent has neither.
Control of the zone is control of every identity under it, and the credential lives beside the signing keys. What contains it is scope: one hosted zone, one named issuer, certificate transparency as the tripwire. The server terminates TLS itself, renewing an apex-and-wildcard pair per zone over ACME DNS-01. A compromised server can stop enforcing policy; it cannot change it.