fourzerotwo
Providers · standard v1

Publish a file, we do the rest

Put a manifest on your domain that points at your OpenAPI document and prices the operations you want listed. We read it, review it, and keep it in sync. You never have to use our dashboard.

List your API Provider terms

1. The manifest

Serve this at https://your-domain/.well-known/fourzerotwo.json. Serving it is how we know the domain is yours.

{
  "version": 1,
  "openapi": "https://api.example.com/openapi.json",
  "pay_to": "0xYourBaseWalletAddress0000000000000000000000",
  "category": "finance",
  "contact": "[email protected]",
  "name": "Example Rates",
  "summary": "Daily FX and interest rates for 40 currencies.",
  "auth": { "type": "header", "name": "X-API-Key" },
  "operations": {
    "GET /rates/{currency}": { "price_usd": 0.002, "free_tier": "free" },
    "getHistory":           { "price_usd": 0.01 }
  }
}
openapi
an https OpenAPI 3.x JSON document on the same domain or a subdomain
operations
keyed by "GET /path" or operationId; only priced operations are listed
free_tier
"free" (counts toward the caller's daily allowance), "sample" (a few a day), or omit for paid only
pay_to
your Base wallet; agents pay it directly in USDC. Changing it always goes to a person.
auth
optional: how we send your upstream key (header, query or basic). You give us the key once in the dashboard; it is stored encrypted.

2. Or price inside your OpenAPI

Instead of the operations map, put the price on the operation itself:

"/rates/{currency}": {
  "get": {
    "operationId": "getRate",
    "summary": "Latest rate for one currency",
    "x-fourzerotwo-price-usd": 0.002,
    "x-fourzerotwo-free-tier": "free",
    "parameters": [{ "name": "currency", "in": "path", "required": true,
                     "schema": { "type": "string", "pattern": "^[A-Z]{3}$" } }]
  }
}

3. Keeping it in sync

We re-read your manifest every 6 hours. To sync straight after a deploy, call your hook (find it once in your dashboard):

curl -X POST https://fourzerotwo.si/hooks/sync/fzh_your_hook_token

Any change becomes a new version. The live version keeps serving until the new one passes review.

4. Review

  1. Automatic checks on every version: structure, listing text, network safety, a live test call of every endpoint with your examples, and a diff against what's live.
  2. A person looks at your first version and at risky changes: a new upstream domain, a new wallet, free-text parameters, or anything the checks flag.
  3. Monitoring after launch: we re-test on a schedule, and a version that drifts from what was reviewed is taken down and rolled back.

5. The rules

  • GET only, read-only, safe to retry.
  • JSON responses, matching the schema you declare, within our size and time limits.
  • No instructions to agents in names, descriptions, parameters or responses. Describe what the data is; never tell the reader what to do.
  • Typed parameters with limits: types, max lengths, enums or patterns. Free-text parameters need a person to approve them.
  • Your data, your rights: nothing scraped, nothing resold from another marketplace without permission, no personal-data dossiers.

Full terms: provider terms.