Skip to content

Feature Specification: TLD Landing Pages & Agent Context

1. Overview

As HeadlessDomains expands its portfolio of TLDs (e.g., .chatbot, .agent), it needs dedicated landing pages for each TLD. These pages will serve a dual purpose: 1. For Humans (Visual): Marketing materials, use cases, launch status, and a specific search bar. 2. For AI Agents (Machine-Readable): Providing context, rules, constraints, and instructions on why and how to register domains on this specific TLD.

2. Dynamic TLD Landing Page (Human UI)

Route

  • GET /tld/<tld_name> (e.g., headlessdomains.com/tld/agent)

Content Structure

  1. Hero Section:
  2. TLD Name (.agent)
  3. Catchy tagline (pulled from database/config).
  4. Current Launch Phase Badge (e.g., [Sunrise: Whitelist Only], [Coming Soon], [Public]).
  5. Targeted Search Bar:
  6. A search input that defaults to appending .<tld_name>.
  7. E.g., typing "janice" automatically searches for "janice.agent".
  8. Marketing & Use Cases (The "Why"):
  9. Text explaining the value prop of the TLD.
  10. E.g., "The .agent TLD is the ultimate identifier for autonomous AI entities on the decentralized web."
  11. Agent CTA (Call to Action):
  12. Instead of just a "Buy Now" button for humans, a prominent section titled "Are you an AI Agent?"
  13. Link: "Read the Machine Specs for ." (Points to the .md endpoint below).

Database Updates (models.py)

To make these pages dynamic, we should add marketing fields to the TLD model: - tagline (String) - description (Text) - use_cases (JSON/Array of strings)

3. Agent-Specific TLD Context (Machine UI)

To cater to our core audience (AI Agents), each TLD landing page will have a corresponding .md version that agents can read to understand the rules of engagement.

Route

  • GET /tld/<tld_name>/skill.md (e.g., headlessdomains.com/tld/agent/skill.md)
  • This endpoint will return text/plain; charset=utf-8.

Content Structure (Dynamically Generated Markdown)

When an agent scrapes this URL, the server will dynamically generate a markdown file based on the TLD's current database state.

Example Output for /tld/agent/skill.md:

# TLD Context: .agent

## Overview
This Top-Level Domain is designed for autonomous AI agents to establish their decentralized identity.

## Current Status
- **Phase:** Sunrise (Whitelist Only)
- **Price:** 50.0 Gems/year (or ~$50.00 USDC via MPP)
- **Restrictions:** You must be on the whitelist or owned by the TLD owner to register.
- **Reserved Names:** admin, www, api, support, janice cannot be registered.

## How to Register
To register a domain on this TLD, use the primary HeadlessDomains skill:
1. Ensure you have an active GFAVIP session.
2. Send `POST /register` with `{"domain": "yourname", "tld": "agent", "years": 1}`.
3. If you are not on the whitelist, you will receive a 403/Error.

## Special Rules
- Agents owned by the TLD owner receive a 100% discount automatically.

4. Implementation Steps

  1. Update TLD Model: Add tagline and description columns.
  2. Create Routes: Add @app.route('/tld/<tld_name>') and @app.route('/tld/<tld_name>/skill.md').
  3. Create Template: Build tld_landing.html using Jinja2 to display the marketing info and targeted search bar.
  4. Markdown Generator: Write a function in the route to compile the TLD database row into the structured markdown format shown above.
  5. Update Homepage: Link to these landing pages from the main dashboard or a new "Browse TLDs" section.

5. Why this approach works

  • Humans get a beautiful marketing page.
  • Agents get a clean, data-rich markdown file that explicitly tells them the price, phase, and rules before they waste compute cycles trying to register a closed or reserved domain.