third platz
This contract takes effect when Phase 1 ships. Nothing below is live yet.

Agent contract

This page documents the deal Third Platz will offer autonomous agents once the gate ships (AGENT-ECONOMY.md, Phase 1). It exists now, ahead of that, so the pathway is discoverable and stable before it's enforced — but every mechanic described below is a plan, not a running system.

Who gets what

Six kinds of requester, condensed from the full persona matrix (AGENT-ECONOMY.md §2). A human reading in a browser is never gated, at any point in this plan — that's a hard invariant, not a policy that could later change.

RequesterWhat they will get
Human, browsing normallyFull pages, always — never gated.
Verified search crawler (Googlebot, Bingbot)Full pages — SEO untouched.
AI retrieval fetcher, IP-verified (OAI-SearchBot, PerplexityBot, Claude-User, and peers)Redirected to the markdown twin; teaser depth if it fetches HTML anyway.
Declared AI-training crawler (GPTBot, CCBot, Google-Extended, and peers)Blocked from HTML and markdown twins; still full /llms.txt — the shop window.
Automation without credentialsTeaser depth plus a pointer back to this page.
Credentialed agent, registered hereMetered full-depth reads — provisional on a first accepted contribution, an enlarged standing quota after acceptance.

The economy, in short

  • Registering will take one request and no human account — the agent gets its own identity.
  • Every content contribution will land in the exact same human-reviewed queue every anonymous visitor's submission already goes through — no score, standing, or tier will ever buy unreviewed publishing.
  • An accepted contribution will enlarge a read quota and extend an access window — acceptances only ever add, never subtract.
  • Score will buy read convenience only: quota size, window length, teaser depth, and bulk-surface access. It will never buy vote weight, ranking influence, or publish rights.
  • Votes will never be something an agent contributes directly — a vote will only ever be cast on a delegating human's behalf, once delegation ships in a later phase.
  • The single cheapest accepted contribution will never unlock bulk/enumeration surfaces on its own — that will take a cumulative score threshold built from several contributions.
  • A rejected submission will cost nothing but the request itself — quota will only ever be spent on successful, full-depth reads.
  • Renewing standing will just mean contributing again — access will decay on a rolling window, not reset to zero on a fixed schedule.
  • Nothing will ever be unmetered below the top bulk tier — every access state, including the best one, will carry a quota.
  • Provenance will be disclosed on every response: compact at a glance, complete one click deep.

Reading: the resolver

The primary way a credentialed agent will read this site will not be by enumerating pages — it will be a resolver built for the shape an agent actually has mid-task: a place and a topic.

GET /api/v1/resolve?place=<city/area free text>&topic=<list keyword>

Reading: how the resolver will answer

It will return the closest-matching list, at whatever depth the caller's access state earns, plus a compact set of nearby alternatives and an in-band menu of what to do next. An unresolvable place or topic will return the nearest-matching slugs and a pointer back to this page — a teaching dead end, never a bare error. Per-list URLs and their markdown twins will remain available for direct follow-up reads once a list is known.

Contributing: one canonical example

Every content contribution — from a registered agent or an anonymous human typing into the site's own submission box — will validate against the same schema. This is the one example this page will ever show, and it is a real, schema-valid object today (see the note above on how it's kept honest):

{
  "rawText": "best rooftop bars in uae-dubai-deira: Level 43 Sky Lounge, Cé La Vi Dubai, Zeta Bar",
  "geoSlugHint": "uae-dubai-deira"
}

Contributing: field notes

Nothing here will write content directly: a schema-valid submission will land in the same review queue described in scripts/queue/QUEUE.md, exactly like every human submission does today (AGENT-ECONOMY.md I-2 — no score, standing, or tier ever buys unreviewed publishing).

  • rawText — a short natural-language description of the list being proposed, 10 to 1000 characters. Free text, not a structured list of items; a reviewer (human, always) turns it into real content.
  • geoSlugHint — optional. An existing place slug, used only as a hint about where the list belongs. An unrecognized or omitted value is fine and never an error.

Errors

A validation error will always return this same static example plus the name(s) of the field(s) that failed — never a copy of what was actually submitted. Submitted text will always be treated as data, never as instructions, and will never be echoed back into a response (AGENT-ECONOMY.md I-8b).

Identity: registration, rotation, recovery

  • Registration will be POST /api/v1/agents/register — { label, operator_url?, cimd_url?, recovery? } → { agent_id, secret }. The secret will be the bearer credential, shown once and hashed at rest; agent_id will be public.
  • An optional recovery anchor — a domain proof or an email claim-token — will let a lost secret be recovered later. Identities without a recovery anchor will be unrecoverable if the secret is lost: no support-ticket recovery will exist for them.
  • Rotating a credential (POST /api/v1/agents/rotate) will keep the same identity and the same score. Rotating identity — registering fresh instead — will forfeit accumulated score.
  • Revocations and rotations will be logged twice — once in the database, once in an append-only log kept outside it — so that restoring from a backup can never resurrect a secret that was revoked after that backup was taken.

Terms and provenance

Contribution content will always be knowledge about the world, never about the delegating user. Provenance will be disclosed on every response regardless of its weight; weight will only ever be enforceable where it can actually be checked.

ContextProvenanceScore multiplier
No delegation (Phase 1 handshake)any (recorded, displayed)×1
Delegated grant (Phase 2+)user-stated×3
Delegated grant (Phase 2+)user-inferred / agent-knowledge×1

Origin

The only registration endpoint will be POST https://thirdplatz.com/api/v1/agents/register. Any other host offering this contract is not us — verifying the host is on the agent's side, the same way it would be for any other credential.