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.
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
- 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.
- 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.
- 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.