Protocols & identity
Agent-native web
A public design paradigm for agents as first-class web visitors and workers—not the old anti-bot arms race.
Agent-native web - a new paradigm (not the old anti-bot path)
AgentNet is not asking the internet to "tolerate scrapers better." We are defining a new public paradigm:
Agents are first-class visitors and workers on the web - identifiable, permissioned, and auditable - the same way humans are first-class signed-in users. Websites should be easy for agents to use correctly, and verification should ask which accountable agent is this? instead of only are you human-shaped?
This paradigm is unfinished on purpose: AgentNet cannot complete it alone. Site owners, identity providers, browser vendors, MCP publishers, and enterprises must adopt shared patterns. The sections below are the public design guide for that ecosystem work.
Why the old model fails
| Old default | What it optimizes for | What breaks |
|---|---|---|
| Treat all automation as hostile | Stop anonymous abuse | Legitimate AI employees cannot complete normal work (forms, checkout, support, research) |
| CAPTCHA / JS challenges as the only gate | "Prove you look human" | Agents are not humans; steeplechase bypass races waste everyone and still fail accountability |
| HTML-only product surface | Human eyes and mice | Agents reverse-engineer pages; brittle, expensive, and hostile to both sides |
| No agent identity | IP / User-Agent heuristics | Providers cannot allowlist good agents or ban bad ones with precision |
AgentNet does not publish "how to defeat Cloudflare." That is the old arms race. The new path is: sites invite accountable agents in, and agents present AGIN.
How websites should be designed for agents
Design for two equal clients of the same product: humans and agents. Humans keep great UI. Agents get a stable command surface - not a scrape hobby project.
1. Dual surface (required mindset)
| Surface | For | Shape |
|---|---|---|
| Human UI | People | Pages, flows, accessibility, progressive enhancement |
| Agent surface | Agents | Documented tools/commands (HTTP, MCP, or AHCP package) with JSON schemas and receipts |
Same business capabilities on both surfaces. Different I/O - exactly the AHCP axiom applied to websites.
2. Prefer capability endpoints over "only DOM"
- Publish machine-callable operations for the jobs agents actually do: search catalog, create ticket, book slot, place order, fetch invoice status, submit form intent.
- Return structured outcomes (JSON + error codes), not only a new HTML page.
- Version those operations; do not break agents by renaming CSS classes.
- If you only have HTML today, still publish an agent-facing contract you will grow into - do not force every agent to reverse-engineer your markup forever.
3. Make agent journeys explicit
- Document happy paths as step lists an agent can follow (like human help center articles, but machine-checkable).
- Expose idempotency keys, request ids, and clear retry rules.
- Expose progress and cancel for long jobs (agents need the same "I can see it running" humans get from spinners).
4. Accessibility helps agents too
- Semantic HTML, labels, stable roles - good for humans with assistive tech and for agents reading structure.
- Do not rely on color-only or canvas-only critical flows without a structured alternative.
5. Separate abuse defense from product access
- Keep strong defenses against anonymous flood and fraud.
- Offer a first-class authenticated agent path that does not require "prove you are human" when the agent already presents accountable identity and policy.
How agent verification should work
Future verification for agents is not "harder CAPTCHAs." It is identity + authorization + audit.
| Layer | Question answered | Public pattern |
|---|---|---|
| Agent identity | Which agent is calling? | AGIN identity card on every call |
| Customer / account | Which human or org is this for? | Caller-supplied product credentials, OAuth, or session - separate from AGIN |
| Authorization | Is this agent allowed to do this action? | Scopes, allowlists, rate limits, sensitivity tiers |
| Evidence | What happened? | Receipts / audit rows: AGIN + action + outcome + time |
| Human escalation | When must a person decide? | High-risk actions pause for human approval (projection / review) - not a CAPTCHA theater for every GET |
Recommended provider policy (ecosystem)
- Anonymous automation - default-deny or strict challenge (legacy abuse path).
- AGIN-bearing agents - allow by policy: rate limit, scope, and audit; prefer this path for real work.
- Unknown high volume without AGIN - challenge, throttle, or block.
- Sensitive mutations - require stronger auth + optional human approval, even for known agents.
AGIN answers which agent. Your API keys and sessions still answer which customer account. Do not collapse the two.
What good verification looks like for builders
- Accept AGIN presentation on HTTP and MCP
tools/call(see public AGIN examples on this site). - Log AGIN + tool name + result for dispute and security review.
- Publish allow/deny reasons agents can understand (
auth_required,scope_denied,rate_limited). - Never require agents to solve human-only puzzles when they already hold a valid agent identity and permission for that action - unless you are explicitly defending an anonymous edge.
Open ecosystem: roles (AgentNet does not own the whole web)
| Who | What to contribute |
|---|---|
| Website & SaaS owners | Ship agent surfaces (API/MCP/AHCP), AGIN-aware gates, structured errors, receipts |
| MCP / tool publishers | List connectors in the MCP market; require AGIN; document credentials clearly |
| Desktop software vendors | Publish AHCP command packages so agents use apps without UI reverse-engineering |
| Enterprises | Policy: which agents may call which sites; human approval chains for money and irreversible actions |
| AgentNet | AGIN meaning, AHCP protocol, MCP market rails, reference samples, public docs - not a monopoly on every website |
If you only build anti-bot walls against anonymous clients, you stay in the old world. If you add an accountable agent entrance, you help invent the new one.
Honest boundary today
- AgentOS X can drive a full Chrome command surface for agent work (AHCP Chrome sample).
- Legacy sites that only offer anonymous HTML + hostile challenges will still block automation - that is expected under the old paradigm.
- The strategic fix is site and verification redesign, not an endless bypass contest. This docs page is the invitation for the ecosystem to build that entrance together.
Entrance wire contract (engineering)
End-state HTTP/MCP entrance fields. Full machine contract: entrance.json.
Required AGIN headers (HTTP)
| Header | Required | Meaning |
|---|---|---|
x-agentnet-agin-id | yes | Public agent identity card id |
x-agentnet-agent-principal | yes | Agent principal for policy/logs |
x-agentnet-call-id | yes | Idempotent call id |
x-agentnet-org-id | no | Optional org context |
Customer/product credentials remain separate (Authorization: Bearer ... or product API keys).
Stable error codes
agent_web.agin_required · agin_invalid · account_required · scope_denied · approval_required · rate_limited · anonymous_blocked · invalid_argument · not_found · conflict - see entrance.json for HTTP hints and envelopes.
Worked examples
Create support ticket (agent entrance)
curl -sS -X POST https://api.example.com/agent/v1/support/tickets \
-H 'content-type: application/json' \
-H 'authorization: Bearer <customer_token>' \
-H 'x-agentnet-agin-id: agin_01HEXAMPLE' \
-H 'x-agentnet-agent-principal: agent:support' \
-H 'x-agentnet-call-id: call_01HEXAMPLE' \
-d '{"subject":"Cannot login","body":"User reports 401 on SSO"}'
Success envelope (illustrative)
{
"ok": true,
"code": "agent_web.ok",
"request_id": "req_01HEXAMPLE",
"data": { "ticket_id": "t_123", "status": "open" },
"receipt": {
"agin_id": "agin_01HEXAMPLE",
"action": "support.create_ticket",
"outcome": "created",
"at": "2026-07-11T00:00:00Z"
}
}
Denied without AGIN
{
"ok": false,
"code": "agent_web.agin_required",
"message": "Present x-agentnet-agin-id on agent entrance routes",
"request_id": "req_01HEXAMPLE",
"retryable": false
}
Machine-readable downloads
paradigm.json · entrance.json (wire contract)
curl -sS https://docs.aiagentnet.cloud/agent-web/v1/paradigm.json | jq '{version, summary, site_design_principles}'
curl -sS https://docs.aiagentnet.cloud/agent-web/v1/entrance.json | jq '{version, identity_headers, error_codes: [.error_codes[].code], conformance_checklist}'
Related: AGIN · AHCP · Build MCP connectors · Use MCP connectors.