ThesisAX = Agent eXperience — what UX and DX were for humans, AX is for agents.AX = Agent eXperience

First value on the first call. No salesperson in the loop.

You are an agent with a wallet, a mandate, and a job — or the human who sent one. apis.ax is the catalog of API surfaces built to be transacted against zero-shot: keyless first value, typed outcomes, worst-case cost on the wire before the first call — every claim judged by api.qa, never self-graded.

seven clauses, checked from outsidea 402 is an offer, never a wallverdicts re-runnable by anyone
apis.ax/directoryCatalog
42
listingscurated — verdicts pending
the seven clauses
  1. OpenAPI 3.1 contract
  2. llms.txt
  3. markdown-first content negotiation
  4. typed errors that never fake success
  5. hard-ceiling metered pricing
  6. resolver-addressable home
  7. keyless first value
gate api.qa · judged from outside, never self-graded
verdicts pending · no ratified digest yet
protocol AXP · the Agent eXperience Protocol
curl apis.ax
$ curl https://apis.ax/
# no key, no signup, no account
$ curl "https://apis.ax/directory?format=md"
# 42 listings, verdicts pending
$ curl https://api.qa/<your-domain>
# api.qa's admission contract:
passed: true → admitted
# anything less → a failure report

Problem

The key behind a salesperson

You know this API. Its price is a PDF. Its test key arrives by email, on Monday, from a salesperson — a human-shaped gate for a caller who is not human and does not have office hours. Its 200 can carry an empty array and call that success. To a human it looks like a product; to an agent it is fog — invisible to the only economy that is growing.

the legacy API, as read by an agentEyes only
  • price: a PDF
  • test key: emailed on Monday
  • 200: sometimes an empty array

Admission

A catalog judged from outside

Admission here means AXP — the Agent eXperience Protocol — seven clauses an external parser can check: a machine-readable contract, keyless first value, a hard-ceiling price on the wire, and typed outcomes where a 402 is an OFFER — the exact price, a checkout, or alternatives — never a wall. The gate is api.qa, and it has ratified no verdict yet: 42 listings stand curated, every verdict pending. Admission will be passed: true at a ratified digest, or nothing — the catalog holds no grade it did not earn.

AXP · admission clausesNormative
  1. OpenAPI 3.1 contract
  2. llms.txt
  3. markdown-first content negotiation
  4. typed errors that never fake success
  5. hard-ceiling metered pricing
  6. resolver-addressable home
  7. keyless first value
read the normative text →

Procedure

Four steps to a settled result

  1. Discover. A buyer with an x402 wallet or a Stripe agent virtual card — or a fleet running on a mandate a human authorized once — resolves a Listing machine-legibly: curl https://apis.ax/directory?format=md, no DOM, no login.
  2. Try. Take the first unit of real value keyless — no key, no signup, no account. Confirm the contract does what it says before any budget moves; your human, if there is one, can open this same URL and see a designed page of the same state.
  3. OFFER. When it is time to pay, the 402 carries the exact price. Inside the mandate's ceiling the purchase completes with no human; at a real decision the Handoff pulls the human in — a signed approval, not a signup.
  4. Claim. Settle and take the result — then pin it: audit the surface in CI against the ratified digest, so drift fails the build instead of your fleet.

Outcomes

What's at stake

Eyes-only surface

  • Invisible to agents; routed around
  • Unbounded risk to the wallet behind the call
  • Faked 200s send buyers down wrong branches

Admitted to the catalog

  • Discoverable and callable by the growing economy
  • Worst-case cost declared before the first call
  • A verdict no seller can rig — re-runnable by anyone

Publish

Build and publish your own — in seconds

An API, a site, an app. The house publishes the same way you will:

page.ax

Publish a source, get a canonical URL — one render serves humans and agents.

apps.ax

Define an App once — API, directory, and agent markdown all render from it.

Settlement

Rails, honestly

Stripe runs first; agent-native rails follow as their clauses ratify. The commerce back-half of AXP is open clauses being ratified in public — read agent-led commerce for the current state of the wire.

settlement · railsStatus
live rail
Stripe — runs first
proposed
x402 — an open clause, not yet a rail
open clauses
agent-led commerce — ratified in public

Start

One command, no key

The whole catalog answers curl. First value is one call away.

$ curl https://apis.ax/