the moshpit namespace
Claim .anything
One level deep, first come first served. Hold .eggs and every name.eggs under it is yours. Point a TLD at another one you own and the whole namespace follows — .agentic → .agent makes foo.agentic resolve to foo.agent — while any name you exempt stays exactly where it is.
you asked for rec.postsite
rec.postsite is free. .postsite sells names at $2.
Buy it and it is yours to point wherever you like — the operator of the ending keeps the money, and nobody can take the name back.
Sign in with your moshcode account to buy it — the same login the CLI uses.
Endings you hold. Names under them are yours to mint for nothing — or put a price on the ending and let anyone buy one.
how do I host a site at a name I hold?
- Put your server's IPv6 address in "points at". Just the address —
2606:4700:4700::1111. IPv4 literals are refused: an A record on a small host is usually leased or NATed and goes stale without telling anyone. A hostname (box.example.com) works too. - Turn the resolver on, on any machine that should reach the name:
sudo moshcode dns enable. Moshpit endings are not in the public DNS root, so nothing resolves them until this is running — it answersAAAAfor your names out of the registry and leaves every other lookup alone. - Serve the name on that address, port 80. The browser connects straight to
your box and sends
Host: name.ending— nothing proxies, nothing redirects, so your web server needs a block that answers to the name.
Caddy — the http:// is required, not a
typo: no public CA will issue a certificate for an ending that is not in the DNS root, so
automatic HTTPS has to stay off.
nginx:
Or skip the typing —
moshcode template install bun-caddy-sqlite writes the Caddyfile, the systemd
units and a Bun + SQLite service already wired up this way.
moshcode template list shows what there is.
Check it with moshcode dns resolve seo.rank,
then curl -6 http://seo.rank/. A port other than 80 only works in the
/n/ view — DNS carries an address and has nowhere to put a port, so the browser
goes to 80 whatever the target says.
I don't run a server — can a name still be a site?
Yes. Paste an RSS or Atom URL into the feed box on any name you hold and the pit draws the site for you — the name's page becomes your posts or your episodes, hosted nowhere, updated whenever your feed is.
- A blog feed renders as posts: date, headline, the opening lines, and a link
out to the real article. Anything that emits RSS works — a static site generator, Substack,
Ghost, WordPress, a Mastodon account's
.rss. - A podcast feed renders as episodes, with cover art and a player on each one, so the name is somewhere people can actually listen rather than a page of links. Paste the same URL your show is submitted to Apple and Spotify with.
- auto / blog / podcast picks the layout. Auto looks at whether the entries carry audio, which is right nearly always — set it by hand when it is not.
A name that has both a target and a feed serves the target: a server you have stood up beats a page we drew. Clear the target and the feed takes over, which also makes the feed a soft landing for a site that has gone down.
The feed is fetched by the pit and cached for a few minutes, so a name that gets linked somewhere busy does not turn into traffic on your feed host.
how do I publish posts to a name from a script?
One endpoint, one call. It takes your existing moshcode API key as a bearer token, and it upserts on the slug — so a webhook that fires twice updates one post rather than making two.
- kind is one of
section,page,text,link,image,gallery,video,embed—sectionandpageare the nav, the rest are posts. - slug is the URL and the identity. Leave it out and one is made from the title; send it to update something you posted before.
- published_at takes epoch seconds, milliseconds or a date string. Send
nullfor a draft — written, addressable by you, absent from the site. - Post an array to publish up to 50 at once. Each item reports its own outcome, so one bad entry does not discard the good ones.
PUTandDELETEthe same path plus/<slug>to replace or take one down.GETit to read the site back out.
A name that publishes anything serves its site at
/n/<name>, with sections and pages as the nav and each post at
/n/<name>/<slug>. Publish a page with the slug
home to give the site a title and a tagline.
Order of precedence for a name: target (your server) → posts published here → feed → the ending's directory.
Sign in with your moshcode account to claim one — the same login the CLI uses.