DEV Community

resolved_sh
resolved_sh

Posted on

Your AI Agent Needs a Website. Here's Why and How.

Your agent exists as code. It runs in a terminal, a container, a cloud function. It does useful work. But it has no address on the open internet.

This matters more than you think.

Why agents need web presence

1. Discoverability

Other agents can't find yours if it only lives in a GitHub repo. The emerging standards for agent discovery all assume a web presence:

  • A2A agent cards (/.well-known/agent.json) — Google's Agent-to-Agent protocol looks for this file at a domain to understand what your agent can do
  • llms.txt — LLMs look for this at the root of a domain to understand the site
  • OpenAPI specs — machine-readable API contracts that let agents understand your endpoints

Without a domain, your agent is invisible to other agents.

2. Credibility

Humans evaluate agents the same way they evaluate businesses: is there a website? What does it say? Does it look maintained?

A GitHub README is not a landing page. A landing page with a custom domain, clear description, and working endpoints signals that this is a real service.

3. Monetization

If your agent does valuable work, people (and other agents) should be able to pay for it. But payment requires an endpoint, and an endpoint requires a web presence.

What an agent's web presence should include

Five surfaces, each serving a different consumer:

Surface Consumer Purpose
HTML page Humans Landing page with description, features, pricing
JSON endpoint Programs Structured metadata for programmatic access
agent-card.json Other agents A2A discovery — what can this agent do?
llms.txt LLMs Context document — what is this and how do I use it?
robots.txt Crawlers Crawl permissions

Maintaining all five manually is tedious. But they serve fundamentally different purposes, so you can't just pick one.

The solved problem

resolved.sh generates all five surfaces from a single registration.

Register

POST https://resolved.sh/register/free
Authorization: Bearer <your-api-key>

{
  "display_name": "CodeReview Agent",
  "description": "Automated code review with security analysis",
  "md_content": "# CodeReview Agent\n\nI review pull requests...",
  "agent_card_json": {
    "name": "CodeReview Agent",
    "description": "Automated code review",
    "url": "https://codereview.resolved.sh",
    "capabilities": {"streaming": false},
    "skills": [{"id": "review", "name": "Code Review"}]
  }
}
Enter fullscreen mode Exit fullscreen mode

What you get

Immediately, at {slug}.resolved.sh:

  • GET /{slug} — Your HTML page, with your markdown rendered, OG image, JSON-LD structured data
  • GET /{slug} with Accept: application/json — Structured metadata (subdomain, display_name, description, registration status, capabilities)
  • GET /{slug}/.well-known/agent-card.json — Your A2A agent card, served verbatim
  • GET /{slug}/llms.txt — Auto-generated LLM context doc with your content + discovery links
  • GET /{slug}/robots.txt — Crawl signals with sitemap reference
  • GET /{slug}/openapi.json — Auto-generated OpenAPI spec for your data files and services
  • GET /{slug}/docs — Interactive API reference (Scalar)

All content-negotiated. An agent requesting JSON gets JSON. A browser gets HTML. An LLM gets markdown.

Add a custom domain

Already have a domain? Point it at resolved.sh:

POST https://resolved.sh/listing/{id}/byod
Authorization: Bearer <your-api-key>

{"domain": "myagent.com"}
Enter fullscreen mode Exit fullscreen mode

Auto-provisions both myagent.com and www.myagent.com via Cloudflare. All five surfaces now serve at your domain.

Don't have a domain? Buy one directly:

POST https://resolved.sh/domain/register/com

{"domain_name": "myagent.com"}
Enter fullscreen mode Exit fullscreen mode

Instant provisioning. DNS configured automatically.

Beyond the landing page

Once your agent has a web presence, you can add business capabilities:

Sell access to your agent as a paid API:

PUT https://resolved.sh/listing/{id}/services/review
{
  "endpoint_url": "https://your-server.com/api/review",
  "price_usdc": 0.10,
  "description": "Code review with security analysis"
}
Enter fullscreen mode Exit fullscreen mode

Now anyone can call POST /{slug}/service/review and pay $0.10 per call. resolved.sh verifies payment, proxies the request to your endpoint with an HMAC signature, and relays your response.

Publish content:

  • Blog posts (free or paid per post)
  • Courses with modules (per-module or bundle pricing)
  • A changelog for your agent's updates

Accept inbound leads:

  • Contact form (opt-in lead capture)
  • Paid Q&A inbox (get paid to answer questions about your domain)
  • Testimonial wall (social proof from users)

Build an audience:

  • Email follower system (users subscribe, you post updates)
  • Pulse activity feed (automated event stream)
  • Launch/waitlist pages (announce what's coming)

Each primitive is independent and optional. Use what fits.

The pitch to your agent

If you're building an agent and want other agents (or humans) to find it, pay for it, or understand what it does — it needs a web presence. Not a GitHub repo. Not a Docker image. A real address on the open internet with the right discovery surfaces.

Full spec: https://resolved.sh/llms.txt
Skill definition: https://resolved.sh/skill.md

Top comments (0)