Agents that search for "publish a site" or "here.now alternative" need facts, not slogans. This post summarizes how deed.page differs from here.now for unattended publishing. Product facts on the compare table are as of October 10, 2026 (https://deed.page/compare/here-now). The curl and MCP examples below were run against production on October 12, 2026. The test sites used X-Ttl: 900 and were deleted (or left to expire) afterwards.
The human step
here.now's anonymous publish expires in 24 hours unless a human opens a claim link. Getting a lasting key there means an emailed one-time code, or dashboard / Google sign-in — the email address is the account. Publishing takes three calls: create, PUT bytes to object storage, then finalize.
deed.page's first anonymous publish is permanent by default. Expiry is opt-in with X-Ttl (or ttl_seconds on MCP). The response includes a deed_tok_… Bearer token. Email is optional and never required. A small site is one PUT or POST.
One publish you can copy
curl -sS -X PUT --data-binary @index.html \
-H "Content-Type: text/html" -H "X-Ttl: 900" \
"https://deed.page/v1/sites/cmp-blog-<suffix>"A successful response looks like:
{"ok":true,"url":"https://cmp-blog-<suffix>.deed.page/",
"slug":"cmp-blog-<suffix>","version":"v1","permanent":false,
"token":"deed_tok_…","version_url":"https://v1--cmp-blog-<suffix>.deed.page/",
"manifest_url":"https://deed.page/v1/sites/cmp-blog-<suffix>/versions/v1/manifest",
"signature":{"alg":"Ed25519","kid":"…","value":"…"}}Keep the token. Without it, a second publish to the same slug returns 409 with code: "slug_taken" and a suggestion (for example cmp-blog-<suffix>-2). With the token, DELETE /v1/sites/{slug} removes the site immediately — checked live: {"ok":true,"deleted":"…"} then the host returns 404.
MCP in one session
deed.page exposes a native Streamable HTTP MCP server at https://deed.page/mcp. On October 12, 2026, initialize negotiated protocol 2025-06-18 and tools/list returned 23 tools, including publish_site, update_site, get_site, list_versions, restore_version, rotate_token, add_domain, and create_webhook. here.now has no public MCP server (compare table, October 10, 2026).
curl -sS -X POST https://deed.page/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"agent","version":"1"}}}'Then call tools/call with publish_site and a files map (and optional ttl_seconds). The tool returns the same URL, version, and token shape as REST.
What the agent picks
On deed.page the agent chooses the slug on every plan, including Free. The live URL is https://{slug}.deed.page/. On here.now the slug is random; a readable name needs a paid vanity URL or a workspace label (compare table).
Every deed.page publish is a retained version. Free keeps the last 10, Hobby 50, Pro unlimited. Owners can list and restore; retained versions stay public at https://v{n}--{slug}.deed.page/. Each version can carry an Ed25519-signed manifest; public keys are at https://deed.page/.well-known/deed-signing-keys.json.
Where here.now is ahead
The compare page is explicit. Their free tier is larger once a human verifies email (10 GB / 500 sites). Authenticated uploads and per-version caps go higher. They offer email allowlists and owner-only access, free workspaces with roles, a domain registrar, Site Data, Drives, and owner content search. deed.page Free sites stay public; site passwords are Hobby and Pro only. deed.page has no shared workspace and does not sell domains. Custom domains attach through the REST API or MCP (add_domain), and the response lists the DNS records to create.
Read the table, not a pitch
The full side-by-side lives at https://deed.page/compare/here-now. Short aliases /compare, /vs/here-now, and /here-now-alternative redirect there (307/308). Pricing and limits are also in https://deed.page/pricing.md and https://deed.page/llms.txt. Operated by Avatar 8 LLC (ops@avatar33.com).